}returng(b,a),b.names=["flex-wrap"],b.prototype.set=function(a,c){vard;returnd=e(c)[0],2009!==d?b.__super__.set.apply(this,arguments):void0},b}(c),b.exports=d}).call(this)},{"../declaration":6,"./flex-spec":25}],28:[function(a,b,c){(function(){varc,d,e,f={}.hasOwnProperty,g=function(a,b){functionc(){this.constructor=a}for(vardinb)f.call(b,d)&&(a[d]=b[d]);returnc.prototype=b.prototype,a.prototype=newc,a.__super__=b.prototype,a};e=a("./flex-spec"),c=a("../declaration"),d=function(a){functionb(){returnb.__super__.constructor.apply(this,arguments)}returng(b,a),b.names=["flex","box-flex"],b.oldValues={auto:"1",none:"0"},b.prototype.prefixed=function(a,c){vard,f;returnf=e(c),d=f[0],c=f[1],2009===d?c+"box-flex":b.__super__.prefixed.apply(this,arguments)},b.prototype.normalize=function(){return"flex"},b.prototype.set=function(a,c){vard;returnd=e(c)[0],2009===d?(a.value=a.value.split(" ")[0],a.value=b.oldValues[a.value]||a.value,b.__super__.set.call(this,a,c)):b.__super__.set.apply(this,arguments)},b}(c),b.exports=d}).call(this)},{"../declaration":6,"./flex-spec":25}],29:[function(a,b,c){(function(){varc,d,e={}.hasOwnProperty,f=function(a,b){functionc(){this.constructor=a}for(vardinb)e.call(b,d)&&(a[d]=b[d]);returnc.prototype=b.prototype,a.prototype=newc,a.__super__=b.prototype,a};d=a("../selector"),c=function(a){functionb(){returnb.__super__.constructor.apply(this,arguments)}returnf(b,a),b.names=[":fullscreen"],b.prototype.prefixed=function(a){return"-webkit-"===a?":-webkit-full-screen":"-moz-"===a?":-moz-full-screen":":"+a+"fullscreen"},b}(d),b.exports=c}).call(this)},{"../selector":44}],30:[function(a,b,c){(function(){varc,d,e,f,g,h,i={}.hasOwnProperty,j=function(a,b){functionc(){this.constructor=a}for(vardinb)i.call(b,d)&&(a[d]=b[d]);returnc.prototype=b.prototype,a.prototype=newc,a.__super__=b.prototype,a};d=a("../old-value"),e=a("../value"),h=a("../utils"),g=a("postcss/lib/list"),f=/top|left|right|bottom/gi,c=function(a){functionb(){returnb.__super__.constructor.apply(this,arguments)}returnj(b,a),b.names=["linear-gradient","repeating-linear-gradient","radial-gradient","repeating-radial-gradient"],b.prototype.replace=function(a,b){returng.space(a).map(function(a){returnfunction(c){vard,e,f,h;returnc.slice(0,+a.name.length+1||9e9)!==a.name+"("?c:(f=c.lastIndexOf(")"),d=c.slice(f+1),e=c.slice(a.name.length+1,+(f-1)+1||9e9),h=g.comma(e),h=a.newDirection(h),"-webkit- old"!==b?(a.convertDirection(h),b+a.name+"("+h.join(", ")+")"+d):-1===e.indexOf("px")?a.oldWebkit(c,e,h,d):void0)}}(this)).join(" ")},b.prototype.directions={top:"bottom",left:"right",bottom:"top",right:"left"},b.prototype.oldDirections={top:"left bottom, left top",left:"right top, left top",bottom:"left top, left bottom",right:"left top, right top","top right":"left bottom, right top","top left":"right bottom, left top","right top":"left bottom, right top","right bottom":"left top, right bottom","bottom right":"left top, right bottom","bottom left":"right top, left bottom","left top":"right bottom, left top","left bottom":"right top, left bottom"},b.prototype.newDirection=function(a){varb,c;returnb=a[0],-1===b.indexOf("to ")&&f.test(b)&&(b=b.split(" "),b=function(){vara,d,e;for(e=[],a=0,d=b.length;d>a;a++)c=b[a],e.push(this.directions[c.toLowerCase()]||c);returne}.call(this),a[0]="to "+b.join(" ")),a},b.prototype.oldWebkit=function(a,b,c,d){return"linear-gradient"!==this.name?a:c[0]&&-1!==c[0].indexOf("deg")?a:-1!==b.indexOf("-corner")?a:-1!==b.indexOf("-side")?a:(c=this.oldDirection(c),c=this.colorStops(c),"-webkit-gradient(linear, "+c.join(", ")+")"+d)},b.prototype.convertDirection=function(a){if(a.length>0){if("to "===a[0].slice(0,3))returna[0]=this.fixDirection(a[0]);if(-1!==a[0].indexOf("deg"))returna[0]=this.fixAngle(a[0]);if(-1!==a[0].indexOf(" at "))returnthis.fixRadial(a)}},b.prototype.fixDirection=function(a){varb;returna=a.split(" "),a.splice(0,1),a=function(){varc,d,e;for(e=[],c=0,d=a.length;d>c;c++)b=a[c],e.push(this.directions[b.toLowerCase()]||b);returne}.call(this),a.join(" ")},b.prototype.roundF
varg;d.TYPED_ARRAY_SUPPORT?g=d._augment(newUint8Array(e)):(g=this,g.length=e,g._isBuffer=!0);varh;if(d.TYPED_ARRAY_SUPPORT&&"number"==typeofa.byteLength)g._set(a);elseif(A(a))if(d.isBuffer(a))for(h=0;e>h;h++)g[h]=a.readUInt8(h);elsefor(h=0;e>h;h++)g[h]=(a[h]%256+256)%256;elseif("string"===f)g.write(a,0,b);elseif("number"===f&&!d.TYPED_ARRAY_SUPPORT&&!c)for(h=0;e>h;h++)g[h]=0;returne>0&&e<=d.poolSize&&(g.parent=M),g}functione(a,b,c){if(!(thisinstanceofe))returnnewe(a,b,c);varf=newd(a,b,c);returndeletef.parent,f}functionf(a,b,c,d){c=Number(c)||0;vare=a.length-c;d?(d=Number(d),d>e&&(d=e)):d=e;varf=b.length;if(f%2!==0)thrownewError("Invalid hex string");d>f/2&&(d=f/2);for(varg=0;d>g;g++){varh=parseInt(b.substr(2*g,2),16);if(isNaN(h))thrownewError("Invalid hex string");a[c+g]=h}returng}functiong(a,b,c,d){vare=G(C(b,a.length-c),a,c,d);returne}functionh(a,b,c,d){vare=G(D(b),a,c,d);returne}functioni(a,b,c,d){returnh(a,b,c,d)}functionj(a,b,c,d){vare=G(F(b),a,c,d);returne}functionk(a,b,c,d){vare=G(E(b,a.length-c),a,c,d,2);returne}functionl(a,b,c){returnI.fromByteArray(0===b&&c===a.length?a:a.slice(b,c))}functionm(a,b,c){vard="",e="";c=Math.min(a.length,c);for(varf=b;c>f;f++)a[f]<=127?(d+=H(e)+String.fromCharCode(a[f]),e=""):e+="%"+a[f].toString(16);returnd+H(e)}functionn(a,b,c){vard="";c=Math.min(a.length,c);for(vare=b;c>e;e++)d+=String.fromCharCode(127&a[e]);returnd}functiono(a,b,c){vard="";c=Math.min(a.length,c);for(vare=b;c>e;e++)d+=String.fromCharCode(a[e]);returnd}functionp(a,b,c){vard=a.length;(!b||0>b)&&(b=0),(!c||0>c||c>d)&&(c=d);for(vare="",f=b;c>f;f++)e+=B(a[f]);returne}functionq(a,b,c){for(vard=a.slice(b,c),e="",f=0;f<d.length;f+=2)e+=String.fromCharCode(d[f]+256*d[f+1]);returne}functionr(a,b,c){if(a%1!==0||0>a)thrownewRangeError("offset is not uint");if(a+b>c)thrownewRangeError("Trying to access beyond buffer length")}functions(a,b,c,e,f,g){if(!d.isBuffer(a))thrownewTypeError("buffer must be a Buffer instance");if(b>f||g>b)thrownewRangeError("value is out of bounds");if(c+e>a.length)thrownewRangeError("index out of range")}functiont(a,b,c,d){0>b&&(b=65535+b+1);for(vare=0,f=Math.min(a.length-c,2);f>e;e++)a[c+e]=(b&255<<8*(d?e:1-e))>>>8*(d?e:1-e)}functionu(a,b,c,d){0>b&&(b=4294967295+b+1);for(vare=0,f=Math.min(a.length-c,4);f>e;e++)a[c+e]=b>>>8*(d?e:3-e)&255}functionv(a,b,c,d,e,f){if(b>e||f>b)thrownewRangeError("value is out of bounds");if(c+d>a.length)thrownewRangeError("index out of range");if(0>c)thrownewRangeError("index out of range")}functionw(a,b,c,d,e){returne||v(a,b,c,4,3.4028234663852886e38,-3.4028234663852886e38),J.write(a,b,c,d,23,4),c+4}functionx(a,b,c,d,e){returne||v(a,b,c,8,1.7976931348623157e308,-1.7976931348623157e308),J.write(a,b,c,d,52,8),c+8}functiony(a){if(a=z(a).replace(O,""),a.length<2)return"";for(;a.length%4!==0;)a+="=";returna}functionz(a){returna.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}functionA(a){returnK(a)||d.isBuffer(a)||a&&"object"==typeofa&&"number"==typeofa.length}functionB(a){return16>a?"0"+a.toString(16):a.toString(16)}functionC(a,b){varc,d=a.length,e=null;b=b||1/0;for(varf=[],g=0;d>g;g++){if(c=a.charCodeAt(g),c>55295&&57344>c){if(!e){if(c>56319){(b-=3)>-1&&f.push(239,191,189);continue}if(g+1===d){(b-=3)>-1&&f.push(239,191,189);continue}e=c;continue}if(56320>c){(b-=3)>-1&&f.push(239,191,189),e=c;continue}c=e-55296<<10|c-56320|65536,e=null}elsee&&((b-=3)>-1&&f.push(239,191,189),e=null);if(128>c){if((b-=1)<0)break;f.push(c)}elseif(2048>c){if((b-=2)<0)break;f.push(c>>6|192,63&c|128)}elseif(65536>c){if((b-=3)<0)break;f.push(c>>12|224,c>>6&63|128,63&c|128)}else{if(!(2097152>c))thrownewError("Invalid code point");if((b-=4)<0)break;f.push(c>>18|240,c>>12&63|128,c>>6&63|128,63&c|128)}}returnf}functionD(a){for(varb=[],c=0;c<a.length;c++)b.push(255&a.charCodeAt(c));returnb}functionE(a,b){for(varc,d,e,f=[],g=0;g<a.length&&!((b-=2)<0);g++)c=a.charCodeAt(g),d=c>>8,e=c%256,f.push(e),f.push(d);returnf}functionF(a){returnI.toByteArray(y(a))}functionG(a,b,c,d,e){e&&(d-=d%e);for(varf=
varI=a("base64-js"),J=a("ieee754"),K=a("is-array");c.Buffer=d,c.SlowBuffer=e,c.INSPECT_MAX_BYTES=50,d.poolSize=8192;varL=1073741823,M={};d.TYPED_ARRAY_SUPPORT=function(){try{vara=newArrayBuffer(0),b=newUint8Array(a);returnb.foo=function(){return42},42===b.foo()&&"function"==typeofb.subarray&&0===newUint8Array(1).subarray(1,1).byteLength}catch(c){return!1}}(),d.isBuffer=function(a){return!(null==a||!a._isBuffer)},d.compare=function(a,b){if(!d.isBuffer(a)||!d.isBuffer(b))thrownewTypeError("Arguments must be Buffers");for(varc=a.length,e=b.length,f=0,g=Math.min(c,e);g>f&&a[f]===b[f];f++);returnf!==g&&(c=a[f],e=b[f]),e>c?-1:c>e?1:0},d.isEncoding=function(a){switch(String(a).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},d.concat=function(a,b){if(!K(a))thrownewTypeError("Usage: Buffer.concat(list[, length])");if(0===a.length)returnnewd(0);if(1===a.length)returna[0];varc;if(void0===b)for(b=0,c=0;c<a.length;c++)b+=a[c].length;vare=newd(b),f=0;for(c=0;c<a.length;c++){varg=a[c];g.copy(e,f),f+=g.length}returne},d.byteLength=function(a,b){varc;switch(a+="",b||"utf8"){case"ascii":case"binary":case"raw":c=a.length;break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":c=2*a.length;break;case"hex":c=a.length>>>1;break;case"utf8":case"utf-8":c=C(a).length;break;case"base64":c=F(a).length;break;default:c=a.length}returnc},d.prototype.length=void0,d.prototype.parent=void0,d.prototype.toString=function(a,b,c){vard=!1;if(b>>>=0,c=void0===c||c===1/0?this.length:c>>>0,a||(a="utf8"),0>b&&(b=0),c>this.length&&(c=this.length),b>=c)return"";for(;;)switch(a){case"hex":returnp(this,b,c);case"utf8":case"utf-8":returnm(this,b,c);case"ascii":returnn(this,b,c);case"binary":returno(this,b,c);case"base64":returnl(this,b,c);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":returnq(this,b,c);default:if(d)thrownewTypeError("Unknown encoding: "+a);a=(a+"").toLowerCase(),d=!0}},d.prototype.equals=function(a){if(!d.isBuffer(a))thrownewTypeError("Argument must be a Buffer");return0===d.compare(this,a)},d.prototype.inspect=function(){vara="",b=c.INSPECT_MAX_BYTES;returnthis.length>0&&(a=this.toString("hex",0,b).match(/.{2}/g).join(" "),this.length>b&&(a+=" ... ")),"<Buffer "+a+">"},d.prototype.compare=function(a){if(!d.isBuffer(a))thrownewTypeError("Argument must be a Buffer");returnd.compare(this,a)},d.prototype.get=function(a){returnconsole.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(a)},d.prototype.set=function(a,b){returnconsole.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(a,b)},d.prototype.write=function(a,b,c,d){if(isFinite(b))isFinite(c)||(d=c,c=void0);else{vare=d;d=b,b=c,c=e}if(b=Number(b)||0,0>c||0>b||b>this.length)thrownewRangeError("attempt to write outside buffer bounds");varl=this.length-b;c?(c=Number(c),c>l&&(c=l)):c=l,d=String(d||"utf8").toLowerCase();varm;switch(d){case"hex":m=f(this,a,b,c);break;case"utf8":case"utf-8":m=g(this,a,b,c);break;case"ascii":m=h(this,a,b,c);break;case"binary":m=i(this,a,b,c);break;case"base64":m=j(this,a,b,c);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":m=k(this,a,b,c);break;default:thrownewTypeError("Unknown encoding: "+d)}returnm},d.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},d.prototype.slice=function(a,b){varc=this.length;a=~~a,b=void0===b?c:~~b,0>a?(a+=c,0>a&&(a=0)):a>c&&(a=c),0>b?(b+=c,0>b&&(b=0)):b>c&&(b=c),a>b&&(b=a);vare;if(d.TYPED_ARRAY_SUPPORT)e=d._augment(this.subarray(a,b));else{varf=b-a;e=newd(f,void0,!0);for(varg=0;f>g;g++)e[g]=this[g+a]}returne.length&&(e.parent=this.parent||this),e},d.prototype.readUIntLE=function(a,b,c){a>>>=0,b>>>=0,c||r(a,b,this.length);for(vard=this[a],e=1,f=0;++f<b&&(e*=256);)d+=this[a+f]*e;returnd},d.prototype.readUIntBE=function(a,b,c){a>>>=0,b>>>=0,c||r(a,b,this.length);for(vard=this[a+--b],e=1;b>0&&(e*=256);)d+=this[a+--b]*e;returnd},d
title:"Video for Everybody"},{url:"http://diveintohtml5.info/video.html",title:"Video on the Web - includes info on Android support"},{url:"https://raw.github.com/phiggins42/has.js/master/detect/video.js#video",title:"has.js test"},{url:"http://docs.webplatform.org/wiki/html/elements/video",title:"WebPlatform Docs"}],categories:["HTML5"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"y",10:"y",11:"y",TP:"y"},firefox:{2:"n",3:"n",3.5:"y",3.6:"y",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"n",3.2:"n",4:"y",5:"y",5.1:"y",6:"y",6.1:"y",7:"y",7.1:"y",8:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"y",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y",8:"y",8.1:"y"},op_mini:{"5.0-8.0":"n"},android:{2.1:"a",2.2:"a",2.3:"y",3:"y",4:"y",4.1:"y","4.2-4.3":"y",4.4:"y","4.4.3-4.4.4":"y",37:"y"},bb:{7:"y",10:"y"},op_mob:{10:"n",11:"y",11.1:"y",11.5:"y",12:"y",12.1:"y",24:"y"},and_chr:{40:"y"},and_ff:{33:"y"},ie_mob:{10:"y",11:"y"},and_uc:{9.9:"y"}},notes:"Different browsers have support for different video formats, see sub-features for details. \r\n\r\nThe Android browser (before 2.3) requires [specific handling](http://www.broken-links.com/2010/07/08/making-html5-video-work-on-android-phones/) to run the video element.",notes_by_num:{},usage_perc_y:89.62,usage_perc_a:.01,ucprefix:!1,parent:"",keywords:"<video>",ie_id:"",chrome_id:""},audio:{title:"Audio element",description:"Method of playing sound on webpages (without requiring a plug-in).",spec:"https://html.spec.whatwg.org/multipage/embedded-content.html#the-audio-element",status:"ls",links:[{url:"http://html5doctor.com/native-audio-in-the-browser/",title:"HTML5 Doctor article"},{url:"https://dev.opera.com/articles/view/everything-you-need-to-know-about-html5-video-and-audio/",title:"Detailed article on video/audio elements"},{url:"http://www.jplayer.org/latest/demos/",title:"Demos of audio player that uses the audio element"},{url:"http://24ways.org/2010/the-state-of-html5-audio",title:"Detailed article on support"},{url:"http://textopia.org/androidsoundformats.html",title:"File format test page"},{url:"http://www.phoboslab.org/log/2011/03/the-state-of-html5-audio",title:"The State of HTML5 Audio"},{url:"https://raw.github.com/phiggins42/has.js/master/detect/audio.js#audio",title:"has.js test"},{url:"http://docs.webplatform.org/wiki/html/elements/audio",title:"WebPlatform Docs"}],categories:["HTML5"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"y",10:"y",11:"y",TP:"y"},firefox:{2:"n",3:"n",3.5:"y",3.6:"y",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"n",3.2:"n",4:"y",5:"y",5.1:"y",6:"y",6.1:"y",7:"y",7.1:"y",8:"y"},opera:{9:"n","9.5-9.6":"a","10.0-10.1":"a",10.5:"y",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y",8:"y",8.
usage_perc_y:92.7,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"",ie_id:"",chrome_id:""},"border-image":{title:"CSS3 Border images",description:"Method of using images for borders",spec:"http://www.w3.org/TR/css3-background/#the-border-image",status:"cr",links:[{url:"http://www.css3files.com/border/",title:"Information page"},{url:"http://docs.webplatform.org/wiki/css/properties/border-image",title:"WebPlatform Docs"}],categories:["CSS3"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"y",TP:"y"},firefox:{2:"n",3:"n",3.5:"a x",3.6:"a x",4:"a x",5:"a x",6:"a x",7:"a x",8:"a x",9:"a x",10:"a x",11:"a x",12:"a x",13:"a x",14:"a x",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"a x",5:"a x",6:"a x",7:"a x",8:"a x",9:"a x",10:"a x",11:"a x",12:"a x",13:"a x",14:"a x",15:"y x",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"a x",3.2:"a x",4:"a x",5:"a x",5.1:"a x",6:"y",6.1:"y",7:"y",7.1:"y",8:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"a",10.6:"a",11:"a x",11.1:"a x",11.5:"a x",11.6:"a x",12:"a x",12.1:"a x",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"a x","4.0-4.1":"a x","4.2-4.3":"a x","5.0-5.1":"a x","6.0-6.1":"y","7.0-7.1":"y",8:"y",8.1:"y"},op_mini:{"5.0-8.0":"n"},android:{2.1:"a x",2.2:"a x",2.3:"a x",3:"a x",4:"a x",4.1:"a x","4.2-4.3":"a x",4.4:"y","4.4.3-4.4.4":"y",37:"y"},bb:{7:"a x",10:"y"},op_mob:{10:"n",11:"a x",11.1:"a x",11.5:"a x",12:"a x",12.1:"a x",24:"y"},and_chr:{40:"y"},and_ff:{33:"y"},ie_mob:{10:"n",11:"y"},and_uc:{9.9:"y"}},notes:"Note that both the border-style and border-width must be specified for border-images to work according to spec, though older implementations may not have this requirement. Partial support refers to supporting the shorthand syntax, but not the individual properties (border-image-source, border-image-slice, etc). ",notes_by_num:{},usage_perc_y:80.88,usage_perc_a:4.66,ucprefix:!1,parent:"",keywords:"",ie_id:"",chrome_id:""},"background-img-opts":{title:"CSS3 Background-image options",description:"New properties to affect background images, including background-clip, background-origin and background-size",spec:"http://www.w3.org/TR/css3-background/#backgrounds",status:"cr",links:[{url:"http://www.standardista.com/css3/css3-background-properties",title:"Detailed compatibility tables and demos"},{url:"http://www.css3files.com/background/",title:"Information page"},{url:"https://github.com/louisremi/background-size-polyfill",title:"Polyfill for IE7-8"}],categories:["CSS3"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"y",10:"y",11:"y",TP:"y"},firefox:{2:"n",3:"n",3.5:"n",3.6:"a x",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"a #3",5:"a #3",6:"a #3",7:"a #3",8:"a #3",9:"a #3",10:"a #3",11:"a #3",12:"a #3",13:"a #3",14:"a #3",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"a #2 #3",3.2:"a #2 #3",4:"a #2 #3",5:"a #2 #3",5.1:"a #2 #3",6:"a #2 #3",6.1:"a #2 #3",7:"y",7.1:"y",8:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"a x",10.5:"y",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a #3","6.0-6.1":"a","7.0-7.1":"y",8:"y",8.1:"y"},op_mini:{"5.0-8.0":"a #1"},android:{2.1:"a x",2.2:"a x #3",2.3:"a x #3",3:"a #3",4:"a #3",4.1:"a #3","4.2-4.3":"a #3",4.4:"y","4.4.3-4.4.4":"y",37:"
9:"a",10:"a",11:"a",12:"a",13:"a",14:"a",15:"a",16:"a",17:"a",18:"a",19:"a",20:"a",21:"a",22:"a",23:"a",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"a",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"n",3.2:"a",4:"a",5:"y",5.1:"y",6:"y",6.1:"y",7:"y",7.1:"y",8:"y"},opera:{9:"n","9.5-9.6":"y","10.0-10.1":"y",10.5:"y",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"a","4.0-4.1":"a","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y",8:"y",8.1:"y"},op_mini:{"5.0-8.0":"a"},android:{2.1:"n",2.2:"n",2.3:"n",3:"y",4:"y",4.1:"y","4.2-4.3":"y",4.4:"y","4.4.3-4.4.4":"y",37:"y"},bb:{7:"y",10:"y"},op_mob:{10:"a",11:"a",11.1:"a",11.5:"a",12:"a",12.1:"a",24:"y"},and_chr:{40:"y"},and_ff:{33:"y"},ie_mob:{10:"y",11:"y"},and_uc:{9.9:"y"}},notes:"Partial support in older Firefox and Opera Mini/Mobile refers to SVG images being blurry when scaled. Partial support in iOS Safari and older Safari versions refers to failing to support tiling or the background-position property.",notes_by_num:{},usage_perc_y:88.62,usage_perc_a:3.85,ucprefix:!1,parent:"",keywords:"svg-in-css,svgincss,css-svg",ie_id:"",chrome_id:""},"svg-smil":{title:"SVG SMIL animation",description:"Method of using animation elements to animate SVG images",spec:"http://www.w3.org/TR/SVG/animate.html",status:"rec",links:[{url:"http://svg-wow.org/blog/category/animation/",title:"Examples on SVG WOW"},{url:"https://developer.mozilla.org/en/SVG/SVG_animation_with_SMIL",title:"MDN article"},{url:"http://leunen.me/fakesmile/",title:"JS library to support SMIL in SVG"},{url:"https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#svg-smil",title:"has.js test"},{url:"https://github.com/madsgraphics/SVGEventListener",title:"Polyfill for SMIL animate events on SVG"}],categories:["SVG"],stats:{ie:{5.5:"n",6:"p",7:"p",8:"p",9:"p",10:"p",11:"p",TP:"p"},firefox:{2:"p",3:"p",3.5:"p",3.6:"p",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"a",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"p",3.2:"p",4:"a",5:"a",5.1:"a",6:"a",6.1:"y",7:"y",7.1:"y",8:"y"},opera:{9:"y","9.5-9.6":"y","10.0-10.1":"y",10.5:"y",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"y","7.0-7.1":"y",8:"y",8.1:"y"},op_mini:{"5.0-8.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"y",4:"y",4.1:"y","4.2-4.3":"y",4.4:"y","4.4.3-4.4.4":"y",37:"y"},bb:{7:"y",10:"y"},op_mob:{10:"y",11:"y",11.1:"y",11.5:"y",12:"y",12.1:"y",24:"y"},and_chr:{40:"y"},and_ff:{33:"y"},ie_mob:{10:"p",11:"p"},and_uc:{9.9:"y"}},notes:"Partial support in Safari refers to not working in HTML files.",notes_by_num:{},usage_perc_y:75.8,usage_perc_a:.76,ucprefix:!1,parent:"",keywords:"",ie_id:"",chrome_id:""},"svg-fonts":{title:"SVG fonts",description:"Method of using fonts defined as SVG shapes. Considered among a number of browser vendors as a deprecated feature with support being removed.",spec:"http://www.w3.org/TR/SVG/fonts.html",status:"rec",links:[{url:"http://jeremie.patonnier.net/post/2011/02/07/Why-are-SVG-Fonts-so-different",title:"Blog post"},{url:"http://opentype.info/blog/2010/04/13/the-ipad-and-svg-f
notes_by_num:{},usage_perc_y:79.93,usage_perc_a:16.92,ucprefix:!1,parent:"",keywords:"data url,datauris,data uri,dataurl,dataurls,base64",ie_id:"",chrome_id:""},mathml:{title:"MathML",description:"Special tags that allow mathematical formulas and notations to be written on web pages.",spec:"http://www.w3.org/TR/MathML/",status:"rec",links:[{url:"http://en.wikipedia.org/wiki/MathML",title:"Wikipedia"},{url:"http://www.mozilla.org/projects/mathml/demo/",title:"MathML demos"},{url:"http://www.mathjax.org",title:"Cross-browser support script"},{url:"https://developer.mozilla.org/en/MathML/Element",title:"MDN element reference"}],categories:["Other"],stats:{ie:{5.5:"n",6:"p",7:"p",8:"p",9:"n",10:"n",11:"n",TP:"n"},firefox:{2:"y",3:"y",3.5:"y",3.6:"y",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"p",5:"p",6:"p",7:"p",8:"p",9:"p",10:"p",11:"p",12:"p",13:"p",14:"p",15:"p",16:"p",17:"p",18:"p",19:"p",20:"p",21:"p",22:"p",23:"p",24:"y",25:"p",26:"p",27:"p",28:"p",29:"p",30:"p",31:"p",32:"p",33:"p",34:"p",35:"p",36:"p",37:"p",38:"p",39:"p",40:"p",41:"p",42:"p",43:"p"},safari:{3.1:"p",3.2:"p",4:"p",5:"p",5.1:"y",6:"y",6.1:"y",7:"y",7.1:"y",8:"y"},opera:{9:"n","9.5-9.6":"a","10.0-10.1":"a",10.5:"a",10.6:"a",11:"a",11.1:"a",11.5:"a",11.6:"a",12:"a",12.1:"a",15:"p",16:"p",17:"p",18:"p",19:"p",20:"p",21:"p",22:"p",23:"p",24:"p",25:"p",26:"p",27:"p",28:"p",29:"p"},ios_saf:{3.2:"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y",8:"y",8.1:"y"},op_mini:{"5.0-8.0":"p"},android:{2.1:"p",2.2:"p",2.3:"p",3:"p",4:"p",4.1:"p","4.2-4.3":"p",4.4:"p","4.4.3-4.4.4":"p",37:"p"},bb:{7:"p",10:"y"},op_mob:{10:"p",11:"p",11.1:"p",11.5:"p",12:"p",12.1:"p",24:"p"},and_chr:{40:"p"},and_ff:{33:"y"},ie_mob:{10:"n",11:"n"},and_uc:{9.9:"a"}},notes:"Opera's support is limited to a CSS profile of MathML. Support was added in Chrome 24, but removed afterwards due to instability.",notes_by_num:{},usage_perc_y:22.53,usage_perc_a:4.07,ucprefix:!1,parent:"",keywords:"",ie_id:"mathml",chrome_id:"5240822173794304"},"css-featurequeries":{title:"CSS Feature Queries",description:"CSS Feature Queries allow authors to condition rules based on whether particular property declarations are supported in CSS using the @supports at rule.",spec:"http://www.w3.org/TR/css3-conditional/#at-supports",status:"cr",links:[{url:"https://developer.mozilla.org/en-US/docs/Web/CSS/@supports",title:"MDN Article"},{url:"http://mcc.id.au/blog/2012/08/supports",title:"@supports in Firefox"},{url:"http://dabblet.com/gist/3895764",title:"Test case"},{url:"http://docs.webplatform.org/wiki/css/atrules/@supports",title:"WebPlatform Docs"}],categories:["CSS3"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",TP:"n"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"n",6.1:"n",7:"n",7.1:"n",8:"n"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n",8:"n",8.1:"n"},op_mini:{"5.0-8.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"y","4.4.3-4.4.4":"y",37:"y"},bb:{7:"n",10:"n"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",24:"y"},and_chr:{40:"
35:"y",36:"y",37:"y",38:"y"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"y x",20:"y x",21:"y x",22:"y x",23:"y x",24:"y x",25:"y x",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"y x",6.1:"y",7:"y",7.1:"y",8:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y",8:"y",8.1:"y"},op_mini:{"5.0-8.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"a","4.4.3-4.4.4":"a",37:"y"},bb:{7:"n",10:"y x"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",24:"y"},and_chr:{40:"y"},and_ff:{33:"y"},ie_mob:{10:"y",11:"y"},and_uc:{9.9:"n"}},notes:"Support can be somewhat emulated in older versions of IE using the non-standard `expression()` syntax. Partial support in IE9 refers to the browser crashing when used as a `background-position` value. Partial support in Android Browser 4.4 refers to the browser lacking the ability to multiply and divide values.",notes_by_num:{},usage_perc_y:75.77,usage_perc_a:5.66,ucprefix:!1,parent:"",keywords:"",ie_id:"csscalc",chrome_id:"5765241438732288"},ruby:{title:"Ruby annotation",description:"Method of adding pronunciation or other annotations using ruby elements (primarily used in East Asian typography).",spec:"https://html.spec.whatwg.org/multipage/semantics.html#the-ruby-element",status:"ls",links:[{url:"http://html5doctor.com/ruby-rt-rp-element/",title:"HTML5 Doctor article"},{url:"http://docs.webplatform.org/wiki/html/elements/ruby",title:"WebPlatform Docs"},{url:"https://addons.mozilla.org/firefox/addon/1935/",title:'Add-on "XHTML Ruby Support" for Firefox'},{url:"https://addons.mozilla.org/firefox/addon/6812/",title:'Addon "HTML Ruby" for Firefox support'}],categories:["HTML5"],stats:{ie:{5.5:"a",6:"a",7:"a",8:"a",9:"a",10:"a",11:"a",TP:"a"},firefox:{2:"p",3:"p",3.5:"p",3.6:"p",4:"p",5:"p",6:"p",7:"p",8:"p",9:"p",10:"p",11:"p",12:"p",13:"p",14:"p",15:"p",16:"p",17:"p",18:"p",19:"p",20:"p",21:"p",22:"p",23:"p",24:"p",25:"p",26:"p",27:"p",28:"p",29:"p",30:"p",31:"p",32:"p",33:"p",34:"p",35:"p",36:"p",37:"p",38:"p"},chrome:{4:"p",5:"a",6:"a",7:"a",8:"a",9:"a",10:"a",11:"a",12:"a",13:"a",14:"a",15:"a",16:"a",17:"a",18:"a",19:"a",20:"a",21:"a",22:"a",23:"a",24:"a",25:"a",26:"a",27:"a",28:"a",29:"a",30:"a",31:"a",32:"a",33:"a",34:"a",35:"a",36:"a",37:"a",38:"a",39:"a",40:"a",41:"a",42:"a",43:"a"},safari:{3.1:"p",3.2:"p",4:"p",5:"a",5.1:"a",6:"a",6.1:"a",7:"a",7.1:"a",8:"a"},opera:{9:"p","9.5-9.6":"p","10.0-10.1":"p",10.5:"p",10.6:"p",11:"p",11.1:"p",11.5:"p",11.6:"p",12:"p",12.1:"p",15:"a",16:"a",17:"a",18:"a",19:"a",20:"a",21:"a",22:"a",23:"a",24:"a",25:"a",26:"a",27:"a",28:"a",29:"a"},ios_saf:{3.2:"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"a",8:"a",8.1:"a"},op_mini:{"5.0-8.0":"p"},android:{2.1:"p",2.2:"p",2.3:"p",3:"a",4:"a",4.1:"a","4.2-4.3":"a",4.4:"a","4.4.3-4.4.4":"a",37:"a"},bb:{7:"p",10:"a"},op_mob:{10:"p",11:"p",11.1:"p",11.5:"p",12:"p",12.1:"p",24:"a"},and_chr:{40:"a"},and_ff:{33:"p"},ie_mob:{10:"a",11:"a"},and_uc:{9.9:"a"}},notes:"Browsers without native support can still simulate support using CSS. Partial support refers to only supporting basic ruby, may still be missing writing-mode, Complex ruby and CSS3 Ruby.",notes_by_num:{},usage_perc_y:0,usage_perc_a:81.38,ucprefix:!1,parent:"",keywords:"",ie_id:"",chrome_id:""},"css-opacity":{title:"CSS3 Opacity",description:"Method of setting the transparency level of an element",spec:"http://www.w3.org/TR/css3-color/",status:"rec",links:[{url:"http://www.css3files.com/color/#opacity",title:"Information page"},{url:"http://docs.webplatform.org/wiki/css/properties/opacity",title:"WebPlatform Docs"}],categories:["CSS3"],stats:{ie:{5.5:"a",6:"a",7:"a
title:"CSS Basics post"}],categories:["CSS2"],stats:{ie:{5.5:"p",6:"p",7:"y",8:"y",9:"y",10:"y",11:"y",TP:"y"},firefox:{2:"y",3:"y",3.5:"y",3.6:"y",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"y",3.2:"y",4:"y",5:"y",5.1:"y",6:"y",6.1:"y",7:"y",7.1:"y",8:"y"},opera:{9:"y","9.5-9.6":"y","10.0-10.1":"y",10.5:"y",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y",8:"y",8.1:"y"},op_mini:{"5.0-8.0":"y"},android:{2.1:"y",2.2:"y",2.3:"y",3:"y",4:"y",4.1:"y","4.2-4.3":"y",4.4:"y","4.4.3-4.4.4":"y",37:"y"},bb:{7:"y",10:"y"},op_mob:{10:"y",11:"y",11.1:"y",11.5:"y",12:"y",12.1:"y",24:"y"},and_chr:{40:"y"},and_ff:{33:"y"},ie_mob:{10:"y",11:"y"},and_uc:{9.9:"y"}},notes:'IE7 does not support "inherit" as a value on any of these properties. IE8 has some bugs with max-width/height combined with overflow: auto/scroll.',notes_by_num:{},usage_perc_y:97.04,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"min-width,min-height,max-width,max-height",ie_id:"",chrome_id:""},details:{title:"Details & Summary elements",description:"The <details> element generates a simple no-JavaScript widget to show/hide element contents, optionally by clicking on its child <summary> element.",spec:"https://html.spec.whatwg.org/multipage/forms.html#the-details-element",status:"ls",links:[{url:"https://mathiasbynens.be/notes/html5-details-jquery",title:"jQuery fallback script"},{url:"https://gist.github.com/370590",title:"Fallback script"},{url:"http://html5doctor.com/summary-figcaption-element/",title:"HTML5 Doctor article"},{url:"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-details",title:"has.js test"},{url:"http://docs.webplatform.org/wiki/html/elements/details",title:"WebPlatform Docs"}],categories:["HTML5"],stats:{ie:{5.5:"n",6:"p",7:"p",8:"p",9:"n",10:"n",11:"n",TP:"n"},firefox:{2:"n",3:"p",3.5:"p",3.6:"p",4:"p",5:"p",6:"p",7:"p",8:"p",9:"p",10:"p",11:"p",12:"p",13:"p",14:"p",15:"p",16:"p",17:"p",18:"p",19:"p",20:"p",21:"p",22:"p",23:"p",24:"p",25:"p",26:"p",27:"p",28:"p",29:"p",30:"p",31:"p",32:"p",33:"p",34:"p",35:"p",36:"p",37:"p",38:"p"},chrome:{4:"p",5:"p",6:"p",7:"p",8:"p",9:"p",10:"p",11:"p",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"p",3.2:"p",4:"p",5:"p",5.1:"p",6:"y",6.1:"y",7:"y",7.1:"y",8:"y"},opera:{9:"p","9.5-9.6":"p","10.0-10.1":"p",10.5:"p",10.6:"p",11:"p",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"y","7.0-7.1":"y",8:"y",8.1:"y"},op_mini:{"5.0-8.0":"p"},android:{2.1:"p",2.2:"p",2.3:"p",3:"p",4:"y",4.1:"y","4.2-4.3":"y",4.4:"y","4.4.3-4.4.4":"y",37:"y"},bb:{7:"p",10:"y"},op_mob:{10:"p",11:"p",11.1:"p",11.5:"p",12:"p",12.1:"p",24:"y"},and_chr:{40:"y"},and_ff:{33:"p"},ie_mob:{10:"n",11:"n"},and_uc:{9.9:"y"}},notes:"",notes_by_num:{},usage_perc_y:63.43,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"",ie_id:"detailssummary",chrome_id:"5348024557502464"},"text-stroke":{title:"CSS text-stroke",description:"Method of declaring the outline (stroke) width and color for text.",spec:"http://developer.apple.com/library/safari/documentation/appleapplications/reference/SafariCSSRef/Artic
},firefox:{2:"n",3:"n",3.5:"n",3.6:"a x",4:"a x",5:"a x",6:"a x",7:"a x",8:"a x",9:"a x",10:"a x",11:"a x",12:"a x",13:"a x",14:"a x",15:"a x",16:"a x",17:"a x",18:"a x",19:"a x",20:"a x",21:"a x",22:"a x",23:"a x",24:"a x",25:"a x",26:"a x",27:"a x",28:"a x",29:"a x",30:"a x",31:"a x",32:"a x",33:"a x",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"a x",5:"a x",6:"a x",7:"a x",8:"a x",9:"a x",10:"a x",11:"a x",12:"a x",13:"a x",14:"a x",15:"a x",16:"a x",17:"a x",18:"a x",19:"a x",20:"a x",21:"a x",22:"a x",23:"a x",24:"a x",25:"a x",26:"a x",27:"a x",28:"a x",29:"a x",30:"a x",31:"a x",32:"a x",33:"a x",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"n",3.2:"n",4:"n",5:"a x",5.1:"a x",6:"a x",6.1:"a x",7:"a x",7.1:"y",8:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"a x",11.6:"a x",12:"a x",12.1:"a x",15:"a x",16:"a x",17:"a x",18:"a x",19:"a x",20:"a x",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"n","4.0-4.1":"a x","4.2-4.3":"a x","5.0-5.1":"a x","6.0-6.1":"a x","7.0-7.1":"a x",8:"y",8.1:"y"},op_mini:{"5.0-8.0":"n"},android:{2.1:"n",2.2:"a x",2.3:"a x",3:"a x",4:"a x",4.1:"a x","4.2-4.3":"a x",4.4:"a x","4.4.3-4.4.4":"a x",37:"y"},bb:{7:"a x",10:"a x"},op_mob:{10:"n",11:"n",11.1:"a x",11.5:"a x",12:"a x",12.1:"a x",24:"y"},and_chr:{40:"y"},and_ff:{33:"a x"},ie_mob:{10:"a x",11:"a x"},and_uc:{9.9:"a x"}},notes:'Partial support refers to supporting the older specification\'s "matchesSelector" name rather than just "matches".',notes_by_num:{},usage_perc_y:54.63,usage_perc_a:34.89,ucprefix:!1,parent:"",keywords:" matchesSelector",ie_id:"",chrome_id:""},"pointer-events":{title:"CSS pointer-events (for HTML)",description:'This CSS property, when set to "none" allows elements to not receive hover/click events, instead the event will occur on anything behind it. ',spec:"http://wiki.csswg.org/spec/css4-ui#pointer-events",status:"unoff",links:[{url:"http://robertnyman.com/2010/03/22/css-pointer-events-to-allow-clicks-on-underlying-elements/",title:"Article & tutorial"},{url:"https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-pointerevents",title:"has.js test"}],categories:["CSS3"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"y",TP:"y"},firefox:{2:"n",3:"n",3.5:"n",3.6:"y",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"n",3.2:"n",4:"y",5:"y",5.1:"y",6:"y",6.1:"y",7:"y",7.1:"y",8:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y",8:"y",8.1:"y"},op_mini:{"5.0-8.0":"n"},android:{2.1:"y",2.2:"y",2.3:"y",3:"y",4:"y",4.1:"y","4.2-4.3":"y",4.4:"y","4.4.3-4.4.4":"y",37:"y"},bb:{7:"y",10:"y"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",24:"y"},and_chr:{40:"y"},and_ff:{33:"y"},ie_mob:{10:"n",11:"y"},and_uc:{9.9:"y"}},notes:"Already part of the SVG specification, and all SVG-supporting browsers appear to support the property on SVG elements.",notes_by_num:{},usage_perc_y:85.22,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"pointerevents",ie_id:"csspointerevents",chrome_id:""},blobbuilder:{title:"Blob constructing",description:"Construct Blobs (binary large objects) either using the BlobBuilder API (deprecated) or the Blob constructor.",spec:"http://www.w3.org/TR/file-writer-api/#the-blobbuilder-interface",status:"wd",links:[{url:"https://developer.mozilla.org/en
10:"y x",11:"y x",12:"y x",13:"y x",14:"y x",15:"y x",16:"y x",17:"y x",18:"y x",19:"y x",20:"y x",21:"y x",22:"y x",23:"y x",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"y x",6.1:"y",7:"y",7.1:"y",8:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y",8:"y",8.1:"y"},op_mini:{"5.0-8.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"y","4.4.3-4.4.4":"y",37:"y"},bb:{7:"n",10:"y x"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",24:"y"},and_chr:{40:"y"},and_ff:{33:"y"},ie_mob:{10:"y",11:"y"},and_uc:{9.9:"y"}},notes:"",notes_by_num:{},usage_perc_y:83.38,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"",ie_id:"requestanimationframe",chrome_id:"5233400470306816"},"input-range":{title:"Range input type",description:"Form field type that allows the user to select a value using a slider widget.",spec:"https://html.spec.whatwg.org/multipage/forms.html#range-state-(type=range)",status:"ls",links:[{url:"https://github.com/fryn/html5slider",title:"Polyfill for Firefox"},{url:"https://github.com/freqdec/fd-slider",title:"Cross-browser polyfill"},{url:"http://tutorialzine.com/2011/12/what-you-need-to-know-html5-range-input/",title:"Tutorial"},{url:"https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-type-range",title:"has.js test"},{url:"http://docs.webplatform.org/wiki/html/elements/input/type/range",title:"WebPlatform Docs"},{url:"https://github.com/andreruffert/rangeslider.js",title:"rangeslider.js polyfill"}],categories:["HTML5"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"y",11:"y",TP:"y"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"u",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"y",3.2:"y",4:"y",5:"y",5.1:"y",6:"y",6.1:"y",7:"y",7.1:"y",8:"y"},opera:{9:"y","9.5-9.6":"y","10.0-10.1":"y",10.5:"y",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y",8:"y",8.1:"y"},op_mini:{"5.0-8.0":"n"},android:{2.1:"a",2.2:"a",2.3:"a",3:"a",4:"a",4.1:"a","4.2-4.3":"y",4.4:"y","4.4.3-4.4.4":"y",37:"y"},bb:{7:"y",10:"y"},op_mob:{10:"y",11:"y",11.1:"y",11.5:"y",12:"y",12.1:"y",24:"y"},and_chr:{40:"y"},and_ff:{33:"y"},ie_mob:{10:"y",11:"y"},and_uc:{9.9:"y"}},notes:"Currently all Android browsers with partial support hide the slider input field by default. However, the element [can be styled](http://tiffanybbrown.com/2012/02/07/input-typerange-and-androids-stock-browser/) to be made visible and usable.",notes_by_num:{},usage_perc_y:85.39,usage_perc_a:1.4,ucprefix:!1,parent:"forms",keywords:'input type="range"',ie_id:"",chrome_id:""},matchmedia:{title:"matchMedia",description:"API for finding out whether or not a media query applies to the document.",spec:"http://www.w3.org/TR/cssom-view/#dom-window-matchmedia",status:"wd",links:[{url:"https://github.com/paulirish/matchMedia.js/",title:"matchMedia.js polyfill"},{url:"https://developer.mozilla.org/en/DOM/window.matchMedia",title:"MDN article"},{url:"https://developer.mozilla.org/en/CSS/Using_media_queries_from_code",title:"MDN tutorial"},{url:"http://docs.webplatform.org/wiki/css/media_
},{url:"https://github.com/rodneyrehm/viewport-units-buggyfill",title:"Buggyfill - Polyfill that fixes buggy support"},{url:"http://blog.rodneyrehm.de/archives/34-iOS7-Mobile-Safari-And-Viewport-Units.html",title:"Back-Forward issue blog post"}],categories:["CSS3"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"a",10:"a",11:"a",TP:"a"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"a",21:"a",22:"a",23:"a",24:"a",25:"a",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"a",6.1:"y",7:"y",7.1:"y",8:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"a","7.0-7.1":"a",8:"y",8.1:"y"},op_mini:{"5.0-8.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"y","4.4.3-4.4.4":"y",37:"y"},bb:{7:"n",10:"a"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",24:"y"},and_chr:{40:"y"},and_ff:{33:"y"},ie_mob:{10:"a #1",11:"a #1"},and_uc:{9.9:"n"}},notes:'Partial support in IE9 refers to supporting "vm" instead of "vmin".\r\n\r\nPartial support in iOS7 is due to buggy behavior of the "vh" unit (see [workaround](https://gist.github.com/pburtchaell/e702f441ba9b3f76f587)).\r\n\r\nAll other partial support refers to not supporting the "vmax" unit. ',notes_by_num:{},usage_perc_y:65.33,usage_perc_a:15.6,ucprefix:!1,parent:"",keywords:"vm,viewport-percentage",ie_id:"",chrome_id:""},contentsecuritypolicy:{title:"Content Security Policy 1.0",description:"Mitigate cross-site scripting attacks by whitelisting allowed sources of script, style, and other resources.",spec:"http://www.w3.org/TR/CSP/",status:"cr",links:[{url:"http://html5rocks.com/en/tutorials/security/content-security-policy/",title:"HTML5Rocks article"},{url:"http://content-security-policy.com/",title:"CSP Examples & Quick Reference"}],categories:["Other"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"a #1",11:"a #1",TP:"y"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"y #1",5:"y #1",6:"y #1",7:"y #1",8:"y #1",9:"y #1",10:"y #1",11:"y #1",12:"y #1",13:"y #1",14:"y #1",15:"y #1",16:"y #1",17:"y #1",18:"y #1",19:"y #1",20:"y #1",21:"y #1",22:"y #1",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"y #2",15:"y #2",16:"y #2",17:"y #2",18:"y #2",19:"y #2",20:"y #2",21:"y #2",22:"y #2",23:"y #2",24:"y #2",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"a #2",6:"y #2",6.1:"y #2",7:"y",7.1:"y",8:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a #2","6.0-6.1":"y #2","7.0-7.1":"y",8:"y",8.1:"y"},op_mini:{"5.0-8.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"y","4.4.3-4.4.4":"y",37:"y"},bb:{7:"n",10:"y #2"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",24:"y"},and_chr:{40:"y"},and_ff:{33:"y"},ie_mob:{10:"a #1",11:"a #1"},and_uc:{9.9:"y x"}},notes:"The standard HTTP header is `Content-Security-Policy` which is used unless otherwise noted.",notes_by_num:{1:"Supported through the `X-Content-Security-Policy` header",2:"Supportedthroughthe`X-Webkit-CSP`
14:"n",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n",28:"n",29:"n",30:"n",31:"n",32:"n",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"n",6.1:"n",7:"n",7.1:"n",8:"n"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n",8:"n",8.1:"n"},op_mini:{"5.0-8.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"n","4.4.3-4.4.4":"n",37:"n"},bb:{7:"n",10:"n"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",24:"n"},and_chr:{40:"n"},and_ff:{33:"y"},ie_mob:{10:"n",11:"n"},and_uc:{9.9:"n"}},notes:"For Opera the Linux version may be able to play it when the GStreamer module is up to date and the served mime-type is 'audio/ogg'.",notes_by_num:{},usage_perc_y:42.58,usage_perc_a:0,ucprefix:!1,parent:"audio",keywords:"",ie_id:"",chrome_id:"4891189287321600"},jpegxr:{title:"JPEG XR image format",description:"The latest JPEG image format of Joint Photographic Experts Group which boasts better compression and supports lossless compression, alpha channel, and 48-bit deep color over normal jpg format.",spec:"http://www.itu.int/rec/T-REC-T.832",status:"other",links:[{url:"http://msdn.microsoft.com/en-us/library/windows/desktop/hh707223(v=vs.85).aspx",title:"Microsoft JPEG XR Codec Overview"}],categories:["Other"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"y",10:"y",11:"y",TP:"y"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n",28:"n",29:"n",30:"n",31:"n",32:"n",33:"n",34:"n",35:"n",36:"n",37:"n",38:"n"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n",28:"n",29:"n",30:"n",31:"n",32:"n",33:"n",34:"n",35:"n",36:"n",37:"n",38:"n",39:"n",40:"n",41:"n",42:"n",43:"n"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"n",6.1:"n",7:"n",7.1:"n",8:"n"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n",28:"n",29:"n"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n",8:"n",8.1:"n"},op_mini:{"5.0-8.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"n","4.4.3-4.4.4":"n",37:"n"},bb:{7:"n",10:"n"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",24:"n"},and_chr:{40:"n"},and_ff:{33:"n"},ie_mob:{10:"y",11:"y"},and_uc:{9.9:"n"}},notes:"",notes_by_num:{},usage_perc_y:12.84,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"",ie_id:"",chrome_id:""},"channel-messaging":{title:"Channel messaging",description:"Method for having two-way communication between browsing contexts (using MessageChannel)",spec:"http://www.w3.org/TR/webmessaging/#channel-messaging",status:"cr",links:[{url:"https://dev.opera.com/articles/view/window-postmessage-messagechannel/#channel",title:"An Introduction to HTML5 web messaging"}],categories:["JS API"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"y",11:"y",TP:"y"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n d #1",27:"n d #1",28:"n d #1",29:"n d #1",30:"n d #1",31:"n d #1",32:"n d #1",33:"n d #1",34:"n d #1",35:"n d #1",36:"n d #1",37:"n d #1",38:"n d #1"},chrome:{4:"y",5:"y
23:"p",24:"p",25:"p",26:"p",27:"p",28:"p",29:"p",30:"p",31:"p",32:"a",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"p",3.2:"p",4:"p",5:"p",5.1:"p",6:"p",6.1:"p",7:"p",7.1:"y",8:"y"},opera:{9:"p","9.5-9.6":"p","10.0-10.1":"p",10.5:"p",10.6:"p",11:"p",11.1:"p",11.5:"p",11.6:"p",12:"p",12.1:"p",15:"p",16:"p",17:"p",18:"p",19:"a",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"p","7.0-7.1":"p",8:"y",8.1:"y"},op_mini:{"5.0-8.0":"p"},android:{2.1:"p",2.2:"p",2.3:"p",3:"p",4:"p",4.1:"p","4.2-4.3":"p",4.4:"p","4.4.3-4.4.4":"y",37:"y"},bb:{7:"p",10:"p"},op_mob:{10:"p",11:"p",11.1:"p",11.5:"p",12:"p",12.1:"p",24:"y"},and_chr:{40:"y"},and_ff:{33:"y"},ie_mob:{10:"p",11:"p"},and_uc:{9.9:"p"}},notes:"",notes_by_num:{},usage_perc_y:60.23,usage_perc_a:.31,ucprefix:!1,parent:"",keywords:"futures",ie_id:"",chrome_id:"5681726336532480"},"css-sticky":{title:"CSS position:sticky",description:'Keeps elements positioned as "fixed" or "relative" depending on how it appears in the viewport. As a result the element is "stuck" when necessary while scrolling.',spec:"http://dev.w3.org/csswg/css-position/#sticky-positioning",status:"unoff",links:[{url:"http://updates.html5rocks.com/2012/08/Stick-your-landings-position-sticky-lands-in-WebKit",title:"HTML5Rocks"},{url:"https://developer.mozilla.org/en-US/docs/Web/CSS/position",title:"MDN article"},{url:"http://docs.webplatform.org/wiki/css/properties/position",title:"WebPlatform Docs"},{url:"https://github.com/filamentgroup/fixed-sticky",title:"Polyfill"},{url:"https://github.com/wilddeer/stickyfill",title:"Another polyfill"}],categories:["CSS"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",TP:"n"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n d #1",27:"n d #1",28:"n d #1",29:"n d #1",30:"n d #1",31:"n d #1",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n d #2",24:"n d #2",25:"n d #2",26:"n d #2",27:"n d #2",28:"n d #2",29:"n d #2",30:"n d #2",31:"n d #2",32:"n d #2",33:"n d #2",34:"n d #2",35:"n d #2",36:"n d #2",37:"n",38:"n",39:"n",40:"n",41:"n",42:"n",43:"n"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"n",6.1:"y x",7:"y x",7.1:"y x",8:"y x"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n",28:"n",29:"n"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y x",8:"y x",8.1:"y x"},op_mini:{"5.0-8.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"n","4.4.3-4.4.4":"n",37:"n"},bb:{7:"n",10:"n"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",24:"n"},and_chr:{40:"n"},and_ff:{33:"y"},ie_mob:{10:"n",11:"n"},and_uc:{9.9:"n"}},notes:"",notes_by_num:{1:"Can be enabled in Firefox by setting the about:config preference layout.css.sticky.enabled to true",2:'Enabled in Chrome through the "experimental Web Platform features" flag in chrome://flags'},usage_perc_y:20.09,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"",ie_id:"positionsticky",chrome_id:"6190250464378880"},dialog:{title:"Dialog element",description:"Method of easily creating custom dialog boxes to display to the user with modal or non-modal options. Also includes a `::backdrop` pseudo-element for behind the element.",spec:"https://html.spec.whatwg.org/multipage/forms.html#the-dialog-element",status:"ls",links:[{url:"https://github.com/GoogleChrome/dialog-polyfill",title:"Polyfill"}],categories:["DOM","HTML5"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",TP:"n"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n"
links:[{url:"http://aurelio.audero.it/demo/ambient-light-api-demo.html",title:"Demo"},{url:"http://modernweb.com/2014/05/27/introduction-to-the-ambient-light-api/",title:"Article"}],categories:["JS API"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",TP:"n"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n",28:"n",29:"n",30:"n",31:"n",32:"n",33:"n",34:"n",35:"n",36:"n",37:"n",38:"n",39:"n",40:"n",41:"n",42:"n",43:"n"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"n",6.1:"n",7:"n",7.1:"n",8:"n"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n",28:"n",29:"n"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n",8:"n",8.1:"n"},op_mini:{"5.0-8.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"n","4.4.3-4.4.4":"n",37:"n"},bb:{7:"n",10:"n"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",24:"n"},and_chr:{40:"n"},and_ff:{33:"y"},ie_mob:{10:"n",11:"n"},and_uc:{9.9:"n"}},notes:"Firefox desktop supports this API only on Mac OS X. [Support for Windows 7 is in progress](https://bugzilla.mozilla.org/show_bug.cgi?id=754199)",notes_by_num:{},usage_perc_y:11.28,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"",ie_id:"ambientlightevents",chrome_id:"5298357018820608"},"will-change":{title:"CSS will-change property",description:"Method of optimizing animations by informing the browser which elements will change and what properties will change.",spec:"http://dev.w3.org/csswg/css-will-change/",status:"wd",links:[{url:"https://dev.opera.com/articles/css-will-change-property/",title:"Detailed article"},{url:"http://aerotwist.com/blog/bye-bye-layer-hacks/",title:"Blog post"}],categories:["CSS"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",TP:"n"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n",28:"n",29:"n d #1",30:"n d #1",31:"n d #1",32:"n d #1",33:"n d #1",34:"n d #1",35:"n d #1",36:"y",37:"y",38:"y"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n",28:"n",29:"n",30:"n",31:"n",32:"n",33:"n",34:"n",35:"n",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"n",6.1:"n",7:"n",7.1:"n",8:"n"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n",8:"n",8.1:"n"},op_mini:{"5.0-8.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"n","4.4.3-4.4.4":"n",37:"y"},bb:{7:"n",10:"n"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",24:"y"},and_chr:{40:"y"},and_ff:{33:"n"},ie_mob:{10:"n",11:"n"},and_uc:{9.9:"n"}},notes:"",notes_by_num:{1:"Supported in Firefox behind the `layout.css.will-change.enabled` flag"},usage_perc_y:40.13,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"scroll-position",ie_id:"csswillchange",chrome_id:"5954199330226176"},"css-shapes":{title:"CSS Shapes Level 1",description:"Allows geometric shapes to be set in CSS to define an area for text to flow around.",spec:"http://www.w3.org/TR/css-shapes/",status:"cr",links:[{url:"http://html.adobe.com/webplatform/layout/shapes/",title:"Adobe demos and samples"},{url:"
}},notes:"",notes_by_num:{1:'Firefox [has no plans to support HTML imports](https://hacks.mozilla.org/2014/12/mozilla-and-web-components/) though for now it can be enabled through the "dom.webcomponents.enabled" preference in about:config',2:'Enabled through the "Enable HTML Imports" flag in chrome://flags',3:'Enabled through the "Experimental Web Platform features" flag in chrome://flags',4:'Enabled through the "Enable HTML Imports" flag in opera://flags',5:'Enabled through the "Experimental Web Platform features" flag in opera://flags'},usage_perc_y:40.13,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"web components",ie_id:"htmlimports",chrome_id:"5144752345317376"},"input-file-multiple":{title:"Multiple file selection",description:"Allows users to select multiple files in the file picker.",spec:"https://html.spec.whatwg.org/multipage/forms.html#attr-input-multiple",status:"ls",links:[{url:"https://code.google.com/p/chromium/issues/detail?id=348912",title:"Chrome bug (for Android)"},{url:"http://www.raymondcamden.com/2012/2/28/Working-with-HTML5s-multiple-file-upload-support",title:"Article"}],categories:["HTML5"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"y",11:"y",TP:"y"},firefox:{2:"n",3:"n",3.5:"n",3.6:"y",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"n",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"n",3.2:"n",4:"y",5:"y",5.1:"y",6:"y",6.1:"y",7:"y",7.1:"y",8:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y","7.0-7.1":"y",8:"y",8.1:"y"},op_mini:{"5.0-8.0":"n #1"},android:{2.1:"n #1",2.2:"n #1",2.3:"n #1",3:"n #1",4:"n #1",4.1:"n #1","4.2-4.3":"n #1",4.4:"n #1","4.4.3-4.4.4":"n #1",37:"n #1"},bb:{7:"n",10:"n"},op_mob:{10:"n #1",11:"n #1",11.1:"n #1",11.5:"n #1",12:"n #1",12.1:"n #1",24:"n #1"},and_chr:{40:"n #1"},and_ff:{33:"n #1"},ie_mob:{10:"n",11:"n"},and_uc:{9.9:"n #1"}},notes:"",notes_by_num:{1:"Not supported when tested on Android, presumably an OS limitation. "},usage_perc_y:65.7,usage_perc_a:0,ucprefix:!1,parent:"forms",keywords:"",ie_id:"",chrome_id:""},"atob-btoa":{title:"Base64 encoding and decoding",description:"Utility functions for of encoding and decoding strings to and from base 64: window.atob() and window.btoa().",spec:"https://html.spec.whatwg.org/multipage/webappapis.html#atob",status:"ls",links:[{url:"https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa",title:"MDN article on btoa()"},{url:"https://developer.mozilla.org/en-US/docs/Web/API/Window.atob",title:"MDN article on atob()"},{url:"https://github.com/davidchambers/Base64.js",title:"Polyfill"}],categories:["JS API"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"y",11:"y",TP:"y"},firefox:{2:"y",3:"y",3.5:"y",3.6:"y",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"y",3.2:"y",4:"y",5:"y",5.1:"y",6:"y",6.1:"y",7:"y",7.1:"y",8:"y"},opera:{9:"n","9.5-9.6":"u","10.0-10.1":"u",10.5:"u",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y
15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n",28:"n",29:"n",30:"n",31:"n",32:"n",33:"n",34:"n",35:"n",36:"n",37:"n",38:"n",39:"n",40:"n",41:"u",42:"u",43:"u"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"n",6.1:"n",7:"n",7.1:"n",8:"n"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n",28:"u",29:"u"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n",8:"n",8.1:"n"},op_mini:{"5.0-8.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"n","4.4.3-4.4.4":"n",37:"n"},bb:{7:"n",10:"n"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",24:"n"},and_chr:{40:"n"},and_ff:{33:"n"},ie_mob:{10:"n",11:"n"},and_uc:{9.9:"n"}},notes:"Does not appear to work on Firefox mobile, despite recognition of the property.",notes_by_num:{},usage_perc_y:11.87,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"",ie_id:"",chrome_id:""},"link-icon-png":{title:"PNG favicons",description:"Icon used by browsers to identify a webpage or site. While all browsers support the `.ico` format, the PNG format can be preferable.",spec:"https://html.spec.whatwg.org/multipage/semantics.html#rel-icon",status:"ls",links:[{url:"http://css-tricks.com/favicon-quiz/",title:"Detailed info on favicons for various uses"}],categories:["HTML5"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"y",TP:"y"},firefox:{2:"y",3:"y",3.5:"y",3.6:"y",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"y #1",5:"y #1",6:"y #1",7:"y #1",8:"y #1",9:"y #1",10:"y #1",11:"y #1",12:"y #1",13:"y #1",14:"y #1",15:"y #1",16:"y #1",17:"y #1",18:"y #1",19:"y #1",20:"y #1",21:"y #1",22:"y #1",23:"y #1",24:"y #1",25:"y #1",26:"y #1",27:"y #1",28:"y #1",29:"y #1",30:"y #1",31:"y #1",32:"y #1",33:"y #1",34:"y #1",35:"y #1",36:"y #1",37:"y #1",38:"y #1",39:"y #1",40:"y #1",41:"y #1",42:"y #1",43:"y #1"},safari:{3.1:"y #2",3.2:"y #2",4:"y #2",5:"y #2",5.1:"y #2",6:"y #2",6.1:"y #2",7:"y #2",7.1:"y #2",8:"y #2"},opera:{9:"y #3","9.5-9.6":"y #3","10.0-10.1":"y #3",10.5:"y #3",10.6:"y #3",11:"y #3",11.1:"y #3",11.5:"y #3",11.6:"y #3",12:"y #3",12.1:"y #3",15:"y #1",16:"y #1",17:"y #1",18:"y #1",19:"y #1",20:"y #1",21:"y #1",22:"y #1",23:"y #1",24:"y #1",25:"y #1",26:"y #1",27:"y #1",28:"y #1",29:"y #1"},ios_saf:{3.2:"n #4","4.0-4.1":"n #4","4.2-4.3":"n #4","5.0-5.1":"n #4","6.0-6.1":"n #4","7.0-7.1":"n #4",8:"n #4",8.1:"n #4"},op_mini:{"5.0-8.0":"n #4"},android:{2.1:"y",2.2:"y",2.3:"y",3:"y",4:"y",4.1:"y","4.2-4.3":"y",4.4:"y #3","4.4.3-4.4.4":"y #3",37:"y #3"},bb:{7:"y",10:"n #4"},op_mob:{10:"n #4",11:"n #4",11.1:"n #4",11.5:"n #4",12:"n #4",12.1:"n #4",24:"n #4"},and_chr:{40:"y"},and_ff:{33:"y"},ie_mob:{10:"n #4",11:"n #4"},and_uc:{9.9:"y #2"}},notes:"Win8/IE10+ and iOS Safari support other types of icons for webpages too, using alternate tags.\r\n\r\nSee also [SVG favicons](#feat=link-icon-svg).",notes_by_num:{1:"If both ICO and PNG are available, will use ICO over PNG if ICO has better matching sizes set.",2:"If both ICO and PNG are available, will ALWAYS use ICO file, regardless of sizes set.",3:"If multiple formats are available, will use the last one loaded, regardless of sizes (effectively picks at random).",4:"Does not use favicons at all (but may have alternative for bookmarks, etc.)."},usage_perc_y:77.49,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"",ie_id:"",chrome_id:""},"link-icon-svg":{title:"SVG favicons",description:"Iconusedbybrowserstoidentifyawebpageorsite.Whileallbrowserssu
usage_perc_y:87.15,usage_perc_a:.15,ucprefix:!1,parent:"",keywords:"animations,css-animations,keyframe,keyframes",ie_id:"",chrome_id:"",shown:!0}},{}],62:[function(a,b,c){b.exports={title:"CSS box-decoration-break",description:"Controls whether the box's margins, borders, padding, and other decorations wrap the broken edges of the box fragments (when the box is split by a break (page/column/region/line).",spec:"http://www.w3.org/TR/css3-break/#break-decoration",status:"wd",links:[{url:"https://developer.mozilla.org/en-US/docs/Web/CSS/box-decoration-break",title:"MDN article"},{url:"http://jsbin.com/xojoro/edit?css,output",title:"Demo of effect on box border"}],bugs:[],categories:["CSS3"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",TP:"n"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n",28:"n",29:"n",30:"n",31:"n",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"y x",23:"y x",24:"y x",25:"y x",26:"y x",27:"y x",28:"y x",29:"y x",30:"y x",31:"y x",32:"y x",33:"y x",34:"y x",35:"y x",36:"y x",37:"y x",38:"y x",39:"y x",40:"y x",41:"y x",42:"y x",43:"y x"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"n",6.1:"y x",7:"y x",7.1:"y x",8:"y x"},opera:{9:"u","9.5-9.6":"u","10.0-10.1":"u",10.5:"u",10.6:"u",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y x",16:"y x",17:"y x",18:"y x",19:"y x",20:"y x",21:"y x",22:"y x",23:"y x",24:"y x",25:"y x",26:"y x",27:"y x",28:"y x",29:"y x"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y x",8:"y x",8.1:"y x"},op_mini:{"5.0-8.0":"y"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"y x","4.4.3-4.4.4":"y x",37:"y x"},bb:{7:"u",10:"y x"},op_mob:{10:"u",11:"y",11.1:"y",11.5:"y",12:"y",12.1:"y",24:"y x"},and_chr:{40:"y x"},and_ff:{33:"y"},ie_mob:{10:"n",11:"n"},and_uc:{9.9:"n"}},notes:"",notes_by_num:{},usage_perc_y:69.86,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"box-decoration,box decoration,break",ie_id:"",chrome_id:"",shown:!0}},{}],63:[function(a,b,c){b.exports={title:"CSS3 Box-shadow",description:"Method of displaying an inner or outer shadow effect to elements",spec:"http://www.w3.org/TR/css3-background/#box-shadow",status:"cr",links:[{url:"https://developer.mozilla.org/En/CSS/-moz-box-shadow",title:"MDN article"},{url:"http://westciv.com/tools/boxshadows/index.html",title:"Live editor"},{url:"http://tests.themasta.com/blogstuff/boxshadowdemo.html",title:"Demo of various effects"},{url:"http://www.css3files.com/shadow/",title:"Information page"},{url:"http://docs.webplatform.org/wiki/css/properties/box-shadow",title:"WebPlatform Docs"}],bugs:[{description:"Safari 6, iOS 6 and Android 2.3 default browser don't work with a 0px value for \"blur-radius\".\r\ne.g. `-webkit-box-shadow: 5px 1px 0px 1px #f04e29;`\r\ndoesn't work, but\r\n`-webkit-box-shadow: 5px 1px 1px 1px #f04e29`\r\ndoes."}],categories:["CSS3"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"y",10:"y",11:"y",TP:"y"},firefox:{2:"n",3:"n",3.5:"y x",3.6:"y x",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"y x",5:"y x",6:"y x",7:"y x",8:"y x",9:"y x",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y",39:"y",40:"y",41:"y",42:"y",43:"y"},safari:{3.1:"a x",3.2:"a x",4:"a x",5:"y x",5.1:"y",6:"y",6.1:"y",7:"y",7.1:"y",8:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"y",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y"
title:"MDN article"},{url:"http://docs.webplatform.org/wiki/css/properties/position",title:"WebPlatform Docs"},{url:"https://github.com/filamentgroup/fixed-sticky",title:"Polyfill"},{url:"https://github.com/wilddeer/stickyfill",title:"Another polyfill"}],bugs:[{description:"Firefox and Safari do not appear to support [sticky table headers](http://jsfiddle.net/Mf4YT/2/). (see also [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=975644))"}],categories:["CSS"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",TP:"n"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n d #1",27:"n d #1",28:"n d #1",29:"n d #1",30:"n d #1",31:"n d #1",32:"y",33:"y",34:"y",35:"y",36:"y",37:"y",38:"y"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n d #2",24:"n d #2",25:"n d #2",26:"n d #2",27:"n d #2",28:"n d #2",29:"n d #2",30:"n d #2",31:"n d #2",32:"n d #2",33:"n d #2",34:"n d #2",35:"n d #2",36:"n d #2",37:"n",38:"n",39:"n",40:"n",41:"n",42:"n",43:"n"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"n",6.1:"y x",7:"y x",7.1:"y x",8:"y x"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n",28:"n",29:"n"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y x",8:"y x",8.1:"y x"},op_mini:{"5.0-8.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"n","4.4.3-4.4.4":"n",37:"n"},bb:{7:"n",10:"n"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",24:"n"},and_chr:{40:"n"},and_ff:{33:"y"},ie_mob:{10:"n",11:"n"},and_uc:{9.9:"n"}},notes:"",notes_by_num:{1:"Can be enabled in Firefox by setting the about:config preference layout.css.sticky.enabled to true",2:'Enabled in Chrome through the "experimental Web Platform features" flag in chrome://flags'},usage_perc_y:20.09,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"",ie_id:"positionsticky",chrome_id:"6190250464378880",shown:!0}},{}],76:[function(a,b,c){b.exports={title:"CSS3 text-align-last",description:"CSS property to describe how the last line of a block or a line right before a forced line break when `text-align` is `justify`.",spec:"http://www.w3.org/TR/css3-text/#text-align-last-property",status:"wd",links:[{url:"https://developer.mozilla.org/en-US/docs/Web/CSS/text-align-last",title:"MDN text-align-last"},{url:"http://blogs.adobe.com/webplatform/2014/02/25/improving-your-sites-visual-details-css3-text-align-last/",title:"Adobe Web Platform Article"}],bugs:[],categories:["CSS3"],stats:{ie:{5.5:"a #1",6:"a #1",7:"a #1",8:"a #1",9:"a #1",10:"a #1",11:"a #1",TP:"a #1"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"y x",13:"y x",14:"y x",15:"y x",16:"y x",17:"y x",18:"y x",19:"y x",20:"y x",21:"y x",22:"y x",23:"y x",24:"y x",25:"y x",26:"y x",27:"y x",28:"y x",29:"y x",30:"y x",31:"y x",32:"y x",33:"y x",34:"y x",35:"y x",36:"y x",37:"y x",38:"y x"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n",28:"n",29:"n",30:"n",31:"n",32:"n",33:"n",34:"n",35:"n d #2",36:"n d #2",37:"n d #2",38:"n d #2",39:"n d #2",40:"n d #2",41:"n d #2",42:"n d #2",43:"n d #2"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"n",6.1:"n",7:"n",7.1:"n",8:"n"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n d #3",23:"n d #3",24:"n d #3",25:"n d #3",26:"n d #3",27:"n d #3",28:"n d #3",29:"n d #3"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n",8:"n",8.1:"n"},op_mini:{"5.0-8.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"n
title:"Pointer events",description:'This specification integrates various inputs from mice, touchscreens, and pens, making separate implementations no longer necessary and authoring for cross-device pointers easier. Not to be mistaken with the unrelated "pointer-events" CSS property.',spec:"http://www.w3.org/TR/pointerevents/",status:"cr",links:[{url:"http://blogs.msdn.com/b/ie/archive/2011/09/20/touch-input-for-ie10-and-metro-style-apps.aspx",title:"Implementation of Pointer Events in IE10"},{url:"http://blogs.msdn.com/b/eternalcoding/archive/2013/01/16/hand-js-a-polyfill-for-supporting-pointer-events-on-every-browser.aspx",title:"Hand.js, the polyfill for browsers only supporting Touch Events"},{url:"http://blogs.msdn.com/b/davrous/archive/2013/02/20/handling-touch-in-your-html5-apps-thanks-to-the-pointer-events-of-ie10-and-windows-8.aspx",title:"Article & tutorial"}],bugs:[],categories:["DOM","JS API"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"a x",11:"y",TP:"y"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"p",7:"p",8:"p",9:"p",10:"p",11:"p",12:"p",13:"p",14:"p",15:"p",16:"p",17:"p",18:"p",19:"p",20:"p",21:"p",22:"p",23:"p",24:"p",25:"p",26:"p",27:"p",28:"p",29:"p",30:"p",31:"p",32:"p",33:"p",34:"p",35:"p",36:"p",37:"p",38:"p"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"p",23:"p",24:"p",25:"p",26:"p",27:"p",28:"p",29:"p",30:"p",31:"p",32:"p",33:"p",34:"p",35:"p",36:"p",37:"p",38:"p",39:"p",40:"p",41:"p",42:"p",43:"p"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"n",6.1:"u",7:"u",7.1:"u",8:"u"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"p",16:"p",17:"p",18:"p",19:"p",20:"p",21:"p",22:"p",23:"p",24:"p",25:"p",26:"p",27:"p",28:"p",29:"p"},ios_saf:{3.2:"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"p","7.0-7.1":"p",8:"p",8.1:"p"},op_mini:{"5.0-8.0":"n"},android:{2.1:"p",2.2:"p",2.3:"p",3:"p",4:"p",4.1:"p","4.2-4.3":"p",4.4:"p","4.4.3-4.4.4":"p",37:"p"},bb:{7:"p",10:"p"},op_mob:{10:"n",11:"p",11.1:"p",11.5:"p",12:"p",12.1:"p",24:"p"},and_chr:{40:"p"},and_ff:{33:"p"},ie_mob:{10:"a x",11:"y"},and_uc:{9.9:"p"}},notes:"Partial support in IE10 refers the lack of pointerenter and pointerleave events. Firefox Nightly provides 'dom.w3c_pointer_events.enabled' option to support this specification starting with version 28.",notes_by_num:{},usage_perc_y:8.74,usage_perc_a:1.97,ucprefix:!1,parent:"",keywords:"pointerdown,pointermove,pointerup,pointercancel,pointerover,pointerout,pointerenter,pointerleave",ie_id:"pointerevents",chrome_id:"4504699138998272",shown:!0}},{}],88:[function(a,b,c){b.exports={title:"text-decoration styling",description:"Method of defining the type, style and color of lines in the text-decoration property. These can be defined as shorthand (e.g. `text-decoration: line-through dashed blue`) or as single properties (e.g. `text-decoration-color: blue`)",spec:"http://www.w3.org/TR/css-text-decor-3/#line-decoration",status:"cr",links:[{url:"https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-style",title:"MDN Documentation for text-decoration-style"},{url:"https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-color",title:"MDN Documentation for text-decoration-color"},{url:"https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-line",title:"MDN Documentation for text-decoration-line"}],bugs:[],categories:["CSS3"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",TP:"n"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"y x",7:"y x",8:"y x",9:"y x",10:"y x",11:"y x",12:"y x",13:"y x",14:"y x",15:"y x",16:"y x",17:"y x",18:"y x",19:"y x",20:"y x",21:"y x",22:"y x",23:"y x",24:"y x",25:"y x",26:"y x",27:"y x",28:"y x",29:"y x",30:"y x",31:"y x",32:"y x",33:"y x",34:"y x",35:"y x",36:"y",37:"y",38:"y"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n x d #1",27:"n x d #1",28:"n x d #1"
c.source=this._sources.at(j+m.value),j+=m.value,l=m.rest,0===l.length||this._nextCharIsMappingSeparator(l))thrownewError("Found a source, but no line and column");if(h.decode(l,m),c.originalLine=g+m.value,g=c.originalLine,c.originalLine+=1,l=m.rest,0===l.length||this._nextCharIsMappingSeparator(l))thrownewError("Found a source and line, but no column");h.decode(l,m),c.originalColumn=i+m.value,i=c.originalColumn,l=m.rest,l.length>0&&!this._nextCharIsMappingSeparator(l)&&(h.decode(l,m),c.name=this._names.at(k+m.value),k+=m.value,l=m.rest)}this.__generatedMappings.push(c),"number"==typeofc.originalLine&&this.__originalMappings.push(c)}this.__generatedMappings.sort(e.compareByGeneratedPositions),this.__originalMappings.sort(e.compareByOriginalPositions)},d.prototype._findMapping=function(a,b,c,d,e){if(a[c]<=0)thrownewTypeError("Line must be greater than or equal to 1, got "+a[c]);if(a[d]<0)thrownewTypeError("Column must be greater than or equal to 0, got "+a[d]);returnf.search(a,b,e)},d.prototype.computeColumnSpans=function(){for(vara=0;a<this._generatedMappings.length;++a){varb=this._generatedMappings[a];if(a+1<this._generatedMappings.length){varc=this._generatedMappings[a+1];if(b.generatedLine===c.generatedLine){b.lastGeneratedColumn=c.generatedColumn-1;continue}}b.lastGeneratedColumn=1/0}},d.prototype.originalPositionFor=function(a){varb={generatedLine:e.getArg(a,"line"),generatedColumn:e.getArg(a,"column")},c=this._findMapping(b,this._generatedMappings,"generatedLine","generatedColumn",e.compareByGeneratedPositions);if(c>=0){vard=this._generatedMappings[c];if(d.generatedLine===b.generatedLine){varf=e.getArg(d,"source",null);returnnull!=f&&null!=this.sourceRoot&&(f=e.join(this.sourceRoot,f)),{source:f,line:e.getArg(d,"originalLine",null),column:e.getArg(d,"originalColumn",null),name:e.getArg(d,"name",null)}}}return{source:null,line:null,column:null,name:null}},d.prototype.sourceContentFor=function(a,b){if(!this.sourcesContent)returnnull;if(null!=this.sourceRoot&&(a=e.relative(this.sourceRoot,a)),this._sources.has(a))returnthis.sourcesContent[this._sources.indexOf(a)];varc;if(null!=this.sourceRoot&&(c=e.urlParse(this.sourceRoot))){vard=a.replace(/^file:\/\//,"");if("file"==c.scheme&&this._sources.has(d))returnthis.sourcesContent[this._sources.indexOf(d)];if((!c.path||"/"==c.path)&&this._sources.has("/"+a))returnthis.sourcesContent[this._sources.indexOf("/"+a)]}if(b)returnnull;thrownewError('"'+a+'" is not in the SourceMap.')},d.prototype.generatedPositionFor=function(a){varb={source:e.getArg(a,"source"),originalLine:e.getArg(a,"line"),originalColumn:e.getArg(a,"column")};null!=this.sourceRoot&&(b.source=e.relative(this.sourceRoot,b.source));varc=this._findMapping(b,this._originalMappings,"originalLine","originalColumn",e.compareByOriginalPositions);if(c>=0){vard=this._originalMappings[c];return{line:e.getArg(d,"generatedLine",null),column:e.getArg(d,"generatedColumn",null),lastColumn:e.getArg(d,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},b.BasicSourceMapConsumer=d})},{"./array-set":116,"./base64-vlq":117,"./binary-search":120,"./source-map-consumer":123,"./util":126,amdefine:127}],120:[function(a,b,c){if("function"!=typeofd)vard=a("amdefine")(b,a);d(function(a,b,c){functiond(a,b,c,e,f){varg=Math.floor((b-a)/2)+a,h=f(c,e[g],!0);return0===h?g:h>0?b-g>1?d(g,b,c,e,f):g:g-a>1?d(a,g,c,e,f):0>a?-1:a}b.search=function(a,b,c){return0===b.length?-1:d(-1,b.length,a,b,c)}})},{amdefine:127}],121:[function(a,b,c){if("function"!=typeofd)vard=a("amdefine")(b,a);d(function(a,b,c){functiond(a){varb=a;"string"==typeofa&&(b=JSON.parse(a.replace(/^\)\]\}'/,"")));varc=e.getArg(b,"version"),d=e.getArg(b,"sections");if(c!=this._version)thrownewError("Unsupported version: "+c);varf={line:-1,column:0};this._sections=d.map(function(a){if(a.url)thrownewError("Support for url field in sections not implemented.");varb=e.getArg(a,"offset"),c=e.getArg(b,"line"),d=e.getArg(b,"column");if(c<f.line||c===f.line&&d<f.column)thrownewError("Sectionoffsetsmustbeorderedandnon-
"use strict";functione(b,e){functionf(a){varb,c;for(b=0;a[b];b+=1)if(c=a[b],"."===c)a.splice(b,1),b-=1;elseif(".."===c){if(1===b&&(".."===a[2]||".."===a[0]))break;b>0&&(a.splice(b-1,2),b-=2)}}functiong(a,b){varc;returna&&"."===a.charAt(0)&&b&&(c=b.split("/"),c=c.slice(0,c.length-1),c=c.concat(a.split("/")),f(c),a=c.join("/")),a}functionh(a){returnfunction(b){returng(b,a)}}functioni(a){functionb(b){o[a]=b}returnb.fromText=function(a,b){thrownewError("amdefine does not implement load.fromText")},b}functionj(a,c,f){varg,h,i,j;if(a)h=o[a]={},i={id:a,uri:d,exports:h},g=l(e,h,i,a);else{if(p)thrownewError("amdefine with no module ID cannot be called more than once per file.");p=!0,h=b.exports,i=b,g=l(e,h,i,b.id)}c&&(c=c.map(function(a){returng(a)})),j="function"==typeoff?f.apply(i.exports,c):f,void0!==j&&(i.exports=j,a&&(o[a]=i.exports))}functionk(a,b,c){Array.isArray(a)?(c=b,b=a,a=void0):"string"!=typeofa&&(c=a,a=b=void0),b&&!Array.isArray(b)&&(c=b,b=void0),b||(b=["require","exports","module"]),a?n[a]=[a,b,c]:j(a,b,c)}varl,m,n={},o={},p=!1,q=a("path");returnl=function(a,b,d,e){functionf(f,g){return"string"==typeoff?m(a,b,d,f,e):(f=f.map(function(c){returnm(a,b,d,c,e)}),voidc.nextTick(function(){g.apply(null,f)}))}returnf.toUrl=function(a){return0===a.indexOf(".")?g(a,q.dirname(d.filename)):a},f},e=e||function(){returnb.require.apply(b,arguments)},m=function(a,b,c,d,e){varf,k,p=d.indexOf("!"),q=d;if(-1===p){if(d=g(d,e),"require"===d)returnl(a,b,c,e);if("exports"===d)returnb;if("module"===d)returnc;if(o.hasOwnProperty(d))returno[d];if(n[d])returnj.apply(null,n[d]),o[d];if(a)returna(q);thrownewError("No module with ID: "+d)}returnf=d.substring(0,p),d=d.substring(p+1,d.length),k=m(a,b,c,f,e),d=k.normalize?k.normalize(d,h(e)):g(d,e),o[d]?o[d]:(k.load(d,l(a,b,c,e),i(d),{}),o[d])},k.require=function(a){returno[a]?o[a]:n[a]?(j.apply(null,n[a]),o[a]):void0},k.amd={},k}b.exports=e}).call(this,a("_process"),"/../node_modules/postcss/node_modules/source-map/node_modules/amdefine/amdefine.js")},{_process:54,path:53}]},{},[1])(1)}),/*!
!function(a,b){functionc(b){returna.less[b.split("/")[1]]}functiond(a,b){"undefined"!=typeofconsole&&w.logLevel>=b&&console.log("less: "+a)}functione(a){returna.replace(/^[a-z-]+:\/+?[^\/]+/,"").replace(/^\//,"").replace(/\.[a-zA-Z]+$/,"").replace(/[^\.\w-]+/g,"-").replace(/\./g,":")}functionf(a,c){vare="{line} {content}",f=a.filename||c,g=[],h=(a.type||"Syntax")+"Error: "+(a.message||"There is an error in your .less file")+" in "+f+" ",i=function(a,c,d){a.extract[c]!==b&&g.push(e.replace(/\{line\}/,(parseInt(a.line,10)||0)+(c-1)).replace(/\{class\}/,d).replace(/\{content\}/,a.extract[c]))};a.extract?(i(a,0,""),i(a,1,"line"),i(a,2,""),h+="on line "+a.line+", column "+(a.column+1)+":\n"+g.join("\n")):a.stack&&(h+=a.stack),d(h,z.errors)}functiong(a,b,c){varf=b.href||"",g="less:"+(b.title||e(f)),h=document.getElementById(g),i=!1,j=document.createElement("style");j.setAttribute("type","text/css"),b.media&&j.setAttribute("media",b.media),j.id=g,j.styleSheet||(j.appendChild(document.createTextNode(a)),i=null!==h&&h.childNodes.length>0&&j.childNodes.length>0&&h.firstChild.nodeValue===j.firstChild.nodeValue);vark=document.getElementsByTagName("head")[0];if(null===h||i===!1){varl=b&&b.nextSibling||null;l?l.parentNode.insertBefore(j,l):k.appendChild(j)}if(h&&i===!1&&h.parentNode.removeChild(h),j.styleSheet)try{j.styleSheet.cssText=a}catch(m){thrownewError("Couldn't reassign styleSheet.cssText.")}if(c&&D){d("saving "+f+" to cache.",z.info);try{D.setItem(f,a),D.setItem(f+":timestamp",c)}catch(m){d("failed to save",z.errors)}}}functionh(a){returnw.postProcessor&&"function"==typeofw.postProcessor&&(a=w.postProcessor.call(a,a)||a),a}functioni(a,c){vard,f,h="less-error-message:"+e(c||""),i='<li><label>{line}</label><pre class="{class}">{content}</pre></li>',j=document.createElement("div"),k=[],l=a.filename||c,m=l.match(/([^\/]+(\?.*)?)$/)[1];j.id=h,j.className="less-error-message",f="<h3>"+(a.type||"Syntax")+"Error: "+(a.message||"There is an error in your .less file")+'</h3><p>in <a href="'+l+'">'+m+"</a> ";varn=function(a,c,d){a.extract[c]!==b&&k.push(i.replace(/\{line\}/,(parseInt(a.line,10)||0)+(c-1)).replace(/\{class\}/,d).replace(/\{content\}/,a.extract[c]))};a.extract?(n(a,0,""),n(a,1,"line"),n(a,2,""),f+="on line "+a.line+", column "+(a.column+1)+":</p><ul>"+k.join("")+"</ul>"):a.stack&&(f+="<br/>"+a.stack.split("\n").slice(1).join("<br/>")),j.innerHTML=f,g([".less-error-message ul, .less-error-message li {","list-style-type: none;","margin-right: 15px;","padding: 4px 0;","margin: 0;","}",".less-error-message label {","font-size: 12px;","margin-right: 15px;","padding: 4px 0;","color: #cc7777;","}",".less-error-message pre {","color: #dd6666;","padding: 4px 0;","margin: 0;","display: inline-block;","}",".less-error-message pre.line {","color: #ff0000;","}",".less-error-message h3 {","font-size: 20px;","font-weight: bold;","padding: 15px 0 5px 0;","margin: 0;","}",".less-error-message a {","color: #10a","}",".less-error-message .error {","color: red;","font-weight: bold;","padding-bottom: 2px;","border-bottom: 1px dashed red;","}"].join("\n"),{title:"error-message"}),j.style.cssText=["font-family: Arial, sans-serif","border: 1px solid #e00","background-color: #eee","border-radius: 5px","-webkit-border-radius: 5px","-moz-border-radius: 5px","color: #e00","padding: 15px","margin-bottom: 15px"].join(";"),"development"==w.env&&(d=setInterval(function(){document.body&&(document.getElementById(h)?document.body.replaceChild(j,document.getElementById(h)):document.body.insertBefore(j,document.body.firstChild),clearInterval(d))},10))}functionj(a,b){w.errorReporting&&"html"!==w.errorReporting?"console"===w.errorReporting?f(a,b):"function"==typeofw.errorReporting&&w.errorReporting("add",a,b):i(a,b)}functionk(a){varb=document.getElementById("less-error-message:"+e(a));b&&b.parentNode.removeChild(b)}functionl(){}functionm(a){w.errorReporting&&"html"!==w.errorReporting?"console"===w.errorReporting?l(a):"function"==typeofw.errorReporting&&w.errorReporting("remove",a):k(a)}functionn(a){for(varb,c=document.getElementsB
newd.Quoted(a.quote||"",f,a.escaped)},"%":function(a){for(varb=Array.prototype.slice.call(arguments,1),c=a.value,e=0;e<b.length;e++)c=c.replace(/%[sda]/i,function(a){varc=a.match(/s/i)?b[e].value:b[e].toCSS();returna.match(/[A-Z]$/)?encodeURIComponent(c):c});returnc=c.replace(/%%/g,"%"),newd.Quoted(a.quote||"",c,a.escaped)},unit:function(a,b){if(!(ainstanceofd.Dimension))throw{type:"Argument",message:"the first argument to unit must be a number"+(ainstanceofd.Operation?". Have you forgotten parenthesis?":"")};returnb=b?binstanceofd.Keyword?b.value:b.toCSS():"",newd.Dimension(a.value,b)},convert:function(a,b){returna.convertTo(b.value)},round:function(a,b){varc="undefined"==typeofb?0:b.value;returne(function(a){returna.toFixed(c)},null,a)},pi:function(){returnnewd.Dimension(Math.PI)},mod:function(a,b){returnnewd.Dimension(a.value%b.value,a.unit)},pow:function(a,b){if("number"==typeofa&&"number"==typeofb)a=newd.Dimension(a),b=newd.Dimension(b);elseif(!(ainstanceofd.Dimension&&binstanceofd.Dimension))throw{type:"Argument",message:"arguments must be numbers"};returnnewd.Dimension(Math.pow(a.value,b.value),a.unit)},_minmax:function(a,c){switch(c=Array.prototype.slice.call(c),c.length){case0:throw{type:"Argument",message:"one or more arguments required"}}vare,f,g,h,i,j,k,l,m=[],n={};for(e=0;e<c.length;e++)if(g=c[e],ginstanceofd.Dimension)if(h=""===g.unit.toString()&&l!==b?newd.Dimension(g.value,l).unify():g.unify(),j=""===h.unit.toString()&&k!==b?k:h.unit.toString(),k=""!==j&&k===b||""!==j&&""===m[0].unify().unit.toString()?j:k,l=""!==j&&l===b?g.unit.toString():l,f=n[""]!==b&&""!==j&&j===k?n[""]:n[j],f!==b)i=""===m[f].unit.toString()&&l!==b?newd.Dimension(m[f].value,l).unify():m[f].unify(),(a&&h.value<i.value||!a&&h.value>i.value)&&(m[f]=g);else{if(k!==b&&j!==k)throw{type:"Argument",message:"incompatible types"};n[j]=m.length,m.push(g)}elseArray.isArray(c[e].value)&&Array.prototype.push.apply(c,Array.prototype.slice.call(c[e].value));return1==m.length?m[0]:(c=m.map(function(a){returna.toCSS(this.env)}).join(this.env.compress?",":", "),newd.Anonymous((a?"min":"max")+"("+c+")"))},min:function(){returnthis._minmax(!0,arguments)},max:function(){returnthis._minmax(!1,arguments)},"get-unit":function(a){returnnewd.Anonymous(a.unit)},argb:function(a){returnnewd.Anonymous(a.toARGB())},percentage:function(a){returnnewd.Dimension(100*a.value,"%")},color:function(a){if(ainstanceofd.Quoted){varb,c=a.value;if(b=d.Color.fromKeyword(c))returnb;if(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/.test(c))returnnewd.Color(c.slice(1));throw{type:"Argument",message:"argument must be a color keyword or 3/6 digit hex e.g. #FFF"}}throw{type:"Argument",message:"argument must be a string"}},iscolor:function(a){returnthis._isa(a,d.Color)},isnumber:function(a){returnthis._isa(a,d.Dimension)},isstring:function(a){returnthis._isa(a,d.Quoted)},iskeyword:function(a){returnthis._isa(a,d.Keyword)},isurl:function(a){returnthis._isa(a,d.URL)},ispixel:function(a){returnthis.isunit(a,"px")},ispercentage:function(a){returnthis.isunit(a,"%")},isem:function(a){returnthis.isunit(a,"em")},isunit:function(a,b){returnainstanceofd.Dimension&&a.unit.is(b.value||b)?d.True:d.False},_isa:function(a,b){returnainstanceofb?d.True:d.False},tint:function(a,b){returnthis.mix(this.rgb(255,255,255),a,b)},shade:function(a,b){returnthis.mix(this.rgb(0,0,0),a,b)},extract:function(a,b){returnb=b.value-1,Array.isArray(a.value)?a.value[b]:Array(a)[b]},length:function(a){varb=Array.isArray(a.value)?a.value.length:1;returnnewd.Dimension(b)},"data-uri":function(b,e){if("undefined"!=typeofa)returnnewd.URL(e||b,this.currentFileInfo).eval(this.env);varf=b.value,g=e&&e.value,h=c("./fs"),i=c("path"),j=!1;arguments.length<2&&(g=f);vark=g.indexOf("#"),l="";if(-1!==k&&(l=g.slice(k),g=g.slice(0,k)),this.env.isPathRelative(g)&&(g=this.currentFileInfo.relativeUrls?i.join(this.currentFileInfo.currentDirectory,g):i.join(this.currentFileInfo.entryPath,g)),arguments.length<2){varm;try{m=c("mime")}catch(n){m=d._mime}f=m.lookup(g);varo=m
returnb},bubbleSelectors:function(b){b&&(this.rules=[newa.Ruleset(b.slice(0),[this.rules[0]])])}}}(c("../tree")),function(a){a.mixin={},a.mixin.Call=function(b,c,d,e,f){this.selector=newa.Selector(b),this.arguments=c&&c.length?c:null,this.index=d,this.currentFileInfo=e,this.important=f},a.mixin.Call.prototype={type:"MixinCall",accept:function(a){this.selector&&(this.selector=a.visit(this.selector)),this.arguments&&(this.arguments=a.visitArray(this.arguments))},eval:function(b){varc,d,e,f,g,h,i,j,k,l,m,n,o,p=[],q=!1,r=[],s=[],t=a.defaultFunc,u=0,v=1,w=2;for(e=this.arguments&&this.arguments.map(function(a){return{name:a.name,value:a.value.eval(b)}}),f=0;f<b.frames.length;f++)if((c=b.frames[f].find(this.selector)).length>0){for(j=!0,g=0;g<c.length;g++){for(d=c[g],i=!1,h=0;h<b.frames.length;h++)if(!(dinstanceofa.mixin.Definition)&&d===(b.frames[h].originalRuleset||b.frames[h])){i=!0;break}if(!i&&d.matchArgs(e,b)){if(l={mixin:d,group:u},d.matchCondition){for(h=0;2>h;h++)t.value(h),s[h]=d.matchCondition(e,b);(s[0]||s[1])&&(s[0]!=s[1]&&(l.group=s[1]?v:w),r.push(l))}elser.push(l);q=!0}}for(t.reset(),n=[0,0,0],g=0;g<r.length;g++)n[r[g].group]++;if(n[u]>0)m=w;elseif(m=v,n[v]+n[w]>1)throw{type:"Runtime",message:"Ambiguous use of `default()` found when matching for `"+this.format(e)+"`",index:this.index,filename:this.currentFileInfo.filename};for(g=0;g<r.length;g++)if(l=r[g].group,l===u||l===m)try{d=r[g].mixin,dinstanceofa.mixin.Definition||(o=d.originalRuleset||d,d=newa.mixin.Definition("",[],d.rules,null,!1),d.originalRuleset=o),Array.prototype.push.apply(p,d.evalCall(b,e,this.important).rules)}catch(x){throw{message:x.message,index:this.index,filename:this.currentFileInfo.filename,stack:x.stack}}if(q){if(!this.currentFileInfo||!this.currentFileInfo.reference)for(f=0;f<p.length;f++)k=p[f],k.markReferenced&&k.markReferenced();returnp}}throwj?{type:"Runtime",message:"No matching definition was found for `"+this.format(e)+"`",index:this.index,filename:this.currentFileInfo.filename}:{type:"Name",message:this.selector.toCSS().trim()+" is undefined",index:this.index,filename:this.currentFileInfo.filename}},format:function(a){returnthis.selector.toCSS().trim()+"("+(a?a.map(function(a){varb="";returna.name&&(b+=a.name+":"),b+=a.value.toCSS?a.value.toCSS():"???"}).join(", "):"")+")"}},a.mixin.Definition=function(b,c,d,e,f,g){this.name=b,this.selectors=[newa.Selector([newa.Element(null,b,this.index,this.currentFileInfo)])],this.params=c,this.condition=e,this.variadic=f,this.arity=c.length,this.rules=d,this._lookups={},this.required=c.reduce(function(a,b){return!b.name||b.name&&!b.value?a+1:a},0),this.parent=a.Ruleset.prototype,this.frames=g},a.mixin.Definition.prototype={type:"MixinDefinition",accept:function(a){this.params&&this.params.length&&(this.params=a.visitArray(this.params)),this.rules=a.visitArray(this.rules),this.condition&&(this.condition=a.visit(this.condition))},variable:function(a){returnthis.parent.variable.call(this,a)},variables:function(){returnthis.parent.variables.call(this)},find:function(){returnthis.parent.find.apply(this,arguments)},rulesets:function(){returnthis.parent.rulesets.apply(this)},evalParams:function(b,c,d,e){varf,g,h,i,j,k,l,m,n=newa.Ruleset(null,null),o=this.params.slice(0),p=0;if(c=newa.evalEnv(c,[n].concat(c.frames)),d)for(d=d.slice(0),p=d.length,h=0;p>h;h++)if(g=d[h],k=g&&g.name){for(l=!1,i=0;i<o.length;i++)if(!e[i]&&k===o[i].name){e[i]=g.value.eval(b),n.prependRule(newa.Rule(k,g.value.eval(b))),l=!0;break}if(l){d.splice(h,1),h--;continue}throw{type:"Runtime",message:"Named argument for "+this.name+" "+d[h].name+" not found"}}for(m=0,h=0;h<o.length;h++)if(!e[h]){if(g=d&&d[m],k=o[h].name)if(o[h].variadic){for(f=[],i=m;p>i;i++)f.push(d[i].value.eval(b));n.prependRule(newa.Rule(k,newa.Expression(f).eval(b)))}else{if(j=g&&g.value)j=j.eval(b);else{if(!o[h].value)throw{type:"Runtime",message:"wrong number of arguments for "+this.name+" ("+p+" for "+this.arity+")"};j=o[h].value.eval(c),n.resetCache()}n.prependRule(newa.Rule(k,j)),e[h]=j}if(o[h].variadic&&d)for(i=m;p>i;i++)e[i]=
};s.prototype.push=function(a,b){varc,d,e=this.strm,f=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?m:l,e.input="string"==typeofa?i.string2buf(a):a,e.next_in=0,e.avail_in=e.input.length;do{if(0===e.avail_out&&(e.output=newh.Buf8(f),e.next_out=0,e.avail_out=f),c=g.deflate(e,d),c!==o&&c!==n)returnthis.onEnd(c),this.ended=!0,!1;(0===e.avail_out||0===e.avail_in&&d===m)&&this.onData("string"===this.options.to?i.buf2binstring(h.shrinkBuf(e.output,e.next_out)):h.shrinkBuf(e.output,e.next_out))}while((e.avail_in>0||0===e.avail_out)&&c!==o);returnd===m?(c=g.deflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===n):!0},s.prototype.onData=function(a){this.chunks.push(a)},s.prototype.onEnd=function(a){a===n&&(this.result="string"===this.options.to?this.chunks.join(""):h.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Deflate=s,c.deflate=d,c.deflateRaw=e,c.gzip=f},{"./utils/common":27,"./utils/strings":28,"./zlib/deflate.js":32,"./zlib/messages":37,"./zlib/zstream":39}],26:[function(a,b,c){"use strict";functiond(a,b){varc=newm(b);if(c.push(a,!0),c.err)throwc.msg;returnc.result}functione(a,b){returnb=b||{},b.raw=!0,d(a,b)}varf=a("./zlib/inflate.js"),g=a("./utils/common"),h=a("./utils/strings"),i=a("./zlib/constants"),j=a("./zlib/messages"),k=a("./zlib/zstream"),l=a("./zlib/gzheader"),m=function(a){this.options=g.assign({chunkSize:16384,windowBits:0,to:""},a||{});varb=this.options;b.raw&&b.windowBits>=0&&b.windowBits<16&&(b.windowBits=-b.windowBits,0===b.windowBits&&(b.windowBits=-15)),!(b.windowBits>=0&&b.windowBits<16)||a&&a.windowBits||(b.windowBits+=32),b.windowBits>15&&b.windowBits<48&&0===(15&b.windowBits)&&(b.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=newk,this.strm.avail_out=0;varc=f.inflateInit2(this.strm,b.windowBits);if(c!==i.Z_OK)thrownewError(j[c]);this.header=newl,f.inflateGetHeader(this.strm,this.header)};m.prototype.push=function(a,b){varc,d,e,j,k,l=this.strm,m=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?i.Z_FINISH:i.Z_NO_FLUSH,l.input="string"==typeofa?h.binstring2buf(a):a,l.next_in=0,l.avail_in=l.input.length;do{if(0===l.avail_out&&(l.output=newg.Buf8(m),l.next_out=0,l.avail_out=m),c=f.inflate(l,i.Z_NO_FLUSH),c!==i.Z_STREAM_END&&c!==i.Z_OK)returnthis.onEnd(c),this.ended=!0,!1;l.next_out&&(0===l.avail_out||c===i.Z_STREAM_END||0===l.avail_in&&d===i.Z_FINISH)&&("string"===this.options.to?(e=h.utf8border(l.output,l.next_out),j=l.next_out-e,k=h.buf2string(l.output,e),l.next_out=j,l.avail_out=m-j,j&&g.arraySet(l.output,l.output,e,j,0),this.onData(k)):this.onData(g.shrinkBuf(l.output,l.next_out)))}while(l.avail_in>0&&c!==i.Z_STREAM_END);returnc===i.Z_STREAM_END&&(d=i.Z_FINISH),d===i.Z_FINISH?(c=f.inflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===i.Z_OK):!0},m.prototype.onData=function(a){this.chunks.push(a)},m.prototype.onEnd=function(a){a===i.Z_OK&&(this.result="string"===this.options.to?this.chunks.join(""):g.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Inflate=m,c.inflate=d,c.inflateRaw=e,c.ungzip=d},{"./utils/common":27,"./utils/strings":28,"./zlib/constants":30,"./zlib/gzheader":33,"./zlib/inflate.js":35,"./zlib/messages":37,"./zlib/zstream":39}],27:[function(a,b,c){"use strict";vard="undefined"!=typeofUint8Array&&"undefined"!=typeofUint16Array&&"undefined"!=typeofInt32Array;c.assign=function(a){for(varb=Array.prototype.slice.call(arguments,1);b.length;){varc=b.shift();if(c){if("object"!=typeofc)thrownewTypeError(c+"must be non-object");for(vardinc)c.hasOwnProperty(d)&&(a[d]=c[d])}}returna},c.shrinkBuf=function(a,b){returna.length===b?a:a.subarray?a.subarray(0,b):(a.length=b,a)};vare={arraySet:function(a,b,c,d,e){if(b.subarray&&a.subarray)returnvoida.set(b.subarray(c,c+d),e);for(varf=0;d>f;f++)a[e+f]=b[c+f]},flattenChunks:function(a){varb,c,d,e,f,g;for(d=0,b=0,c=a.length;c>b;b++)d+=a[b].length;for(g=newUint8Array(d),e=0,b=0,c=a.length;c>b;b++)f=a[b],g.set(f,e),e+=f.length;returng}},f={arraySet:function(a,b,c,d,e){for(varf=0;d>f;f++
if(q=p-j,c.offset>q){if(q=c.offset-q,q>c.whave&&c.sane){a.msg="invalid distance too far back",c.mode=la;break}q>c.wnext?(q-=c.wnext,oa=c.wsize-q):oa=c.wnext-q,q>c.length&&(q=c.length),pa=c.window}elsepa=f,oa=h-c.offset,q=c.length;q>j&&(q=j),j-=q,c.length-=q;dof[h++]=pa[oa++];while(--q);0===c.length&&(c.mode=ca);break;caseha:if(0===j)breaka;f[h++]=c.length,j--,c.mode=ca;break;caseia:if(c.wrap){for(;32>n;){if(0===i)breaka;i--,m|=e[g++]<<n,n+=8}if(p-=j,a.total_out+=p,c.total+=p,p&&(a.adler=c.check=c.flags?t(c.check,f,p,h-p):s(c.check,f,p,h-p)),p=j,(c.flags?m:d(m))!==c.check){a.msg="incorrect data check",c.mode=la;break}m=0,n=0}c.mode=ja;caseja:if(c.wrap&&c.flags){for(;32>n;){if(0===i)breaka;i--,m+=e[g++]<<n,n+=8}if(m!==(4294967295&c.total)){a.msg="incorrect length check",c.mode=la;break}m=0,n=0}c.mode=ka;caseka:xa=D;breaka;casela:xa=G;breaka;casema:returnH;casena:default:returnF}returna.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,(c.wsize||p!==a.avail_out&&c.mode<la&&(c.mode<ia||b!==z))&&l(a,a.output,a.next_out,p-a.avail_out)?(c.mode=ma,H):(o-=a.avail_in,p-=a.avail_out,a.total_in+=o,a.total_out+=p,c.total+=p,c.wrap&&p&&(a.adler=c.check=c.flags?t(c.check,f,p,a.next_out-p):s(c.check,f,p,a.next_out-p)),a.data_type=c.bits+(c.last?64:0)+(c.mode===V?128:0)+(c.mode===ba||c.mode===Y?256:0),(0===o&&0===p||b===z)&&xa===C&&(xa=I),xa)}functionn(a){if(!a||!a.state)returnF;varb=a.state;returnb.window&&(b.window=null),a.state=null,C}functiono(a,b){varc;returna&&a.state?(c=a.state,0===(2&c.wrap)?F:(c.head=b,b.done=!1,C)):F}varp,q,r=a("../utils/common"),s=a("./adler32"),t=a("./crc32"),u=a("./inffast"),v=a("./inftrees"),w=0,x=1,y=2,z=4,A=5,B=6,C=0,D=1,E=2,F=-2,G=-3,H=-4,I=-5,J=8,K=1,L=2,M=3,N=4,O=5,P=6,Q=7,R=8,S=9,T=10,U=11,V=12,W=13,X=14,Y=15,Z=16,$=17,_=18,aa=19,ba=20,ca=21,da=22,ea=23,fa=24,ga=25,ha=26,ia=27,ja=28,ka=29,la=30,ma=31,na=32,oa=852,pa=592,qa=15,ra=qa,sa=!0;c.inflateReset=g,c.inflateReset2=h,c.inflateResetKeep=f,c.inflateInit=j,c.inflateInit2=i,c.inflate=m,c.inflateEnd=n,c.inflateGetHeader=o,c.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./inffast":34,"./inftrees":36}],36:[function(a,b){"use strict";varc=a("../utils/common"),d=15,e=852,f=592,g=0,h=1,i=2,j=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],k=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],l=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],m=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];b.exports=function(a,b,n,o,p,q,r,s){vart,u,v,w,x,y,z,A,B,C=s.bits,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=null,O=0,P=newc.Buf16(d+1),Q=newc.Buf16(d+1),R=null,S=0;for(D=0;d>=D;D++)P[D]=0;for(E=0;o>E;E++)P[b[n+E]]++;for(H=C,G=d;G>=1&&0===P[G];G--);if(H>G&&(H=G),0===G)returnp[q++]=20971520,p[q++]=20971520,s.bits=1,0;for(F=1;G>F&&0===P[F];F++);for(F>H&&(H=F),K=1,D=1;d>=D;D++)if(K<<=1,K-=P[D],0>K)return-1;if(K>0&&(a===g||1!==G))return-1;for(Q[1]=0,D=1;d>D;D++)Q[D+1]=Q[D]+P[D];for(E=0;o>E;E++)0!==b[n+E]&&(r[Q[b[n+E]]++]=E);if(a===g?(N=R=r,y=19):a===h?(N=j,O-=257,R=k,S-=257,y=256):(N=l,R=m,y=-1),M=0,E=0,D=F,x=q,I=H,J=0,v=-1,L=1<<H,w=L-1,a===h&&L>e||a===i&&L>f)return1;for(varT=0;;){T++,z=D-J,r[E]<y?(A=0,B=r[E]):r[E]>y?(A=R[S+r[E]],B=N[O+r[E]]):(A=96,B=0),t=1<<D-J,u=1<<I,F=u;dou-=t,p[x+(M>>J)+u]=z<<24|A<<16|B|0;while(0!==u);for(t=1<<D-1;M&t;)t>>=1;if(0!==t?(M&=t-1,M+=t):M=0,E++,0===--P[D]){if(D===G)break;D=b[n+r[E]]}if(D>H&&(M&w)!==v){for(0===J&&(J=H),x+=F,I=D-J,K=1<<I;G>I+J&&(K-=P[I+J],!(0>=K));)I++,K<<=1;if(L+=1<<I,a===h&&L>e||a===i&&L>f)return1;v=M&w,p[v]=H<<24|I<<16|x-q|0}}return0!==M&&(p[x+M]=D-J<<24|64<<16|0),s.bits=H,0}},{"../utils/common":27}],37:[function(a,b){"use strict";b.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],3
returnthisinstanceofQ?(N.call(this,this.before,this.after),void(this.options=j(a,{sequences:!b,properties:!b,dead_code:!b,drop_debugger:!b,unsafe:!1,unsafe_comps:!1,conditionals:!b,comparisons:!b,evaluate:!b,booleans:!b,loops:!b,unused:!b,hoist_funs:!b,keep_fargs:!1,hoist_vars:!1,if_return:!b,join_vars:!b,cascade:!b,side_effects:!b,pure_getters:!1,pure_funcs:null,negate_iife:!b,screw_ie8:!1,drop_console:!1,angular:!1,warnings:!0,global_defs:{}},!0))):newQ(a,b)}functionR(a){functionb(b,e,f,g,h,i){if(d){varj=d.originalPositionFor({line:g,column:h});if(null===j.source)return;b=j.source,g=j.line,h=j.column,i=j.name||i}c.addMapping({generated:{line:e+a.dest_line_diff,column:f},original:{line:g+a.orig_line_diff,column:h},source:b,name:i})}a=j(a,{file:null,root:null,orig:null,orig_line_diff:0,dest_line_diff:0});varc=newMOZ_SourceMap.SourceMapGenerator({file:a.file,sourceRoot:a.root}),d=a.orig&&newMOZ_SourceMap.SourceMapConsumer(a.orig);return{add:b,get:function(){returnc},toString:function(){returnc.toString()}}}b.UglifyJS=a,i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i.croak=function(a,b){thrownewi(a,b)};varS=function(){functiona(a,f,g){functionh(){varh=f(a[i],i),l=hinstanceofd;returnl&&(h=h.v),hinstanceofb?(h=h.v,hinstanceofc?k.push.apply(k,g?h.v.slice().reverse():h.v):k.push(h)):h!==e&&(hinstanceofc?j.push.apply(j,g?h.v.slice().reverse():h.v):j.push(h)),l}vari,j=[],k=[];if(ainstanceofArray)if(g){for(i=a.length;--i>=0&&!h(););j.reverse(),k.reverse()}elsefor(i=0;i<a.length&&!h();++i);elsefor(iina)if(a.hasOwnProperty(i)&&h())break;returnk.concat(j)}functionb(a){this.v=a}functionc(a){this.v=a}functiond(a){this.v=a}a.at_top=function(a){returnnewb(a)},a.splice=function(a){returnnewc(a)},a.last=function(a){returnnewd(a)};vare=a.skip={};returna}();u.prototype={set:function(a,b){returnthis.has(a)||++this._size,this._values["$"+a]=b,this},add:function(a,b){returnthis.has(a)?this.get(a).push(b):this.set(a,[b]),this},get:function(a){returnthis._values["$"+a]},del:function(a){returnthis.has(a)&&(--this._size,deletethis._values["$"+a]),this},has:function(a){return"$"+ainthis._values},each:function(a){for(varbinthis._values)a(this._values[b],b.substr(1))},size:function(){returnthis._size},map:function(a){varb=[];for(varcinthis._values)b.push(a(this._values[c],c.substr(1)));returnb}};varT=v("Token","type value line col pos endpos nlb comments_before file",{},null),U=v("Node","start end",{clone:function(){returnnewthis.CTOR(this)},$documentation:"Base class of all AST nodes",$propdoc:{start:"[AST_Token] The first token of this node",end:"[AST_Token] The last token of this node"},_walk:function(a){returna._visit(this)},walk:function(a){returnthis._walk(a)}},null);U.warn_function=null,U.warn=function(a,b){U.warn_function&&U.warn_function(n(a,b))};varV=v("Statement",null,{$documentation:"Base class of all statements"}),W=v("Debugger",null,{$documentation:"Represents a debugger statement"},V),X=v("Directive","value scope",{$documentation:'Represents a directive, like "use strict";',$propdoc:{value:"[string] The value of this directive as a plain string (it's not an AST_String!)",scope:"[AST_Scope/S] The scope that this directive affects"}},V),Y=v("SimpleStatement","body",{$documentation:"A statement consisting of an expression, i.e. a = 1 + 2",$propdoc:{body:"[AST_Node] an expression node (should not be instanceof AST_Statement)"},_walk:function(a){returna._visit(this,function(){this.body._walk(a)})}},V),Z=v("Block","body",{$documentation:"A body of statements (usually bracketed)",$propdoc:{body:"[AST_Statement*] an array of statements"},_walk:function(a){returna._visit(this,function(){w(this,a)})}},V),$=v("BlockStatement",null,{$documentation:"A block statement"},Z),_=v("EmptyStatement",null,{$documentation:"The empty statement (empty block or simply a semicolon)",_walk:function(a){returna._visit(this)}},V),aa=v("StatementWithBody","body",{$documentation:"Baseclassforallstatementsthatcontainonenestedbody:`For`,`ForIn`,`Do`,`While`,`Wit
"mixins.less":'// Mixins\n// --------------------------------------------------\n\n// Utilities\n@import "mixins/hide-text.less";\n@import "mixins/opacity.less";\n@import "mixins/image.less";\n@import "mixins/labels.less";\n@import "mixins/reset-filter.less";\n@import "mixins/resize.less";\n@import "mixins/responsive-visibility.less";\n@import "mixins/size.less";\n@import "mixins/tab-focus.less";\n@import "mixins/text-emphasis.less";\n@import "mixins/text-overflow.less";\n@import "mixins/vendor-prefixes.less";\n\n// Components\n@import "mixins/alerts.less";\n@import "mixins/buttons.less";\n@import "mixins/panels.less";\n@import "mixins/pagination.less";\n@import "mixins/list-group.less";\n@import "mixins/nav-divider.less";\n@import "mixins/forms.less";\n@import "mixins/progress-bar.less";\n@import "mixins/table-row.less";\n\n// Skins\n@import "mixins/background-variant.less";\n@import "mixins/border-radius.less";\n@import "mixins/gradients.less";\n\n// Layout\n@import "mixins/clearfix.less";\n@import "mixins/center-block.less";\n@import "mixins/nav-vertical-align.less";\n@import "mixins/grid-framework.less";\n@import "mixins/grid.less";\n',"mixins/alerts.less":"// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n background-color: @background;\n border-color: @border;\n color: @text-color;\n\n hr {\n border-top-color: darken(@border, 5%);\n }\n .alert-link {\n color: darken(@text-color, 10%);\n }\n}\n","mixins/background-variant.less":"// Contextual backgrounds\n\n.bg-variant(@color) {\n background-color: @color;\n a&:hover {\n background-color: darken(@color, 10%);\n }\n}\n","mixins/border-radius.less":"// Single side border-radius\n\n.border-top-radius(@radius) {\n border-top-right-radius: @radius;\n border-top-left-radius: @radius;\n}\n.border-right-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-top-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n border-bottom-left-radius: @radius;\n border-top-left-radius: @radius;\n}\n","mixins/buttons.less":"// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n color: @color;\n background-color: @background;\n border-color: @border;\n\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n background-image: none;\n }\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: @background;\n border-color: @border;\n }\n }\n\n .badge {\n color: @background;\n background-color: @color;\n }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n}\n","mixins/center-block.less":"// Center-align a block level element\n\n.center-block() {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n","mixins/clearfix.less":'// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n &:before,\n &:after {\n content: " "; // 1\n display: table; // 2\n }\n &:after {\n
"navbar.less":"//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n margin-bottom: @navbar-margin-bottom;\n border: 1px solid transparent;\n\n // Prevent floats from breaking the navbar\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: @navbar-border-radius;\n }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n overflow-x: visible;\n padding-right: @navbar-padding-horizontal;\n padding-left: @navbar-padding-horizontal;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255,255,255,.1);\n &:extend(.clearfix all);\n -webkit-overflow-scrolling: touch;\n\n &.in {\n overflow-y: auto;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border-top: 0;\n box-shadow: none;\n\n &.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0; // Override default setting\n overflow: visible !important;\n }\n\n &.in {\n overflow-y: visible;\n }\n\n // Undo the collapse side padding for navbars with containers to ensure\n // alignment of right-aligned contents.\n .navbar-fixed-top &,\n .navbar-static-top &,\n .navbar-fixed-bottom & {\n padding-left: 0;\n padding-right: 0;\n }\n }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n .navbar-collapse {\n max-height: @navbar-collapse-max-height;\n\n @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n max-height: 200px;\n }\n }\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n > .navbar-header,\n > .navbar-collapse {\n margin-right: -@navbar-padding-horizontal;\n margin-left: -@navbar-padding-horizontal;\n\n @media (min-width: @grid-float-breakpoint) {\n margin-right: 0;\n margin-left: 0;\n }\n }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n z-index: @zindex-navbar;\n border-width: 0 0 1px;\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n\n// Fix the top/bottom navbars when screen real estate supports it\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: @zindex-navbar-fixed;\n\n // Undo the rounded corners\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0; // override .navbar defaults\n border-width: 1px 0 0;\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n float: left;\n padding: @navbar-padding-vertical @navbar-padding-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-computed;\n height: @navbar-height;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n > img {\n display: