var _=function(){function h(a,b,f){if(a===b)return 0!==a||1/a==1/b;if(null==a||null==b)return a===b;a._chain&&(a=a._wrapped);b._chain&&(b=b._wrapped);if(a.isEqual&&m.isFunction(a.isEqual))return a.isEqual(b);if(b.isEqual&&m.isFunction(b.isEqual))return b.isEqual(a);var c=d.call(a);if(c!=d.call(b))return!1;switch(c){case "[object String]":return a==String(b);case "[object Number]":return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case "[object Date]":case "[object Boolean]":return+a==+b;case "[object RegExp]":return a.source==
b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if("object"!=typeof a||"object"!=typeof b)return!1;for(var g=f.length;g--;)if(f[g]==a)return!0;f.push(a);var g=0,n=!0;if("[object Array]"==c){if(g=a.length,n=g==b.length)for(;g--&&(n=g in a==g in b&&h(a[g],b[g],f)););}else{if("constructor"in a!="constructor"in b||a.constructor!=b.constructor)return!1;for(var e in a)if(m.has(a,e)&&(g++,!(n=m.has(b,e)&&h(a[e],b[e],f))))break;if(n){for(e in b)if(m.has(b,e)&&!g--)break;
n=!g}}f.pop();return n}var e=this,k=e._,l={},c=Array.prototype,b=Object.prototype,a=c.slice,g=c.unshift,d=b.toString,f=b.hasOwnProperty,n=c.forEach,u=c.map,p=c.reduce,q=c.reduceRight,r=c.filter,s=c.every,t=c.some,x=c.indexOf,w=c.lastIndexOf,b=Array.isArray,z=Object.keys,y=Function.prototype.bind,m=function(a){return new B(a)};"undefined"!==typeof exports?("undefined"!==typeof module&&module.exports&&(exports=module.exports=m),exports._=m):e._=m;m.VERSION="1.3.3";var v=m.each=m.forEach=function(a,
b,f){if(null!=a)if(n&&a.forEach===n)a.forEach(b,f);else if(a.length===+a.length)for(var d=0,c=a.length;d<c&&!(d in a&&b.call(f,a[d],d,a)===l);d++);else for(d in a)if(m.has(a,d)&&b.call(f,a[d],d,a)===l)break};m.map=m.collect=function(a,b,f){var d=[];if(null==a)return d;if(u&&a.map===u)return a.map(b,f);v(a,function(a,c,g){d[d.length]=b.call(f,a,c,g)});a.length===+a.length&&(d.length=a.length);return d};m.reduce=m.foldl=m.inject=function(a,b,f,d){var c=2<arguments.length;null==a&&(a=[]);if(p&&a.reduce===
p)return d&&(b=m.bind(b,d)),c?a.reduce(b,f):a.reduce(b);v(a,function(a,g,m){c?f=b.call(d,f,a,g,m):(f=a,c=!0)});if(!c)throw new TypeError("Reduce of empty array with no initial value");return f};m.reduceRight=m.foldr=function(a,b,f,d){var c=2<arguments.length;null==a&&(a=[]);if(q&&a.reduceRight===q)return d&&(b=m.bind(b,d)),c?a.reduceRight(b,f):a.reduceRight(b);var g=m.toArray(a).reverse();d&&!c&&(b=m.bind(b,d));return c?m.reduce(g,b,f,d):m.reduce(g,b)};m.find=m.detect=function(a,b,f){var d;A(a,function(a,
c,g){if(b.call(f,a,c,g))return d=a,!0});return d};m.filter=m.select=function(a,b,d){var f=[];if(null==a)return f;if(r&&a.filter===r)return a.filter(b,d);v(a,function(a,c,g){b.call(d,a,c,g)&&(f[f.length]=a)});return f};m.reject=function(a,b,f){var d=[];if(null==a)return d;v(a,function(a,c,g){b.call(f,a,c,g)||(d[d.length]=a)});return d};m.every=m.all=function(a,b,d){var f=!0;if(null==a)return f;if(s&&a.every===s)return a.every(b,d);v(a,function(a,c,g){if(!(f=f&&b.call(d,a,c,g)))return l});return!!f};
var A=m.some=m.any=function(a,b,f){b||(b=m.identity);var d=!1;if(null==a)return d;if(t&&a.some===t)return a.some(b,f);v(a,function(a,c,g){if(d||(d=b.call(f,a,c,g)))return l});return!!d};m.include=m.contains=function(a,b){var d=!1;return null==a?d:x&&a.indexOf===x?-1!=a.indexOf(b):d=A(a,function(a){return a===b})};m.invoke=function(b,d){var f=a.call(arguments,2);return m.map(b,function(a){return(m.isFunction(d)?d||a:a[d]).apply(a,f)})};m.pluck=function(a,b){return m.map(a,function(a){return a[b]})};
m.max=function(a,b,d){if(!b&&m.isArray(a)&&a[0]===+a[0])return Math.max.apply(Math,a);if(!b&&m.isEmpty(a))return-Infinity;var f={computed:-Infinity};v(a,function(a,c,g){c=b?b.call(d,a,c,g):a;c>=f.computed&&(f={value:a,computed:c})});return f.value};m.min=function(a,b,d){if(!b&&m.isArray(a)&&a[0]===+a[0])return Math.min.apply(Math,a);if(!b&&m.isEmpty(a))return Infinity;var f={computed:Infinity};v(a,function(a,c,g){c=b?b.call(d,a,c,g):a;c<f.computed&&(f={value:a,computed:c})});return f.value};m.shuffle=
function(a){var b=[],d;v(a,function(a,f,c){d=Math.floor(Math.random()*(f+1));b[f]=b[d];b[d]=a});return b};m.sortBy=function(a,b,d){var f=m.isFunction(b)?b:function(a){return a[b]};return m.pluck(m.map(a,function(a,b,c){return{value:a,criteria:f.call(d,a,b,c)}}).sort(function(a,b){var d=a.criteria,f=b.criteria;return void 0===d?1:void 0===f?-1:d<f?-1:d>f?1:0}),"value")};m.groupBy=function(a,b){var d={},f=m.isFunction(b)?b:function(a){return a[b]};v(a,function(a,b){var c=f(a,b);(d[c]||(d[c]=[])).push(a)});
return d};m.sortedIndex=function(a,b,d){d||(d=m.identity);for(var f=0,c=a.length;f<c;){var g=f+c>>1;d(a[g])<d(b)?f=g+1:c=g}return f};m.toArray=function(b){return b?m.isArray(b)||m.isArguments(b)?a.call(b):b.toArray&&m.isFunction(b.toArray)?b.toArray():m.values(b):[]};m.size=function(a){return m.isArray(a)?a.length:m.keys(a).length};m.first=m.head=m.take=function(b,d,f){return null==d||f?b[0]:a.call(b,0,d)};m.initial=function(b,d,f){return a.call(b,0,b.length-(null==d||f?1:d))};m.last=function(b,d,
f){return null==d||f?b[b.length-1]:a.call(b,Math.max(b.length-d,0))};m.rest=m.tail=function(b,d,f){return a.call(b,null==d||f?1:d)};m.compact=function(a){return m.filter(a,function(a){return!!a})};m.flatten=function(a,b){return m.reduce(a,function(a,d){if(m.isArray(d))return a.concat(b?d:m.flatten(d));a[a.length]=d;return a},[])};m.without=function(b){return m.difference(b,a.call(arguments,1))};m.uniq=m.unique=function(a,b,d){d=d?m.map(a,d):a;var f=[];3>a.length&&(b=!0);m.reduce(d,function(d,c,g){(b?
m.last(d)===c&&d.length:m.include(d,c))||(d.push(c),f.push(a[g]));return d},[]);return f};m.union=function(){return m.uniq(m.flatten(arguments,!0))};m.intersection=m.intersect=function(b){var d=a.call(arguments,1);return m.filter(m.uniq(b),function(a){return m.every(d,function(b){return 0<=m.indexOf(b,a)})})};m.difference=function(b){var d=m.flatten(a.call(arguments,1),!0);return m.filter(b,function(a){return!m.include(d,a)})};m.zip=function(){for(var b=a.call(arguments),d=m.max(m.pluck(b,"length")),
f=Array(d),c=0;c<d;c++)f[c]=m.pluck(b,""+c);return f};m.indexOf=function(a,b,d){if(null==a)return-1;var f;if(d)return d=m.sortedIndex(a,b),a[d]===b?d:-1;if(x&&a.indexOf===x)return a.indexOf(b);d=0;for(f=a.length;d<f;d++)if(d in a&&a[d]===b)return d;return-1};m.lastIndexOf=function(a,b){if(null==a)return-1;if(w&&a.lastIndexOf===w)return a.lastIndexOf(b);for(var d=a.length;d--;)if(d in a&&a[d]===b)return d;return-1};m.range=function(a,b,d){1>=arguments.length&&(b=a||0,a=0);d=arguments[2]||1;for(var f=
Math.max(Math.ceil((b-a)/d),0),c=0,g=Array(f);c<f;)g[c++]=a,a+=d;return g};var H=function(){};m.bind=function(b,d){var f,c;if(b.bind===y&&y)return y.apply(b,a.call(arguments,1));if(!m.isFunction(b))throw new TypeError;c=a.call(arguments,2);return f=function(){if(!(this instanceof f))return b.apply(d,c.concat(a.call(arguments)));H.prototype=b.prototype;var g=new H,m=b.apply(g,c.concat(a.call(arguments)));return Object(m)===m?m:g}};m.bindAll=function(b){var d=a.call(arguments,1);0==d.length&&(d=m.functions(b));
v(d,function(a){b[a]=m.bind(b[a],b)});return b};m.memoize=function(a,b){var d={};b||(b=m.identity);return function(){var f=b.apply(this,arguments);return m.has(d,f)?d[f]:d[f]=a.apply(this,arguments)}};m.delay=function(b,d){var f=a.call(arguments,2);return setTimeout(function(){return b.apply(null,f)},d)};m.defer=function(b){return m.delay.apply(m,[b,1].concat(a.call(arguments,1)))};m.throttle=function(a,b){var d,f,c,g,n,e,h=m.debounce(function(){n=g=!1},b);return function(){d=this;f=arguments;c||
(c=setTimeout(function(){c=null;n&&a.apply(d,f);h()},b));g?n=!0:e=a.apply(d,f);h();g=!0;return e}};m.debounce=function(a,b,d){var f;return function(){var c=this,g=arguments;d&&!f&&a.apply(c,g);clearTimeout(f);f=setTimeout(function(){f=null;d||a.apply(c,g)},b)}};m.once=function(a){var b=!1,d;return function(){if(b)return d;b=!0;return d=a.apply(this,arguments)}};m.wrap=function(b,d){return function(){var f=[b].concat(a.call(arguments,0));return d.apply(this,f)}};m.compose=function(){var a=arguments;
return function(){for(var b=arguments,d=a.length-1;0<=d;d--)b=[a[d].apply(this,b)];return b[0]}};m.after=function(a,b){return 0>=a?b():function(){if(1>--a)return b.apply(this,arguments)}};m.keys=z||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[],d;for(d in a)m.has(a,d)&&(b[b.length]=d);return b};m.values=function(a){return m.map(a,m.identity)};m.functions=m.methods=function(a){var b=[],d;for(d in a)m.isFunction(a[d])&&b.push(d);return b.sort()};m.extend=function(b){v(a.call(arguments,
1),function(a){for(var d in a)b[d]=a[d]});return b};m.pick=function(b){var d={};v(m.flatten(a.call(arguments,1)),function(a){a in b&&(d[a]=b[a])});return d};m.defaults=function(b){v(a.call(arguments,1),function(a){for(var d in a)null==b[d]&&(b[d]=a[d])});return b};m.clone=function(a){return m.isObject(a)?m.isArray(a)?a.slice():m.extend({},a):a};m.tap=function(a,b){b(a);return a};m.isEqual=function(a,b){return h(a,b,[])};m.isEmpty=function(a){if(null==a)return!0;if(m.isArray(a)||m.isString(a))return 0===
a.length;for(var b in a)if(m.has(a,b))return!1;return!0};m.isElement=function(a){return!(!a||1!=a.nodeType)};m.isArray=b||function(a){return"[object Array]"==d.call(a)};m.isObject=function(a){return a===Object(a)};m.isArguments=function(a){return"[object Arguments]"==d.call(a)};m.isArguments(arguments)||(m.isArguments=function(a){return!(!a||!m.has(a,"callee"))});m.isFunction=function(a){return"[object Function]"==d.call(a)};m.isString=function(a){return"[object String]"==d.call(a)};m.isNumber=function(a){return"[object Number]"==
d.call(a)};m.isFinite=function(a){return m.isNumber(a)&&isFinite(a)};m.isNaN=function(a){return a!==a};m.isBoolean=function(a){return!0===a||!1===a||"[object Boolean]"==d.call(a)};m.isDate=function(a){return"[object Date]"==d.call(a)};m.isRegExp=function(a){return"[object RegExp]"==d.call(a)};m.isNull=function(a){return null===a};m.isUndefined=function(a){return void 0===a};m.has=function(a,b){return f.call(a,b)};m.noConflict=function(){e._=k;return this};m.identity=function(a){return a};m.times=
function(a,b,d){for(var f=0;f<a;f++)b.call(d,f)};m.escape=function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/\//g,"&#x2F;")};m.result=function(a,b){if(null==a)return null;var d=a[b];return m.isFunction(d)?d.call(a):d};m.mixin=function(a){v(m.functions(a),function(b){I(b,m[b]=a[b])})};var J=0;m.uniqueId=function(a){var b=J++;return a?a+b:b};m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,
escape:/<%-([\s\S]+?)%>/g};var D=/.^/,C={"\\":"\\","'":"'",r:"\r",n:"\n",t:"\t",u2028:"\u2028",u2029:"\u2029"},E;for(E in C)C[C[E]]=E;var K=/\\|'|\r|\n|\t|\u2028|\u2029/g,L=/\\(\\|'|r|n|t|u2028|u2029)/g,F=function(a){return a.replace(L,function(a,b){return C[b]})};m.template=function(a,b,d){d=m.defaults(d||{},m.templateSettings);a="__p+='"+a.replace(K,function(a){return"\\"+C[a]}).replace(d.escape||D,function(a,b){return"'+\n_.escape("+F(b)+")+\n'"}).replace(d.interpolate||D,function(a,b){return"'+\n("+
F(b)+")+\n'"}).replace(d.evaluate||D,function(a,b){return"';\n"+F(b)+"\n;__p+='"})+"';\n";d.variable||(a="with(obj||{}){\n"+a+"}\n");a="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n"+a+"return __p;\n";var f=new Function(d.variable||"obj","_",a);if(b)return f(b,m);b=function(a){return f.call(this,a,m)};b.source="function("+(d.variable||"obj")+"){\n"+a+"}";return b};m.chain=function(a){return m(a).chain()};var B=function(a){this._wrapped=a};m.prototype=B.prototype;
var G=function(a,b){return b?m(a).chain():a},I=function(b,d){B.prototype[b]=function(){var b=a.call(arguments);g.call(b,this._wrapped);return G(d.apply(m,b),this._chain)}};m.mixin(m);v("pop push reverse shift sort splice unshift".split(" "),function(a){var b=c[a];B.prototype[a]=function(){var d=this._wrapped;b.apply(d,arguments);var f=d.length;"shift"!=a&&"splice"!=a||0!==f||delete d[0];return G(d,this._chain)}});v(["concat","join","slice"],function(a){var b=c[a];B.prototype[a]=function(){return G(b.apply(this._wrapped,
arguments),this._chain)}});B.prototype.chain=function(){this._chain=!0;return this};B.prototype.value=function(){return this._wrapped};return m}.call({}),emmet=function(h){function e(a,d,f){var c;c=d&&d.hasOwnProperty("constructor")?d.constructor:function(){a.apply(this,arguments)};_.extend(c,a);b.prototype=a.prototype;c.prototype=new b;d&&_.extend(c.prototype,d);f&&_.extend(c,f);c.prototype.constructor=c;c.__super__=a.prototype;return c}function k(b){b in c||!a||a(b);return c[b]}if("undefined"==
typeof _)try{_=h.require("underscore")}catch(l){}if("undefined"==typeof _)throw"Cannot access to Underscore.js lib";var c={_:_},b=function(){},a=null;return{define:function(a,b){a in c||(c[a]=_.isFunction(b)?this.exec(b):b)},require:k,exec:function(a,b){return a.call(b||h,_.bind(k,this),_,this)},extend:function(a,b){var f=e(this,a,b);f.extend=this.extend;a.hasOwnProperty("toString")&&(f.prototype.toString=a.toString);return f},expandAbbreviation:function(a,b,f,c){if(!a)return"";b=b||"html";var e=
k("filters"),h=k("abbreviationParser");f=k("profile").get(f,b);k("tabStops").resetTabstopIndex();a=e.extractFromAbbreviation(a);c=h.parse(a[0],{syntax:b,contextNode:c});b=e.composeList(b,f,a[1]);e.apply(c,b,f);return c.toString()},defaultSyntax:function(){return"html"},defaultProfile:function(){return"plain"},log:function(){h.console&&h.console.log&&h.console.log.apply(h.console,arguments)},setModuleLoader:function(b){a=b}}}(this);
"undefined"!==typeof exports&&("undefined"!==typeof module&&module.exports&&(exports=module.exports=emmet),exports.emmet=emmet);"undefined"!==typeof define&&define("emmet",[],emmet);
emmet.define("abbreviationParser",function(h,e){function k(a){this.parent=null;this.children=[];this._attributes=[];this.abbreviation="";this.counter=1;this._name=null;this._text="";this.repeatCount=1;this.hasImplicitRepeat=!1;this._data={};this.padding=this.content=this.end=this.start=""}function l(a){return a.substring(1,a.length-1)}function c(a){a=h("utils").trim(a);var b=new k,d=b.addChild(),f,g=h("stringStream").create(a);a=1E3;for(var n;!g.eol()&&0<--a;)switch(f=g.peek(),f){case "(":g.start=
g.pos;if(g.skipToPair("(",")"))f=c(l(g.current())),(n=g.match(/^\*(\d+)?/,!0))&&d._setRepeat(n[1]),e.each(f.children,function(a){d.addChild(a)});else throw'Invalid abbreviation: mo matching ")" found for character at '+g.pos;break;case ">":d=d.addChild();g.next();break;case "+":d=d.parent.addChild();g.next();break;case "^":f=d.parent||d;d=(f.parent||f).addChild();g.next();break;default:g.start=g.pos,g.eatWhile(function(a){if("["==a||"{"==a){if(g.skipToPair(a,r[a]))return g.backUp(1),!0;throw'Invalid abbreviation: mo matching "'+
r[a]+'" found for character at '+g.pos;}return"+"==a?(g.next(),a=g.eol()||~"+>^*".indexOf(g.peek()),g.backUp(1),a):"("!=a&&u(a)}),d.setAbbreviation(g.current()),g.start=g.pos}if(1>a)throw"Endless loop detected";return b}function b(a,b){a=h("utils").trim(a);var d=[],f=h("stringStream").create(a);for(f.eatSpace();!f.eol();)if(f.start=f.pos,f.eatWhile(q)){var c=f.current(),g="";if("="==f.peek()){f.next();f.start=f.pos;var n=f.peek();if('"'==n||"'"==n){f.next();a:{for(var g=f,e=void 0;e=g.next();)if(e===
n){g=!0;break a}g=!1}if(g)g=f.current(),g=g.substring(1,g.length-1);else throw"Invalid attribute value";}else if(f.eatWhile(/[^\s\]]/))g=f.current();else throw"Invalid attribute value";}d.push({name:c,value:g});f.eatSpace()}else break;return d}function a(a){for(var d=[],f={"#":"id",".":"class"},c=null,n=h("stringStream").create(a);!n.eol();)switch(n.peek()){case "#":case ".":null===c&&(c=n.pos);var e=f[n.peek()];n.next();n.start=n.pos;n.eatWhile(q);d.push({name:e,value:n.current()});break;case "[":null===
c&&(c=n.pos);n.start=n.pos;if(!n.skipToPair("[","]"))throw"Invalid attribute set definition";d=d.concat(b(l(n.current())));break;default:n.next()}return d.length?{element:a.substring(0,c),attributes:g(d)}:null}function g(a){a=e.map(a,function(a){return e.clone(a)});var b={};return e.filter(a,function(a){if(!(a.name in b))return b[a.name]=a;var d=b[a.name];"class"==a.name.toLowerCase()?d.value+=(d.value.length?" ":"")+a.value:d.value=a.value;return!1})}function d(a){if(!~a.indexOf("{"))return null;
for(var b=h("stringStream").create(a);!b.eol();)switch(b.peek()){case "[":case "(":b.skipToPair(b.peek(),r[b.peek()]);break;case "{":return b.start=b.pos,b.skipToPair("{","}"),{element:a.substring(0,b.start),text:l(b.current())};default:b.next()}}function f(a){for(var b=a.children.length-1,d,c,g;0<=b;b--)if(c=a.children[b],c.isRepeating())for(g=d=c.repeatCount,c.repeatCount=1,c.updateProperty("counter",1),c.updateProperty("maxCount",g);0<--d;)c.parent.addChild(c.clone(),b+1).updateProperty("counter",
d+1).updateProperty("maxCount",g);e.each(a.children,f);return a}function n(a){for(var b=a.children.length-1;0<=b;b--){var d=a.children[b];d.isGroup()?d.replace(n(d).children):d.isEmpty()&&d.remove()}e.each(a.children,n);return a}function u(a){var b=a.charCodeAt(0);return 64<b&&91>b||96<b&&123>b||47<b&&58>b||-1!="#.*:$-_!@|%".indexOf(a)}var p=/^[\w\-\$\:@\!%]+\+?$/i,q=/[\w\-:\$@]/,r={"[":"]","(":")","{":"}"},s=Array.prototype.splice,t=[],x=[],w=[];k.prototype={addChild:function(a,b){a=a||new k;a.parent=
this;e.isUndefined(b)?this.children.push(a):this.children.splice(b,0,a);return a},clone:function(){var a=new k;e.each("abbreviation counter _name _text repeatCount hasImplicitRepeat start end content padding".split(" "),function(b){a[b]=this[b]},this);a._attributes=e.map(this._attributes,function(a){return e.clone(a)});a._data=e.clone(this._data);a.children=e.map(this.children,function(b){b=b.clone();b.parent=a;return b});return a},remove:function(){this.parent&&(this.parent.children=e.without(this.parent.children,
this));return this},replace:function(){var a=this.parent,b=e.indexOf(a.children,this),d=e.flatten(arguments);s.apply(a.children,[b,1].concat(d));e.each(d,function(b){b.parent=a})},updateProperty:function(a,b){this[a]=b;e.each(this.children,function(d){d.updateProperty(a,b)});return this},find:function(a){return this.findAll(a)[0]},findAll:function(a){if(!e.isFunction(a)){var b=a.toLowerCase();a=function(a){return a.name().toLowerCase()==b}}var d=[];e.each(this.children,function(b){a(b)&&d.push(b);
d=d.concat(b.findAll(a))});return e.compact(d)},data:function(a,b){2==arguments.length&&(this._data[a]=b,"resource"==a&&h("elements").is(b,"snippet")&&(this.content=b.data,this._text&&(this.content=h("abbreviationUtils").insertChildContent(b.data,this._text))));return this._data[a]},name:function(){var a=this.matchedResource();return h("elements").is(a,"element")?a.name:this._name},attributeList:function(){var a=[],b=this.matchedResource();h("elements").is(b,"element")&&e.isArray(b.attributes)&&(a=
a.concat(b.attributes));return g(a.concat(this._attributes))},attribute:function(a,b){if(2==arguments.length){var d=e.indexOf(e.pluck(this._attributes,"name"),a.toLowerCase());~d?this._attributes[d].value=b:this._attributes.push({name:a,value:b})}return(e.find(this.attributeList(),function(b){return b.name==a})||{}).value},matchedResource:function(){return this.data("resource")},index:function(){return this.parent?e.indexOf(this.parent.children,this):-1},_setRepeat:function(a){a?this.repeatCount=
parseInt(a,10)||1:this.hasImplicitRepeat=!0},setAbbreviation:function(b){var f=this;this.abbreviation=b=(b||"").replace(/\*(\d+)?$/,function(a,b){f._setRepeat(b);return""});var c=d(b);c&&(b=c.element,this.content=this._text=c.text);if(c=a(b))b=c.element,this._attributes=c.attributes;if((this._name=b)&&!p.test(this._name))throw"Invalid abbreviation";},toString:function(){var a=h("utils"),b=this.start,d=this.end,f=this.content,c=this;e.each(w,function(a){b=a(b,c,"start");f=a(f,c,"content");d=a(d,c,
"end")});var g=e.map(this.children,function(a){return a.toString()}).join(""),f=h("abbreviationUtils").insertChildContent(f,g,{keepVariable:!1});return b+a.padString(f,this.padding)+d},hasEmptyChildren:function(){return!!e.find(this.children,function(a){return a.isEmpty()})},hasImplicitName:function(){return!this._name&&!this.isTextNode()},isGroup:function(){return!this.abbreviation},isEmpty:function(){return!this.abbreviation&&!this.children.length},isRepeating:function(){return 1<this.repeatCount||
this.hasImplicitRepeat},isTextNode:function(){return!this.name()&&!this.attributeList().length},isElement:function(){return!this.isEmpty()&&!this.isTextNode()},deepestChild:function(){if(!this.children.length)return null;for(var a=this;a.children.length;)a=e.last(a.children);return a}};w.push(function(a,b){return h("utils").replaceCounter(a,b.counter,b.maxCount)});return{parse:function(a,b){b=b||{};var d=c(a);if(b.contextNode){d._name=b.contextNode.name;var g={};e.each(d._attributes,function(a){g[a.name]=
a});e.each(b.contextNode.attributes,function(a){a.name in g?g[a.name].value=a.value:(a=e.clone(a),d._attributes.push(a),g[a.name]=a)})}e.each(t,function(a){a(d,b)});d=n(f(d));e.each(x,function(a){a(d,b)});return d},AbbreviationNode:k,addPreprocessor:function(a){e.include(t,a)||t.push(a)},removeFilter:function(a){preprocessor=e.without(t,a)},addPostprocessor:function(a){e.include(x,a)||x.push(a)},removePostprocessor:function(a){x=e.without(x,a)},addOutputProcessor:function(a){e.include(w,a)||w.push(a)},
removeOutputProcessor:function(a){w=e.without(w,a)},isAllowedChar:function(a){a=String(a);return u(a)||~">+^[](){}".indexOf(a)}}});
emmet.exec(function(h,e){function k(l,c){var b=h("resources"),a=h("elements"),g=h("abbreviationParser");e.each(e.clone(l.children),function(d){var f=b.getMatchedResource(d,c);if(e.isString(f))d.data("resource",a.create("snippet",f));else if(a.is(f,"reference")){f=g.parse(f.data,{syntax:c});if(1<d.repeatCount){var n=f.findAll(function(a){return a.hasImplicitRepeat});e.each(n,function(a){a.repeatCount=d.repeatCount;a.hasImplicitRepeat=!1})}var h=f.deepestChild();h&&e.each(d.children,function(a){h.addChild(a)});
e.each(f.children,function(a){e.each(d.attributeList(),function(b){a.attribute(b.name,b.value)})});d.replace(f.children)}else d.data("resource",f);k(d,c)})}h("abbreviationParser").addPreprocessor(function(e,c){var b=c.syntax||emmet.defaultSyntax();k(e,b)})});
emmet.exec(function(h,e){function k(a){var b=h("range"),f=[];for(a=h("stringStream").create(a);!a.eol();){if("\\"==a.peek())a.next();else if(a.start=a.pos,a.match("$#",!0)){f.push(b.create(a.start,"$#"));continue}a.next()}return f}function l(a,b){var f=h("utils"),c=k(a);c.reverse();e.each(c,function(c){a=f.replaceSubstring(a,b,c)});return a}function c(a){return k(a.content).length?!0:!!e.find(a.attributeList(),function(a){return!!k(a.value).length})}function b(a,b,f){var n=a.findAll(function(a){return c(a)});
c(a)&&n.unshift(a);n.length?e.each(n,function(a){a.content=l(a.content,b);e.each(a._attributes,function(a){a.value=l(a.value,b)})}):(a=a.deepestChild()||a,a.content=f?b:h("abbreviationUtils").insertChildContent(a.content,b))}var a=h("abbreviationParser");a.addPreprocessor(function(a,b){if(b.pastedContent){var f=h("utils"),c=e.map(f.splitByLines(b.pastedContent,!0),f.trim);a.findAll(function(a){if(a.hasImplicitRepeat)return a.data("paste",c),a.repeatCount=c.length})}});a.addPostprocessor(function(a,
d){!a.findAll(function(a){var d=a.data("paste"),c="";e.isArray(d)?c=d[a.counter-1]:e.isFunction(d)?c=d(a.counter-1,a.content):d&&(c=d);c&&b(a,c,!!a.data("pasteOverwrites"));a.data("paste",null);return!!d}).length&&d.pastedContent&&b(a,d.pastedContent)})});emmet.exec(function(h,e){function k(l){var c=h("tagName");e.each(l.children,function(b){if(b.hasImplicitName()||b.data("forceNameResolving"))b._name=c.resolve(b.parent.name());k(b)});return l}h("abbreviationParser").addPostprocessor(k)});
emmet.define("cssParser",function(h,e){function k(a){return"undefined"!==typeof a}function l(){return{"char":d.chnum,line:d.linenum}}function c(a,b,c){var g=d;c=c||{};f.push({charstart:k(c["char"])?c["char"]:g.chnum,charend:k(c.charend)?c.charend:g.chnum,linestart:k(c.line)?c.line:g.linenum,lineend:k(c.lineend)?c.lineend:g.linenum,value:a,type:b||a})}function b(a,b){var c=d,g=b||{},n=k(g["char"])?g["char"]:c.chnum,g=k(g.line)?g.line:c.linenum;return{name:"ParseError",message:a+" at line "+(g+1)+" char "+
(n+1),walker:c,tokens:f}}function a(a){var b=d,f=b.ch,g=l(),n=a?a+f:f,f=b.nextChar();for(a&&(g["char"]-=a.length);u(f)||p(f);)n+=f,f=b.nextChar();c(n,"identifier",g)}function g(){var f=d.ch;if(" "===f||"\t"===f){for(var f=d.ch,g="",e=l();" "===f||"\t"===f;)g+=f,f=d.nextChar();c(g,"white",e)}else{if("/"===f){a:{var f=d,h=f.ch,g=h,k=l(),e=f.nextChar();if("/"===e)for(g+=e,h=f.peek();h&&"\n"!==h;)g+=e,e=f.nextChar(),h=f.peek();else if("*"===e)for(;"*"!==h||"/"!==e;)g+=e,h=e,e=f.nextChar();else{k.charend=
k["char"];k.lineend=k.line;f=c(g,g,k);break a}g+=e;f.nextChar();c(g,"comment",k);f=void 0}return f}if('"'===f||"'"===f){for(var f=d,k=e=g=f.ch,w=l(),g=f.nextChar();g!==e;){if("\n"===g)if(h=f.nextChar(),"\\"===h)k+=g+h;else throw b("Unterminated string",w);else k="\\"===g?k+(g+f.nextChar()):k+g;g=f.nextChar()}k+=g;f.nextChar();c(k,"string",w)}else if("("===f){f=d;g=f.ch;e=0;k=g;h=l();for(g=f.nextChar();")"!==g&&!e;){if("("===g)e++;else if(")"===g)e--;else if(!1===g)throw b("Unterminated brace",h);
k+=g;g=f.nextChar()}k+=g;f.nextChar();c(k,"brace",h)}else{if("-"===f||"."===f||p(f)){f=d;g=f.ch;e=l();k=g;h="."===k;g=f.nextChar();w=!p(g);if(h&&w)e.charend=e["char"],e.lineend=e.line,f=c(k,".",e);else if("-"===k&&w)f=a("-");else{for(;!1!==g&&(p(g)||!h&&"."===g);)"."===g&&(h=!0),k+=g,g=f.nextChar();c(k,"number",e);f=void 0}return f}if(u(f))return a();if(n(f))f=d,e=f.ch,g=l(),k=f.nextChar(),"="===k&&n(e,!0)?(c(e+k,"match",g),f.nextChar()):(g.charend=g["char"]+1,g.lineend=g.line,c(e,e,g));else if("\n"===
f)c("line"),d.nextChar();else throw b("Unrecognized character");}}}var d,f=[],n,u,p;d={lines:null,total_lines:0,linenum:-1,line:"",ch:"",chnum:-1,init:function(a){var b=d;b.lines=a.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split("\n");b.total_lines=b.lines.length;b.chnum=-1;b.linenum=-1;b.ch="";b.line="";b.nextLine();b.nextChar()},nextLine:function(){this.linenum+=1;this.line=this.total_lines<=this.linenum?!1:this.lines[this.linenum];-1!==this.chnum&&(this.chnum=0);return this.line},nextChar:function(){for(this.chnum+=
1;""===this.line.charAt(this.chnum);){if(!1===this.nextLine())return this.ch=!1;this.chnum=-1;return this.ch="\n"}return this.ch=this.line.charAt(this.chnum)},peek:function(){return this.line.charAt(this.chnum+1)}};u=function(a){return"&"==a||"_"===a||"-"===a||"a"<=a&&"z">=a||"A"<=a&&"Z">=a};p=function(a){return!1!==a&&"0"<=a&&"9">=a};n=function(){for(var a="{}[]()+*=.,;:>~|\\%$#@^!".split(""),b=["*","^","|","$","~"],d={},f={},c=0;c<a.length;c+=1)d[a[c]]=!0;for(c=0;c<b.length;c+=1)f[b[c]]=!0;return function(a,
b){return b?!!f[a]:!!d[a]}}();return{lex:function(a){d.init(a);for(f=[];!1!==d.ch;)g();return f},parse:function(a){var b=0;return e.map(this.lex(a),function(d){if("line"==d.type){var f;f=b;f="\r"==a.charAt(f)&&"\n"==a.charAt(f+1)?"\r\n":a.charAt(f);d.value=f}return{type:d.type,start:b,end:b+=d.value.length}})},toSource:function(a){for(var b=0,d=a.length,f,c="";b<d;b+=1)f=a[b],c="line"===f.type?c+"\n":c+f.value;return c}}});
emmet.define("xmlParser",function(h,e){function k(d,f){function c(a){f.tokenize=a;return a(d,f)}var g=d.next();if("<"==g){if(d.eat("!"))return d.eat("[")?d.match("CDATA[")?c(b("atom","]]\x3e")):null:d.match("--")?c(b("comment","--\x3e")):d.match("DOCTYPE",!0,!0)?(d.eatWhile(/[\w\._\-]/),c(a(1))):null;if(d.eat("?"))return d.eatWhile(/[\w\._\-]/),f.tokenize=b("meta","?>"),"meta";m=d.eat("/")?"closeTag":"openTag";d.eatSpace();for(y="";g=d.eat(/[^\s\u00a0=<>\"\'\/?]/);)y+=g;f.tokenize=l;return"tag"}if("&"==
g)return(d.eat("#")?d.eat("x")?d.eatWhile(/[a-fA-F\d]/)&&d.eat(";"):d.eatWhile(/[\d]/)&&d.eat(";"):d.eatWhile(/[\w\.\-:]/)&&d.eat(";"))?"atom":"error";d.eatWhile(/[^&<]/);return"text"}function l(a,b){var d=a.next();if(">"==d||"/"==d&&a.eat(">"))return b.tokenize=k,m=">"==d?"endTag":"selfcloseTag","tag";if("="==d)return m="equals",null;if(/[\'\"]/.test(d))return b.tokenize=c(d),b.tokenize(a,b);a.eatWhile(/[^\s\u00a0=<>\"\'\/?]/);return"word"}function c(a){return function(b,d){for(;!b.eol();)if(b.next()==
a){d.tokenize=l;break}return"string"}}function b(a,b){return function(d,f){for(;!d.eol();){if(d.match(b)){f.tokenize=k;break}d.next()}return a}}function a(b){return function(d,f){for(var c;null!=(c=d.next());){if("<"==c)return f.tokenize=a(b+1),f.tokenize(d,f);if(">"==c)if(1==b){f.tokenize=k;break}else return f.tokenize=a(b-1),f.tokenize(d,f)}return"meta"}}function g(){for(var a=arguments.length-1;0<=a;a--)v.cc.push(arguments[a])}function d(){g.apply(null,arguments);return!0}function f(){v.context&&
(v.context=v.context.prev)}function n(a){return"openTag"==a?(v.tagName=y,d(r,u(v.startOfLine))):"closeTag"==a?(a=!1,v.context?v.context.tagName!=y&&(z.implicitlyClosed.hasOwnProperty(v.context.tagName.toLowerCase())&&f(),a=!v.context||v.context.tagName!=y):a=!0,a&&(A="error"),d(p(a))):d()}function u(a){return function(b){if("selfcloseTag"==b||"endTag"==b&&z.autoSelfClosers.hasOwnProperty(v.tagName.toLowerCase()))return q(v.tagName.toLowerCase()),d();if("endTag"==b){q(v.tagName.toLowerCase());b=v.tagName;
var f=z.doNotIndent.hasOwnProperty(b)||v.context&&v.context.noIndent;v.context={prev:v.context,tagName:b,indent:v.indented,startOfLine:a,noIndent:f}}return d()}}function p(a){return function(b){a&&(A="error");if("endTag"==b)return f(),d();A="error";return d(arguments.callee)}}function q(a){for(var b;v.context;){b=v.context.tagName.toLowerCase();if(!z.contextGrabbers.hasOwnProperty(b)||!z.contextGrabbers[b].hasOwnProperty(a))break;f()}}function r(a){if("word"==a)return A="attribute",d(s,r);if("endTag"==
a||"selfcloseTag"==a)return g();A="error";return d(r)}function s(a){if("equals"==a)return d(t,r);z.allowMissing||(A="error");return"endTag"==a||"selfcloseTag"==a?g():d()}function t(a){if("string"==a)return d(x);if("word"==a&&z.allowUnquoted)return A="string",d();A="error";return"endTag"==a||"selfCloseTag"==a?g():d()}function x(a){return"string"==a?d(x):g()}function w(a,b){a.sol()&&(b.startOfLine=!0,b.indented=0);if(a.eatSpace())return null;A=m=y=null;var d=b.tokenize(a,b);b.type=m;if((d||m)&&"comment"!=
d)for(v=b;!(b.cc.pop()||n)(m||d););b.startOfLine=!1;return A||d}var z={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!0,allowMissing:!0},y=null,m=null,v=null,A;return{parse:function(a,b){b=b||0;for(var d={tokenize:k,cc:[],indented:0,startOfLine:!0,tagName:null,context:null},f=h("stringStream").create(a),c=[];!f.eol();)c.push({type:w(f,d),start:f.start+b,end:f.pos+b}),f.start=f.pos;return c}}});
emmet.define("string-score",function(h,e){return{score:function(e,h,c){if(e==h)return 1;if(""==h)return 0;for(var b=0,a=h.length,g=e.length,d,f=1,n=0,u,p,q,r;n<a;++n){q=h.charAt(n);u=e.indexOf(q.toLowerCase());p=e.indexOf(q.toUpperCase());r=Math.min(u,p);p=-1<r?r:Math.max(u,p);if(-1===p)if(c){f+=1-c;continue}else return 0;else u=.1;e[p]===q&&(u+=.1);0===p?(u+=.6,0===n&&(d=1)):" "===e.charAt(p-1)&&(u+=.8);e=e.substring(p+1,g);b+=u}e=b/a;a=(a/g*e+e)/2/f;d&&1>a+.15&&(a+=.15);return a}}});
emmet.define("utils",function(h,e){function k(c){this._data=[];this.length=0;c&&this.append(c)}var l="${0}";k.prototype={append:function(c){this._data.push(c);this.length+=c.length},toString:function(){return this._data.join("")},valueOf:function(){return this.toString()}};return{reTag:/<\/?[\w:\-]+(?:\s+[\w\-:]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*\s*(\/?)>$/,endsWithTag:function(c){return this.reTag.test(c)},isNumeric:function(c){"string"==typeof c&&(c=c.charCodeAt(0));return c&&47<
c&&58>c},trim:function(c){return(c||"").replace(/^\s+|\s+$/g,"")},getNewline:function(){var c=h("resources");if(!c)return"\n";c=c.getVariable("newline");return e.isString(c)?c:"\n"},setNewline:function(c){var b=h("resources");b.setVariable("newline",c);b.setVariable("nl",c)},splitByLines:function(c,b){var a=this.getNewline(),a=(c||"").replace(/\r\n/g,"\n").replace(/\n\r/g,"\n").replace(/\r/g,"\n").replace(/\n/g,a).split(a);b&&(a=e.filter(a,function(a){return a.length&&!!this.trim(a)},this));return a},
normalizeNewline:function(c){return this.splitByLines(c).join(this.getNewline())},repeatString:function(c,b){for(var a=[],g=0;g<b;g++)a.push(c);return a.join("")},getStringsPads:function(c){c=e.map(c,function(a){return e.isString(a)?a.length:+a});var b=e.max(c);return e.map(c,function(a){return(a=b-a)?this.repeatString(" ",a):""},this)},padString:function(c,b){var a=e.isNumber(b)?this.repeatString(h("resources").getVariable("indentation")||"\t",b):b,g=[],d=this.splitByLines(c),f=this.getNewline();
g.push(d[0]);for(var n=1;n<d.length;n++)g.push(f+a+d[n]);return g.join("")},zeroPadString:function(c,b){for(var a="",g=c.length;b>g++;)a+="0";return a+c},unindentString:function(c,b){for(var a=this.splitByLines(c),g=0;g<a.length;g++)0==a[g].search(b)&&(a[g]=a[g].substr(b.length));return a.join(this.getNewline())},replaceUnescapedSymbol:function(c,b,a){for(var g=0,d=c.length,f=b.length,n=0;g<d;)if("\\"==c.charAt(g))g+=f+1;else if(c.substr(g,f)==b){var h=f;n++;var k=a;e.isFunction(a)&&((k=a(c,b,g,n))?
(h=k[0].length,k=k[1]):k=!1);!1===k?g++:(c=c.substring(0,g)+k+c.substring(g+h),d=c.length,g+=k.length)}else g++;return c},replaceVariables:function(c,b){b=b||{};var a=e.isFunction(b)?b:function(a,f){return f in b?b[f]:null},g=h("resources");return h("tabStops").processText(c,{variable:function(b){var f=a(b.token,b.name,b);null===f&&(f=g.getVariable(b.name));if(null===f||e.isUndefined(f))f=b.token;return f}})},replaceCounter:function(c,b,a){c=String(c);b=String(b);/^\-?\d+$/.test(b)&&(b=+b);var g=
this;return this.replaceUnescapedSymbol(c,"$",function(d,f,c,h){if("{"==d.charAt(c+1)||g.isNumeric(d.charAt(c+1)))return!1;for(f=c+1;"$"==d.charAt(f)&&"{"!=d.charAt(f+1);)f++;h=f-c;var k=0,l=!1,r;if(r=d.substr(f).match(/^@(\-?)(\d*)/))f+=r[0].length,r[1]&&(l=!0),k=parseInt(r[2]||1)-1;l&&a&&e.isNumber(b)&&(b=a-b+1);b+=k;return[d.substring(c,f),g.zeroPadString(b+"",h)]})},matchesTag:function(c){return this.reTag.test(c||"")},escapeText:function(c){return c.replace(/([\$\\])/g,"\\$1")},unescapeText:function(c){return c.replace(/\\(.)/g,
"$1")},getCaretPlaceholder:function(){return e.isFunction(l)?l.apply(this,arguments):l},setCaretPlaceholder:function(c){l=c},getLinePadding:function(c){return(c.match(/^(\s+)/)||[""])[0]},getLinePaddingFromPosition:function(c,b){var a=this.findNewlineBounds(c,b);return this.getLinePadding(a.substring(c))},escapeForRegexp:function(c){return c.replace(/[.*+?|()\[\]{}\\]/g,"\\$&")},prettifyNumber:function(c,b){return c.toFixed("undefined"==typeof b?2:b).replace(/\.?0+$/,"")},stringBuilder:function(c){return new k(c)},
replaceSubstring:function(c,b,a,g){e.isObject(a)&&"end"in a&&(g=a.end,a=a.start);e.isString(g)&&(g=a+g.length);e.isUndefined(g)&&(g=a);return 0>a||a>c.length?c:c.substring(0,a)+b+c.substring(g)},narrowToNonSpace:function(c,b,a){b=h("range").create(b,a);for(a=/[\s\n\r\u00a0]/;b.start<b.end&&a.test(c.charAt(b.start));)b.start++;for(;b.end>b.start;)if(b.end--,!a.test(c.charAt(b.end))){b.end++;break}return b},findNewlineBounds:function(c,b){for(var a=c.length,g=0,d=a-1,f=b-1;0<f;f--){var n=c.charAt(f);
if("\n"==n||"\r"==n){g=f+1;break}}for(f=b;f<a;f++)if(n=c.charAt(f),"\n"==n||"\r"==n){d=f;break}return h("range").create(g,d-g)},deepMerge:function(){var c,b,a,g,d,f=arguments[0]||{},n=1,h=arguments.length;for(e.isObject(f)||e.isFunction(f)||(f={});n<h;n++)if(null!=(c=arguments[n]))for(b in c)a=f[b],g=c[b],f!==g&&(g&&(e.isObject(g)||(d=e.isArray(g)))?(d?(d=!1,a=a&&e.isArray(a)?a:[]):a=a&&e.isObject(a)?a:{},f[b]=this.deepMerge(a,g)):void 0!==g&&(f[b]=g));return f}}});
emmet.define("range",function(h,e){function k(c,b,a){switch(a){case "eq":case "==":return c===b;case "lt":case "<":return c<b;case "lte":case "<=":return c<=b;case "gt":case ">":return c>b;case "gte":case ">=":return c>=b}}function l(c,b){e.isObject(c)&&"start"in c?(this.start=Math.min(c.start,c.end),this.end=Math.max(c.start,c.end)):e.isArray(c)?(this.start=c[0],this.end=c[1]):(b=e.isString(b)?b.length:+b,this.start=c,this.end=c+b)}l.prototype={length:function(){return Math.abs(this.end-this.start)},
equal:function(c){return this.cmp(c,"eq","eq")},shift:function(c){this.start+=c;this.end+=c;return this},overlap:function(c){return c.start<=this.end&&c.end>=this.start},intersection:function(c){if(this.overlap(c)){var b=Math.max(c.start,this.start);c=Math.min(c.end,this.end);return new l(b,c-b)}return null},union:function(c){if(this.overlap(c)){var b=Math.min(c.start,this.start);c=Math.max(c.end,this.end);return new l(b,c-b)}return null},inside:function(c){return this.cmp(c,"lte","gt")},contains:function(c){return this.cmp(c,
"lt","gt")},include:function(c){return this.cmp(loc,"lte","gte")},cmp:function(c,b,a){var g;c instanceof l?(g=c.start,c=c.end):g=c;return k(this.start,g,b||"<=")&&k(this.end,c,a||">")},substring:function(c){return 0<this.length()?c.substring(this.start,this.end):""},clone:function(){return new l(this.start,this.length())},toArray:function(){return[this.start,this.end]},toString:function(){return"{"+this.start+", "+this.length()+"}"}};return{create:function(c,b){if(e.isUndefined(c)||null===c)return null;
if(c instanceof l)return c;e.isObject(c)&&"start"in c&&"end"in c&&(b=c.end-c.start,c=c.start);return new l(c,b)},create2:function(c,b){e.isNumber(c)&&e.isNumber(b)&&(b-=c);return this.create(c,b)}}});
emmet.define("handlerList",function(h,e){function k(){this._list=[]}k.prototype={add:function(h,c){this._list.push(e.extend({order:0},c||{},{fn:h}))},remove:function(h){this._list=e.without(this._list,e.find(this._list,function(c){return c.fn===h}))},list:function(){return e.sortBy(this._list,"order").reverse()},listFn:function(){return e.pluck(this.list(),"fn")},exec:function(h,c){c=c||[];var b=null;e.find(this.list(),function(a){b=a.fn.apply(a,c);if(b!==h)return!0});return b}};return{create:function(){return new k}}});
emmet.define("tokenIterator",function(h,e){function k(e){this.tokens=e;this._position=0;this.reset()}k.prototype={next:function(){if(this.hasNext()){var e=this.tokens[++this._i];this._position=e.start;return e}return null},current:function(){return this.tokens[this._i]},position:function(){return this._position},hasNext:function(){return this._i<this._il-1},reset:function(){this._i=-1;this._il=this.tokens.length},item:function(){return this.tokens[this._i]},itemNext:function(){return this.tokens[this._i+
1]},itemPrev:function(){return this.tokens[this._i-1]},nextUntil:function(h,c){for(var b,a=e.isString(h)?function(a){return a.type==h}:h;(b=this.next())&&(c&&c.call(this,b),!a.call(this,b)););}};return{create:function(e){return new k(e)}}});
emmet.define("stringStream",function(h,e){function k(e){this.pos=this.start=0;this.string=e}k.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return 0==this.pos},peek:function(){return this.string.charAt(this.pos)},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(e){var c=this.string.charAt(this.pos);if("string"==typeof e?c==e:c&&(e.test?e.test(c):e(c)))return++this.pos,c},eatWhile:function(e){for(var c=this.pos;this.eat(e););
return this.pos>c},eatSpace:function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},skipToEnd:function(){this.pos=this.string.length},skipTo:function(e){e=this.string.indexOf(e,this.pos);if(-1<e)return this.pos=e,!0},skipToPair:function(e,c){for(var b=0,a,g=this.pos,d=this.string.length;g<d;)if(a=this.string.charAt(g++),a==e)b++;else if(a==c&&(b--,1>b))return this.pos=g,!0;return!1},backUp:function(e){this.pos-=e},match:function(e,c,b){if("string"==
typeof e){if(b=b?function(a){return a.toLowerCase()}:function(a){return a},b(this.string).indexOf(b(e),this.pos)==this.pos)return!1!==c&&(this.pos+=e.length),!0}else return(e=this.string.slice(this.pos).match(e))&&!1!==c&&(this.pos+=e[0].length),e},current:function(){return this.string.slice(this.start,this.pos)}};return{create:function(e){return new k(e)}}});
emmet.define("resources",function(h,e){function k(a,b,g){var e=h("utils");b=e.replaceUnescapedSymbol(b,"|",e.getCaretPlaceholder());if("snippets"==g)return h("elements").create("snippet",b);if("abbreviations"==g){g=b;h("utils").trim(a);a=h("elements");var k;a=(k=c.exec(g))?a.create("element",k[1],k[2],"/"==k[4]):a.create("reference",g);return a}}var l={},c=/^<(\w+\:?[\w\-]*)((?:\s+[\w\:\-]+\s*=\s*(['"]).*?\3)*)\s*(\/?)>/,b={},a={},g=h("handlerList").create();return{setVocabulary:function(d,f){l={};
"system"==f?b=d:a=d},getVocabulary:function(d){return"system"==d?b:a},getMatchedResource:function(a,b){return g.exec(null,e.toArray(arguments))||this.findSnippet(b,a.name())},getVariable:function(a){return(this.getSection("variables")||{})[a]},setVariable:function(a,b){var c=this.getVocabulary("user")||{};"variables"in c||(c.variables={});c.variables[a]=b;this.setVocabulary(c,"user")},hasSyntax:function(a){return a in this.getVocabulary("user")||a in this.getVocabulary("system")},addResolver:function(a,
b){g.add(a,b)},removeResolver:function(a){g.remove(a)},getSection:function(d){if(!d)return null;d in l||(l[d]=h("utils").deepMerge({},b[d],a[d]));for(var f=l[d],c=e.rest(arguments),g;f&&(g=c.shift());)if(g in f)f=f[g];else return null;return f},findItem:function(a,b){for(var c=this.getSection(a);c;){if(b in c)return c[b];c=this.getSection(c["extends"])}},findSnippet:function(a,b,c){if(!a||!b)return null;c=c||[];var g=[b];~b.indexOf("-")&&g.push(b.replace(/\-/g,":"));var h=this.getSection(a),l=null;
e.find(["snippets","abbreviations"],function(b){var f=this.getSection(a,b);if(f)return e.find(g,function(a){if(f[a])return l=k(a,f[a],b)})},this);c.push(a);return l||!h["extends"]||e.include(c,h["extends"])?l:this.findSnippet(h["extends"],b,c)},fuzzyFindSnippet:function(a,b,c){c=c||.3;a=this.getAllSnippets(a);var g=h("string-score");b=b.replace(/:$/,"").replace(/:/g,"-");var k=e.map(a,function(a,d){return{key:d,score:g.score(a.nk,b,.1)}});if((k=e.last(e.sortBy(k,"score")))&&k.score>=c)return a[k.key].parsedValue},
getAllSnippets:function(a){var b="all-"+a;if(!l[b]){var c=[],g=[];do{var h=this.getSection(a);if(!h)break;e.each(["snippets","abbreviations"],function(a){var b={};e.each(h[a]||null,function(d,f){b[f]={nk:f.replace(/:$/,"").replace(/:/g,"-"),value:d,parsedValue:k(f,d,a),type:a}});c.push(b)});g.push(a);a=h["extends"]}while(a&&!e.include(g,a));l[b]=e.extend.apply(e,c.reverse())}return l[b]}}});
emmet.define("actions",function(h,e,k){function l(b){return h("utils").trim(b.charAt(0).toUpperCase()+b.substring(1).replace(/_[a-z]/g,function(a){return" "+a.charAt(1).toUpperCase()}))}var c={};return{add:function(b,a,g){b=b.toLowerCase();g=g||{};g.label||(g.label=l(b));c[b]={name:b,fn:a,options:g}},get:function(b){return c[b.toLowerCase()]},run:function(b,a){e.isArray(a)||(a=e.rest(arguments));var c=this.get(b);if(c)return c.fn.apply(emmet,a);emmet.log('Action "%s" is not defined',b);return!1},
getAll:function(){return c},getList:function(){return e.values(this.getAll())},getMenu:function(b){var a=[];b=b||[];e.each(this.getList(),function(c){if(!c.options.hidden&&!e.include(b,c.name)){var d=l(c.name),f=a;if(c.options.label)for(var h=c.options.label.split("/"),d=h.pop(),k,p;k=h.shift();)p=e.find(f,function(a){return"submenu"==a.type&&a.name==k}),p||(p={name:k,type:"submenu",items:[]},f.push(p)),f=p.items;f.push({type:"action",name:c.name,label:d})}});return a},getActionNameForMenuTitle:function(b,
a){var c=null;e.find(a||this.getMenu(),function(a){if("action"==a.type){if(a.label==b||a.name==b)return c=a.name}else return c=this.getActionNameForMenuTitle(b,a.items)},this);return c||null}}});
emmet.define("profile",function(h,e){function k(a){e.extend(this,g,a)}function l(a,b){switch(String(b||"").toLowerCase()){case "lower":return a.toLowerCase();case "upper":return a.toUpperCase()}return a}function c(b,f){return a[b.toLowerCase()]=new k(f)}function b(){c("xhtml");c("html",{self_closing_tag:!1});c("xml",{self_closing_tag:!0,tag_nl:!0});c("plain",{tag_nl:!1,indent:!1,place_cursor:!1});c("line",{tag_nl:!1,indent:!1,extraFilters:"s"})}var a={},g={tag_case:"asis",attr_case:"asis",attr_quotes:"double",
tag_nl:"decide",tag_nl_leaf:!1,place_cursor:!0,indent:!0,inline_break:3,self_closing_tag:"xhtml",filters:"",extraFilters:""};k.prototype={tagName:function(a){return l(a,this.tag_case)},attributeName:function(a){return l(a,this.attr_case)},attributeQuote:function(){return"single"==this.attr_quotes?"'":'"'},selfClosing:function(a){return"xhtml"==this.self_closing_tag?" /":!0===this.self_closing_tag?"/":""},cursor:function(){return this.place_cursor?h("utils").getCaretPlaceholder():""}};b();return{create:function(a,
b){return 2==arguments.length?c(a,b):new k(e.defaults(a||{},g))},get:function(b,f){if(!b&&f){var c=h("resources").findItem(f,"profile");c&&(b=c)}return b?b instanceof k?b:e.isString(b)&&b.toLowerCase()in a?a[b.toLowerCase()]:this.create(b):a.plain},remove:function(b){b=(b||"").toLowerCase();b in a&&delete a[b]},reset:function(){a={};b()},stringCase:l}});
emmet.define("editorUtils",function(h,e){return{isInsideTag:function(e,h){for(var c=/^<\/?\w[\w\:\-]*.*?>/,b=h;-1<b&&"<"!=e.charAt(b);)b--;return-1!=b&&(c=c.exec(e.substring(b)))&&h>b&&h<b+c[0].length?!0:!1},outputInfo:function(e,h,c){c=c||e.getProfileName();return{syntax:String(h||e.getSyntax()),profile:c||null,content:String(e.getContent())}},unindent:function(e,l){return h("utils").unindentString(l,this.getCurrentLinePadding(e))},getCurrentLinePadding:function(e){return h("utils").getLinePadding(e.getCurrentLine())}}});
emmet.define("actionUtils",function(h,e){return{mimeTypes:{gif:"image/gif",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",svg:"image/svg+xml",html:"text/html",htm:"text/html"},extractAbbreviation:function(e){for(var l=e.length,c=-1,b=0,a=0,g=0,d=h("utils"),f=h("abbreviationParser");;){l--;if(0>l){c=0;break}var n=e.charAt(l);if("]"==n)a++;else if("["==n){if(!a){c=l+1;break}a--}else if("}"==n)g++;else if("{"==n){if(!g){c=l+1;break}g--}else if(")"==n)b++;else if("("==n){if(!b){c=l+1;break}b--}else if(!a&&
!g&&(!f.isAllowedChar(n)||">"==n&&d.endsWithTag(e.substring(0,l+1)))){c=l+1;break}}return-1==c||g||a||b?"":e.substring(c).replace(/^[\*\+\>\^]+/,"")},getImageSize:function(e){var h=function(){return e.charCodeAt(c++)};if("\u0089PNG\r\n\u001a\n"===e.substr(0,8)){var c=e.indexOf("IHDR")+4;return{width:h()<<24|h()<<16|h()<<8|h(),height:h()<<24|h()<<16|h()<<8|h()}}if("GIF8"===e.substr(0,4))return c=6,{width:h()|h()<<8,height:h()|h()<<8};if("\u00ff\u00d8"===e.substr(0,2))for(var c=2,b=e.length;c<b&&255==
h();){var a=h();if(218==a)break;var g=h()<<8|h();if(!(192<=a&&207>=a)||a&4||a&8)c+=g-2;else return c+=1,{height:h()<<8|h(),width:h()<<8|h()}}},captureContext:function(k){if(String(k.getSyntax())in{html:1,xml:1,xsl:1}){var l=String(k.getContent());if((k=h("htmlMatcher").find(l,k.getCaretPos()))&&"tag"==k.type){var c=k.open;k={name:c.name,attributes:[]};if(l=h("xmlEditTree").parse(c.range.substring(l)))k.attributes=e.map(l.getAll(),function(b){return{name:b.name(),value:b.value()}});return k}}return null},
findExpressionBounds:function(e,l){for(var c=String(e.getContent()),b=c.length,a=e.getCaretPos()-1,g=a+1;0<=a&&l(c.charAt(a),a,c);)a--;for(;g<b&&l(c.charAt(g),g,c);)g++;if(g>a)return h("range").create([++a,g])},compoundUpdate:function(e,h){if(h){var c=e.getSelectionRange();e.replaceContent(h.data,h.start,h.end,!0);e.createSelection(h.caret,h.caret+c.end-c.start);return!0}return!1},detectSyntax:function(e,l){var c=l||"html";h("resources").hasSyntax(c)||(c="html");"html"==c&&(this.isStyle(e)||this.isInlineCSS(e))&&
(c="css");return c},detectProfile:function(e){var l=e.getSyntax(),c=h("resources").findItem(l,"profile");if(c)return c;switch(l){case "xml":case "xsl":return"xml";case "css":if(this.isInlineCSS(e))return"line";break;case "html":return(c=h("resources").getVariable("profile"))||(c=this.isXHTML(e)?"xhtml":"html"),c}return"xhtml"},isXHTML:function(e){return-1!=e.getContent().search(/<!DOCTYPE[^>]+XHTML/i)},isStyle:function(e){var l=String(e.getContent());e=e.getCaretPos();return(l=h("htmlMatcher").tag(l,
e))&&"style"==l.open.name.toLowerCase()&&l.innerRange.cmp(e,"lte","gte")},isInlineCSS:function(e){var l=String(e.getContent());e=e.getCaretPos();return(l=h("xmlEditTree").parseFromPosition(l,e,!0))?(l=l.itemFromPosition(e,!0))&&"style"==l.name().toLowerCase()&&l.valueRange(!0).cmp(e,"lte","gte"):!1}}});
emmet.define("abbreviationUtils",function(h,e){return{isSnippet:function(e){return h("elements").is(e.matchedResource(),"snippet")},isUnary:function(e){return e.children.length||e._text||this.isSnippet(e)?!1:(e=e.matchedResource())&&e.is_empty},isInline:function(e){return e.isTextNode()||!e.name()||h("tagName").isInlineLevel(e.name())},isBlock:function(e){return this.isSnippet(e)||!this.isInline(e)},isSnippet:function(e){return h("elements").is(e.matchedResource(),"snippet")},hasTagsInContent:function(e){return h("utils").matchesTag(e.content)},
hasBlockChildren:function(h){return this.hasTagsInContent(h)&&this.isBlock(h)||e.any(h.children,function(e){return this.isBlock(e)},this)},insertChildContent:function(k,l,c){c=e.extend({keepVariable:!0,appendIfNoChild:!0},c||{});var b=!1,a=h("utils");k=a.replaceVariables(k,function(g,d,f){var e=g;"child"==d&&(e=a.padString(l,a.getLinePaddingFromPosition(k,f.start)),b=!0,c.keepVariable&&(e+=g));return e});!b&&c.appendIfNoChild&&(k+=l);return k}}});
emmet.define("base64",function(h,e){return{encode:function(e){for(var h=[],c,b,a,g,d,f,n=0,u=e.length;n<u;)g=e.charCodeAt(n++),d=e.charCodeAt(n++),f=e.charCodeAt(n++),c=g&255,b=d&255,a=f&255,g=c>>2,c=(c&3)<<4|b>>4,b=(b&15)<<2|a>>6,a&=63,isNaN(d)?b=a=64:isNaN(f)&&(a=64),h.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(g)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(c)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(b)+
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(a));return h.join("")},decode:function(e){var h,c,b,a,g,d=0,f=0,n=[],u=e.length;if(!e)return e;e+="";do h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e.charAt(d++)),c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e.charAt(d++)),a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e.charAt(d++)),g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e.charAt(d++)),
b=h<<18|c<<12|a<<6|g,h=b>>16&255,c=b>>8&255,b&=255,64==a?n[f++]=String.fromCharCode(h):64==g?n[f++]=String.fromCharCode(h,c):n[f++]=String.fromCharCode(h,c,b);while(d<u);return n.join("")}}});
emmet.define("htmlMatcher",function(h,e){function k(a,b){return{range:h("range").create(a,e.isNumber(b)?b-a:b[0]),type:"comment"}}function l(b){var f={},c;return{open:function(a){return(a=this.matches(a))&&"open"==a.type?a:null},close:function(a){return(a=this.matches(a))&&"close"==a.type?a:null},matches:function(e){var k="p"+e;if(!(k in f)&&"<"==b.charAt(e)){var l=b.slice(e);(c=l.match(a))?(l=c,e={name:l[1],selfClose:!!l[3],range:h("range").create(e,l[0]),type:"open"},f[k]=e):(c=l.match(g))?(l=c,
e={name:l[1],range:h("range").create(e,l[0]),type:"close"},f[k]=e):f[k]=!1}return f[k]},text:function(){return b}}}function c(a,b,c){return a.substring(b,b+c.length)==c}function b(a,b){for(var g=[],h=null,k=b.text(),l=a.range.end,r=k.length;l<r;l++){if(c(k,l,"\x3c!--"))for(h=l;h<r;h++)if(c(k,h,"--\x3e")){l=h+3;break}if(h=b.matches(l))if("open"==h.type&&!h.selfClose)g.push(h.name);else if("close"==h.type){if(!g.length)return h.name==a.name?h:null;if(e.last(g)==h.name)g.pop();else{for(var s=!1;g.length&&
!s;)g.pop()==h.name&&(s=!0);if(!g.length&&!s)return h.name==a.name?h:null}}}}var a=/^<([\w\:\-]+)((?:\s+[\w\-:]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,g=/^<\/([\w\:\-]+)[^>]*>/;return{find:function(a,f){for(var g=h("range"),e=l(a),p=null,q=null,r=f;0<=r;r--)if(p=e.open(r))if(p.selfClose){if(p.range.cmp(f,"lt","gt"))break}else{if(q=b(p,e)){if(g.create2(p.range.start,q.range.end).contains(f))break}else if(p.range.contains(f))break;p=null}else if(c(a,r,"--\x3e"))for(var s=r-1;0<=
s&&!c(a,s,"--\x3e");s--){if(c(a,s,"\x3c!--")){r=s;break}}else if(c(a,r,"\x3c!--")){s=r+4;for(p=a.length;s<p;s++)if(c(a,s,"--\x3e")){s+=3;break}p=k(r,s);break}if(p)return s=r=null,q?(r=g.create2(p.range.start,q.range.end),s=g.create2(p.range.end,q.range.start)):r=s=g.create2(p.range.start,p.range.end),"comment"==p.type&&(g=r.substring(a),s.start+=g.length-g.replace(/^<\!--\s*/,"").length,s.end-=g.length-g.replace(/\s*--\x3e$/,"").length),{open:p,close:q,type:"comment"==p.type?"comment":"tag",innerRange:s,
innerContent:function(){return this.innerRange.substring(a)},outerRange:r,outerContent:function(){return this.outerRange.substring(a)},range:s.length()&&s.cmp(f,"lte","gte")?s:r,content:function(){return this.range.substring(a)},source:a}},tag:function(a,b){var c=this.find(a,b);if(c&&"tag"==c.type)return c}}});
emmet.define("tabStops",function(h,e){var k=100,l=0,c={replaceCarets:!1,escape:function(b){return"\\"+b},tabstop:function(b){return b.token},variable:function(b){return b.token}};h("abbreviationParser").addOutputProcessor(function(b,a,c){var d=0,f=h("tabStops");c=h("utils");var e={tabstop:function(a){var b=parseInt(a.group);if(0==b)return"${0}";b>d&&(d=b);return a.placeholder?(b+=l,a=f.processText(a.placeholder,e),"${"+b+":"+a+"}"):"${"+(b+l)+"}"}};b=f.processText(b,e);b=c.replaceVariables(b,f.variablesResolver(a));
l+=d+1;return b});return{extract:function(b,a){var g=h("utils"),d={carets:""},f=[];a=e.extend({},c,a,{tabstop:function(a){var b=a.token,c="";"cursor"==a.placeholder?f.push({start:a.start,end:a.start+b.length,group:"carets",value:""}):("placeholder"in a&&(d[a.group]=a.placeholder),a.group in d&&(c=d[a.group]),f.push({start:a.start,end:a.start+b.length,group:a.group,value:c}));return b}});a.replaceCarets&&(b=b.replace(new RegExp(g.escapeForRegexp(g.getCaretPlaceholder()),"g"),"${0:cursor}"));b=this.processText(b,
a);var n=g.stringBuilder(),k=0,g=e.map(f,function(a){n.append(b.substring(k,a.start));var c=n.length,f=d[a.group]||"";n.append(f);k=a.end;return{group:a.group,start:c,end:c+f.length}});n.append(b.substring(k));return{text:n.toString(),tabstops:e.sortBy(g,"start")}},processText:function(b,a){a=e.extend({},c,a);for(var g=h("utils").stringBuilder(),d=h("stringStream").create(b),f,n;f=d.next();)if("\\"!=f||d.eol()){n=f;if("$"==f)if(d.start=d.pos-1,d.match(/^[0-9]+/))n=a.tabstop({start:g.length,group:d.current().substr(1),
token:d.current()});else if(f=d.match(/^\{([a-z_\-][\w\-]*)\}/))n=a.variable({start:g.length,name:f[1],token:d.current()});else if(f=d.match(/^\{([0-9]+)(:.+?)?\}/,!1)){d.skipToPair("{","}");n={start:g.length,group:f[1],token:d.current()};if(f=n.token.substring(n.group.length+2,n.token.length-1))n.placeholder=f.substr(1);n=a.tabstop(n)}g.append(n)}else g.append(a.escape(d.next()));return g.toString()},upgrade:function(b,a){var c=0,d={tabstop:function(b){var d=parseInt(b.group);d>c&&(c=d);return b.placeholder?
"${"+(d+a)+":"+b.placeholder+"}":"${"+(d+a)+"}"}};e.each(["start","end","content"],function(a){b[a]=this.processText(b[a],d)},this);return c},variablesResolver:function(b){var a={},c=h("resources");return function(d,f){if("child"==f)return d;if("cursor"==f)return h("utils").getCaretPlaceholder();var n=b.attribute(f);if(!e.isUndefined(n)&&n!==d||(n=c.getVariable(f)))return n;a[f]||(a[f]=k++);return"${"+a[f]+":"+f+"}"}},resetTabstopIndex:function(){l=0;k=100}}});
emmet.define("preferences",function(h,e){var k={},l={},c=null,b=null;return{define:function(a,b,c){var f=a;e.isString(a)&&(f={},f[a]={value:b,description:c});e.each(f,function(a,b){var c=l,f;f=e.isObject(a)&&"value"in a&&3>e.keys(a).length;c[b]=f?a:{value:a}})},set:function(a,b){var c=a;e.isString(a)&&(c={},c[a]=b);e.each(c,function(a,b){if(!(b in l))throw'Property "'+b+'" is not defined. You should define it first with `define` method of current module';if(a!==l[b].value){switch(typeof l[b].value){case "boolean":var c=
a;e.isString(c)?(c=c.toLowerCase(),a="yes"==c||"true"==c||"1"==c):a=!!c;break;case "number":a=parseInt(a+"",10)||0;break;default:null!==a&&(a+="")}k[b]=a}else b in k&&delete k[b]})},get:function(a){if(a in k)return k[a];if(a in l)return l[a].value},getArray:function(a){a=this.get(a);if(e.isUndefined(a)||null===a||""===a)return null;a=e.map(a.split(","),h("utils").trim);return a.length?a:null},getDict:function(a){var b={};e.each(this.getArray(a),function(a){a=a.split(":");b[a[0]]=a[1]});return b},
description:function(a){return a in l?l[a].description:void 0},remove:function(a){e.isArray(a)||(a=[a]);e.each(a,function(a){a in k&&delete k[a];a in l&&delete l[a]})},list:function(){return e.map(e.keys(l).sort(),function(a){return{name:a,value:this.get(a),type:typeof l[a].value,description:l[a].description}},this)},load:function(a){e.each(a,function(a,b){this.set(b,a)},this)},exportModified:function(){return e.clone(k)},reset:function(){k={}},_startTest:function(){c=l;b=k;l={};k={}},_stopTest:function(){l=
c;k=b}}});
emmet.define("filters",function(h,e){function k(c){return c?e.isString(c)?c.split(/[\|,]/g):c:[]}var l={};return{add:function(c,b){l[c]=b},apply:function(c,b,a){var g=h("utils");a=h("profile").get(a);e.each(k(b),function(b){(b=g.trim(b.toLowerCase()))&&b in l&&(c=l[b](c,a))});return c},composeList:function(c,b,a){b=h("profile").get(b);c=k(b.filters||h("resources").findItem(c,"filters")||"html");b.extraFilters&&(c=c.concat(k(b.extraFilters)));a&&(c=c.concat(k(a)));c&&c.length||(c=k("html"));return c},
extractFromAbbreviation:function(c){var b="";c=c.replace(/\|([\w\|\-]+)$/,function(a,c){b=c;return""});return[c,k(b)]}}});
emmet.define("elements",function(h,e){function k(a){return{data:a}}var l={},c=/([\w\-:]+)\s*=\s*(['"])(.*?)\2/g,b={add:function(a,b){var c=this;l[a]=function(){var f=b.apply(c,arguments);f&&(f.type=a);return f}},get:function(a){return l[a]},create:function(a){var b=[].slice.call(arguments,1),c=this.get(a);return c?c.apply(this,b):null},is:function(a,b){return a&&a.type===b}};b.add("element",function(a,b,d){var f={name:a,is_empty:!!d};if(b)if(f.attributes=[],e.isArray(b))f.attributes=b;else if(e.isString(b))for(;a=
c.exec(b);)f.attributes.push({name:a[1],value:a[3]});else e.each(b,function(a,b){f.attributes.push({name:b,value:a})});return f});b.add("snippet",k);b.add("reference",k);b.add("empty",function(){return{}});return b});
emmet.define("editTree",function(h,e,k){function l(a,b){this.options=e.extend({offset:0},b);this.source=a;this._children=[];this._positions={name:0};this.initialize.apply(this,arguments)}function c(a,b,c){this.parent=a;this._name=b.value;this._value=c?c.value:"";this._positions={name:b.start,value:c?c.start:-1};this.initialize.apply(this,arguments)}var b=h("range").create;l.extend=k.extend;l.prototype={initialize:function(){},_updateSource:function(a,c,d){var f=b(c,e.isUndefined(d)?0:d-c),n=a.length-
f.length(),k=function(a){e.each(a,function(b,c){b>=f.end&&(a[c]+=n)})};k(this._positions);e.each(this.list(),function(a){k(a._positions)});this.source=h("utils").replaceSubstring(this.source,a,f)},add:function(a,b,d){a=new c(a,b);this._children.push(a);return a},get:function(a){return e.isNumber(a)?this.list()[a]:e.isString(a)?e.find(this.list(),function(b){return b.name()===a}):a},getAll:function(a){e.isArray(a)||(a=[a]);var b=[],c=[];e.each(a,function(a){e.isString(a)?b.push(a):e.isNumber(a)&&c.push(a)});
return e.filter(this.list(),function(a,h){return e.include(c,h)||e.include(b,a.name())})},value:function(a,b,c){var f=this.get(a);if(f)return f.value(b);if(!e.isUndefined(b))return this.add(a,b,c)},values:function(a){return e.map(this.getAll(a),function(a){return a.value()})},remove:function(a){if(a=this.get(a))this._updateSource("",a.fullRange()),this._children=e.without(this._children,a)},list:function(){return this._children},indexOf:function(a){return e.indexOf(this.list(),this.get(a))},name:function(a){e.isUndefined(a)||
this._name===(a=String(a))||(this._updateSource(a,this._positions.name,this._positions.name+this._name.length),this._name=a);return this._name},nameRange:function(a){return b(this._positions.name+(a?this.options.offset:0),this.name())},range:function(a){return b(a?this.options.offset:0,this.toString())},itemFromPosition:function(a,b){return e.find(this.list(),function(c){return c.range(b).inside(a)})},toString:function(){return this.source}};c.extend=k.extend;c.prototype={initialize:function(){},
_pos:function(a,b){return a+(b?this.parent.options.offset:0)},value:function(a){e.isUndefined(a)||this._value===(a=String(a))||(this.parent._updateSource(a,this.valueRange()),this._value=a);return this._value},name:function(a){e.isUndefined(a)||this._name===(a=String(a))||(this.parent._updateSource(a,this.nameRange()),this._name=a);return this._name},namePosition:function(a){return this._pos(this._positions.name,a)},valuePosition:function(a){return this._pos(this._positions.value,a)},range:function(a){return b(this.namePosition(a),
this.toString())},fullRange:function(a){return this.range(a)},nameRange:function(a){return b(this.namePosition(a),this.name())},valueRange:function(a){return b(this.valuePosition(a),this.value())},toString:function(){return this.name()+this.value()},valueOf:function(){return this.toString()}};return{EditContainer:l,EditElement:c,createToken:function(a,b,c){a={start:a||0,value:b||"",type:c};a.end=a.start+a.value.length;return a}}});
emmet.define("cssEditTree",function(h,e){function k(a,b){return h("range").create(a,b)}function l(a,b){b=b||3;var c=["white","line"];if(2==(b&2))for(;a.length&&e.include(c,e.last(a).type);)a.pop();if(1==(b&1))for(;a.length&&e.include(c,a[0].type);)a.shift();return a}function c(a){var b=["white","line",":"],c=[],d,g;a.nextUntil(function(a){return!e.include(b,this.itemNext().type)});for(g=a.current().end;d=a.next();){if("}"==d.type||";"==d.type)return l(c,1|("}"==d.type?2:0)),c.length?(g=c[0].start,
a=e.last(c).end):a=g,k(g,a-g);c.push(d)}if(c.length)return k(c[0].start,e.last(c).end-c[0].start)}function b(a){var b=h("stringStream").create(a),c=[],d=/[\s\u00a0,]/,g=function(){b.next();c.push(k(b.start,b.current()));b.start=b.pos};b.eatSpace();for(b.start=b.pos;a=b.next();)if('"'==a||"'"==a){b.next();if(!b.skipTo(a))break;g()}else if("("==a){b.backUp(1);if(!b.skipToPair("(",")"))break;b.backUp(1);g()}else d.test(a)&&(c.push(k(b.start,b.current().length-1)),b.eatWhile(d),b.start=b.pos);g();return e.chain(c).filter(function(a){return!!a.length()}).uniq(!1,
function(a){return a.toString()}).value()}var a={styleBefore:"\n\t",styleSeparator:": ",offset:0},g=h("editTree").EditContainer.extend({initialize:function(b,g){e.defaults(this.options,a);var u=h("editTree"),p=h("tokenIterator").create(h("cssParser").parse(b)),q,r=[],s;for(q=p.position();(s=p.next())&&"{"!=s.type;)r.push(s);l(r);r.length?(q=r[0].start,r=e.last(r).end):r=q;q=k(q,r-q);this._positions.name=q.start;this._name=q.substring(b);if(!p.current()||"{"!=p.current().type)throw"Invalid CSS rule";
for(this._positions.contentStart=p.position()+1;q=p.next();){if(r="identifier"==q.type)a:{r=p.tokens;s=p._i+1;for(var t=r.length;s<t;s++){if(":"==r[s].type){r=!0;break a}if("identifier"==r[s].type||"line"==r[s].type){r=!1;break a}}r=!1}r&&(q=k(q),r=c(p),s=p.current()&&";"==p.current().type?k(p.current()):k(r.end,0),this._children.push(new d(this,u.createToken(q.start,q.substring(b)),u.createToken(r.start,r.substring(b)),u.createToken(s.start,s.substring(b)))))}this._saveStyle()},_saveStyle:function(){var a=
this._positions.contentStart,b=this.source,c=h("utils");e.each(this.list(),function(d){d.styleBefore=b.substring(a,d.namePosition());var g=c.splitByLines(d.styleBefore);1<g.length&&(d.styleBefore="\n"+e.last(g));d.styleSeparator=b.substring(d.nameRange().end,d.valuePosition());d.styleBefore=e.last(d.styleBefore.split("*/"));d.styleSeparator=d.styleSeparator.replace(/\/\*.*?\*\//g,"");a=d.range().end})},add:function(a,b,c){var g=this.list(),k=this._positions.contentStart,l=e.pick(this.options,"styleBefore",
"styleSeparator"),s=h("editTree");e.isUndefined(c)&&(c=g.length);var t=g[c];if(t)k=t.fullRange().start;else if(t=g[c-1])t.end(";"),k=t.range().end;t&&(l=e.pick(t,"styleBefore","styleSeparator"));a=s.createToken(k+l.styleBefore.length,a);b=s.createToken(a.end+l.styleSeparator.length,b);s=new d(this,a,b,s.createToken(b.end,";"));e.extend(s,l);this._updateSource(s.styleBefore+s.toString(),k);this._children.splice(c,0,s);return s}}),d=h("editTree").EditElement.extend({initialize:function(a,b,c,d){this.styleBefore=
a.options.styleBefore;this.styleSeparator=a.options.styleSeparator;this._end=d.value;this._positions.end=d.start},valueParts:function(a){var c=b(this.value());if(a){var d=this.valuePosition(!0);e.each(c,function(a){a.shift(d)})}return c},end:function(a){e.isUndefined(a)||this._end===a||(this.parent._updateSource(a,this._positions.end,this._positions.end+this._end.length),this._end=a);return this._end},fullRange:function(a){a=this.range(a);a.start-=this.styleBefore.length;return a},toString:function(){return this.name()+
this.styleSeparator+this.value()+this.end()}});return{parse:function(a,b){return new g(a,b)},parseFromPosition:function(a,b,c){return(c=this.extractRule(a,b,c))&&c.inside(b)?this.parse(c.substring(a),{offset:c.start}):null},extractRule:function(a,b,c){for(var d="",g=a.length,e=-1,k;0<=b;){k=a.charAt(b);if("{"==k){e=b;break}else if("}"==k&&!c){b++;break}b--}for(;b<g;){k=a.charAt(b);if("{"==k)e=b;else if("}"==k){-1!=e&&(d=a.substring(e,b+1));break}b++}if(d){b=e-1;for(c="";0<=b;){k=a.charAt(b);if(-1!=
"{}/\\<>\n\r".indexOf(k))break;b--}c=a.substring(b+1,e).replace(/^[\s\n\r]+/m,"");return h("range").create(e-c.length,d.length+c.length)}return null},baseName:function(a){return a.replace(/^\s*\-\w+\-/,"")},findParts:b}});
emmet.define("xmlEditTree",function(h,e){var k={styleBefore:" ",styleSeparator:"=",styleQuote:'"',offset:0},l=/^<([\w\:\-]+)((?:\s+[\w\-:]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/m,c=h("editTree").EditContainer.extend({initialize:function(a,c){e.defaults(this.options,k);this._positions.name=1;var d=null,f=h("xmlParser").parse(a),n=h("range");e.each(f,function(c){c.value=n.create(c).substring(a);switch(c.type){case "tag":/^<[^\/]+/.test(c.value)&&(this._name=c.value.substring(1));
break;case "attribute":d&&this._children.push(new b(this,d));d=c;break;case "string":this._children.push(new b(this,d,c)),d=null}},this);d&&this._children.push(new b(this,d));this._saveStyle()},_saveStyle:function(){var a=this.nameRange().end,b=this.source;e.each(this.list(),function(c){c.styleBefore=b.substring(a,c.namePosition());-1!==c.valuePosition()&&(c.styleSeparator=b.substring(c.namePosition()+c.name().length,c.valuePosition()-c.styleQuote.length));a=c.range().end})},add:function(a,c,d){var f=
this.list(),k=this.nameRange().end,l=h("editTree"),p=e.pick(this.options,"styleBefore","styleSeparator","styleQuote");e.isUndefined(d)&&(d=f.length);var q=f[d];if(q)k=q.fullRange().start;else if(q=f[d-1])k=q.range().end;q&&(p=e.pick(q,"styleBefore","styleSeparator","styleQuote"));c=p.styleQuote+c+p.styleQuote;a=new b(this,l.createToken(k+p.styleBefore.length,a),l.createToken(k+p.styleBefore.length+a.length+p.styleSeparator.length,c));e.extend(a,p);this._updateSource(a.styleBefore+a.toString(),k);
this._children.splice(d,0,a);return a}}),b=h("editTree").EditElement.extend({initialize:function(a,b,c){this.styleBefore=a.options.styleBefore;this.styleSeparator=a.options.styleSeparator;b="";a=a.options.styleQuote;c&&(b=c.value,a=b.charAt(0),'"'==a||"'"==a?b=b.substring(1):a="",a&&b.charAt(b.length-1)==a&&(b=b.substring(0,b.length-1)));this.styleQuote=a;this._value=b;this._positions.value=c?c.start+a.length:-1},fullRange:function(a){a=this.range(a);a.start-=this.styleBefore.length;return a},toString:function(){return this.name()+
this.styleSeparator+this.styleQuote+this.value()+this.styleQuote}});return{parse:function(a,b){return new c(a,b)},parseFromPosition:function(a,b,c){return(c=this.extractTag(a,b,c))&&c.inside(b)?this.parse(c.substring(a),{offset:c.start}):null},extractTag:function(a,b,c){var f=a.length,e,k=h("range"),p=Math.min(2E3,f),q=null,r=function(b){var c;if("<"==a.charAt(b)&&(c=a.substr(b,p).match(l)))return k.create(b,c[0])};for(e=b;0<=e&&!(q=r(e));e--);if(q&&(q.inside(b)||c))return q;if(!q&&c)return null;
for(e=b;e<f;e++)if(q=r(e))return q}}});
emmet.define("expandAbbreviation",function(h,e){var k=h("handlerList").create(),l=null,c=h("actions");c.add("expand_abbreviation",function(b,a,c){var d=e.toArray(arguments),f=h("editorUtils").outputInfo(b,a,c);d[1]=f.syntax;d[2]=f.profile;return k.exec(!1,d)});c.add("expand_abbreviation_with_tab",function(b,a,e){var d=b.getSelection(),f=h("resources").getVariable("indentation");if(d)return e=h("utils"),a=h("range").create(b.getSelectionRange()),d=e.padString(d,f),b.replaceContent(f+"${0}",b.getCaretPos()),
f=h("range").create(b.getCaretPos(),a.length()),b.replaceContent(d,f.start,f.end,!0),b.createSelection(f.start,f.start+d.length),!0;c.run("expand_abbreviation",b,a,e)||b.replaceContent(f,b.getCaretPos());return!0},{hidden:!0});k.add(function(b,a,c){var d=b.getSelectionRange().end,f=l.findAbbreviation(b);return f&&(a=emmet.expandAbbreviation(f,a,c,h("actionUtils").captureContext(b)))?(b.replaceContent(a,d-f.length,d),!0):!1},{order:-1});return l={addHandler:function(b,a){k.add(b,a)},removeHandler:function(b){k.remove(b,
options)},findAbbreviation:function(b){var a=h("range").create(b.getSelectionRange()),c=String(b.getContent());if(a.length())return a.substring(c);b=b.getCurrentLineRange();return h("actionUtils").extractAbbreviation(c.substring(b.start,a.start))}}});
emmet.define("wrapWithAbbreviation",function(h,e){var k=null;h("actions").add("wrap_with_abbreviation",function(e,c,b,a){b=h("editorUtils").outputInfo(e,b,a);var g=h("utils");a=h("editorUtils");c=c||e.prompt("Enter abbreviation");if(!c)return null;c=String(c);var d=h("range").create(e.getSelectionRange());if(!d.length()){d=h("htmlMatcher").tag(b.content,d.start);if(!d)return!1;d=g.narrowToNonSpace(b.content,d.range)}g=g.escapeText(d.substring(b.content));return(c=k.wrap(c,a.unindent(e,g),b.syntax,
b.profile,h("actionUtils").captureContext(e)))?(e.replaceContent(c,d.start,d.end),!0):!1});return k={wrap:function(e,c,b,a,g){var d=h("filters"),f=h("utils");b=b||emmet.defaultSyntax();a=h("profile").get(a,b);h("tabStops").resetTabstopIndex();e=d.extractFromAbbreviation(e);return(c=h("abbreviationParser").parse(e[0],{syntax:b,pastedContent:c,contextNode:g}))?(b=d.composeList(b,a,e[1]),d.apply(c,b,a),f.replaceVariables(c.toString())):null}}});
emmet.exec(function(h,e){function k(b,a){var c=a-(b.options.offset||0),d=/^[\s\n\r]/;return e.find(b.list(),function(a){return a.range().end===c?d.test(b.source.charAt(c)):a.range().inside(c)})}function l(b,a,c,d){for(var f=-1,e=-1;a--;){var k=c;if(b.substr(a,k.length)==k){f=a;break}}if(-1!=f)for(a=f,c=b.length;c>=a++;)if(k=d,b.substr(a,k.length)==k){e=a+d.length;break}return-1!=f&&-1!=e?h("range").create(f,e-f):null}function c(b,a,c,d){function f(b){return b.replace(new RegExp("^"+r.escapeForRegexp(a)+
"\\s*"),function(a){p-=a.length;return""}).replace(new RegExp("\\s*"+r.escapeForRegexp(c)+"$"),"")}var e=h("editorUtils"),k=e.outputInfo(b).content,p=b.getCaretPos(),q=null,r=h("utils");(q=l(k,p,a,c))&&q.overlap(d)?(d=q,q=f(d.substring(k))):(q=a+" "+d.substring(k).replace(new RegExp(r.escapeForRegexp(a)+"\\s*|\\s*"+r.escapeForRegexp(c),"g"),"")+" "+c,p+=a.length+1);return null!==q?(q=r.escapeText(q),b.setCaretPos(d.start),b.replaceContent(e.unindent(b,q),d.start,d.end),b.setCaretPos(p),!0):!1}h("actions").add("toggle_comment",
function(b){var a=h("editorUtils").outputInfo(b);if("css"==a.syntax){var e=b.getCaretPos(),d=h("htmlMatcher").tag(a.content,e);d&&d.open.range.inside(e)&&(a.syntax="html")}if("css"==a.syntax)return d=h("range").create(b.getSelectionRange()),a=h("editorUtils").outputInfo(b),!d.length()&&(e=h("cssEditTree").parseFromPosition(a.content,b.getCaretPos()))&&(d=(d=k(e,b.getCaretPos()))?d.range(!0):h("range").create(e.nameRange(!0).start,e.source)),d.length()||(d=h("range").create(b.getCurrentLineRange()),
h("utils").narrowToNonSpace(a.content,d)),c(b,"/*","*/",d);a=h("range").create(b.getSelectionRange());e=h("editorUtils").outputInfo(b);!a.length()&&(e=h("htmlMatcher").tag(e.content,b.getCaretPos()))&&(a=e.outerRange);return c(b,"\x3c!--","--\x3e",a)})});
emmet.exec(function(h,e){function k(c,b,a){function e(a){for(var b=a;0<=b;){var c=d.charAt(b);if("\n"==c||"\r"==c)break;b--}return d.substring(b,a)}b=b||1;a=a||0;a=c.getCaretPos()+a;var d=String(c.getContent());c=d.length;for(var f=-1,h=/^\s+$/;a<=c&&0<=a;){a+=b;var k=d.charAt(a),l=d.charAt(a+1),q=d.charAt(a-1);switch(k){case '"':case "'":l==k&&"="==q&&(f=a+1);break;case ">":"<"==l&&(f=a+1);break;case "\n":case "\r":h.test(e(a-1))&&(f=a)}if(-1!=f)break}return f}var l=h("actions");l.add("prev_edit_point",
function(c){var b=c.getCaretPos(),a=k(c,-1);a==b&&(a=k(c,-1,-2));return-1!=a?(c.setCaretPos(a),!0):!1},{label:"Previous Edit Point"});l.add("next_edit_point",function(c){var b=k(c,1);return-1!=b?(c.setCaretPos(b),!0):!1})});
emmet.exec(function(h,e){function k(a,b,c,d){var f=h("range"),e=h("editorUtils").outputInfo(a).content,g=e.length,k,l=f.create(-1,0),n=f.create(a.getSelectionRange());k=n.start;for(var p=1E5;0<=k&&k<g&&0<--p;){if(f=c(e,k,b)){if(l.equal(f))break;l=f.clone();if(k=d(f.substring(e),f.start,n.clone()))return a.createSelection(k.start,k.end),!0;k=b?f.start:f.end-1}k+=b?-1:1}return!1}function l(a){var b=!0;return k(a,!1,function(a,c){if(b){b=!1;var f;a:{f=c;for(var e;0<=f;){if(e=d(a,f)){f=e;break a}f--}f=
null}return f}return d(a,c)},function(a,b,c){return g(a,b,c,!1)})}function c(a){return k(a,!0,d,function(a,b,c){return g(a,b,c,!0)})}function b(b,c,d){d=d||0;var g=h("range"),k=[],m=-1,l="",n="",p,q;e.each(c,function(c){switch(c.type){case "tag":q=b.substring(c.start,c.end);/^<[\w\:\-]/.test(q)&&k.push(g.create({start:c.start+1,end:c.end}));break;case "attribute":m=c.start;l=b.substring(c.start,c.end);break;case "string":k.push(g.create(m,c.end-m)),p=g.create(c),n=p.substring(b),f(n.charAt(0))&&p.start++,
f(n.charAt(n.length-1))&&p.end--,k.push(p),"class"==l&&(k=k.concat(a(p.substring(b),p.start)))}});e.each(k,function(a){a.shift(d)});return e.chain(k).filter(function(a){return!!a.length()}).uniq(!1,function(a){return a.toString()}).value()}function a(a,b){b=b||0;var c=[],d=h("stringStream").create(a),f=h("range");d.eatSpace();d.start=d.pos;for(var e;e=d.next();)/[\s\u00a0]/.test(e)&&(c.push(f.create(d.start+b,d.pos-d.start-1)),d.eatSpace(),d.start=d.pos);c.push(f.create(d.start+b,d.pos-d.start));
return c}function g(a,c,d,f){a=b(a,h("xmlParser").parse(a),c);f&&a.reverse();return(c=e.find(a,function(a){return a.equal(d)}))?(f=e.indexOf(a,c),f<a.length-1?a[f+1]:null):f?e.find(a,function(a){return a.start<d.start}):!c&&(f=e.filter(a,function(a){return a.inside(d.end)}),1<f.length)?f[1]:e.find(a,function(a){return a.end>d.end})}function d(a,b){var c;if("<"==a.charAt(b)&&(c=a.substring(b,a.length).match(r)))return h("range").create(b,c[0])}function f(a){return'"'==a||"'"==a}function n(a){var b=
a.valueRange(!0),c=[a.range(!0),b],d=h("stringStream"),f=h("cssEditTree"),g=h("range"),k=a.value();e.each(a.valueParts(),function(a){var h=a.clone();c.push(h.shift(b.start));var l=d.create(a.substring(k));if(l.match(/^[\w\-]+\(/,!0)){l.start=l.pos;l.skipToPair("(",")");var n=l.current();c.push(g.create(h.start+l.start,n));e.each(f.findParts(n),function(a){c.push(g.create(h.start+l.start+a.start,a.substring(n)))})}});return e.chain(c).filter(function(a){return!!a.length()}).uniq(!1,function(a){return a.toString()}).value()}
function u(a,b,c){var d=null,f=null,g=a.list(),h,k;c?(g.reverse(),h=function(a){return a.range(!0).start<=b.start},k=function(a){return a.start<b.start}):(h=function(a){return a.range(!0).end>=b.end},k=function(a){return a.end>b.start});for(;d=e.find(g,h);){a=n(d);c&&a.reverse();if(f=e.find(a,function(a){return a.equal(b)})){if(f=e.indexOf(a,f),f!=a.length-1){f=a[f+1];break}}else{f=e.filter(a,function(a){return a.inside(b.end)});if(1<f.length){f=f[1];break}if(f=e.find(a,k))break}f=null;b.start=b.end=
c?d.range(!0).start-1:d.range(!0).end+1}return f}function p(a,b,c){a=h("cssEditTree").parse(a,{offset:b});b=a.nameRange(!0);return c.end<b.end?b:u(a,c,!1)}function q(a,b,c){b=h("cssEditTree").parse(a,{offset:b});a=u(b,c,!0);return!a&&(b=b.nameRange(!0),c.start>b.start)?b:a}var r=/^<([\w\:\-]+)((?:\s+[\w\-:]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,s=h("actions");s.add("select_next_item",function(a){return"css"==a.getSyntax()?k(a,!1,h("cssEditTree").extractRule,p):l(a)});s.add("select_previous_item",
function(a){return"css"==a.getSyntax()?k(a,!0,h("cssEditTree").extractRule,q):c(a)})});
emmet.exec(function(h,e){function k(a,e){e=String((e||"out").toLowerCase());var d=h("editorUtils").outputInfo(a),f=h("range").create(a.getSelectionRange()),d=d.content;b&&!b.range.equal(f)&&(b=null);if(b&&f.length())if("in"==e)if("tag"!=b.type||b.close)if(b.range.equal(b.outerRange))b.range=b.innerRange;else{var k=h("utils").narrowToNonSpace(d,b.innerRange);(b=c.find(d,k.start+1))&&b.range.equal(f)&&b.outerRange.equal(f)&&(b.range=b.innerRange)}else return!1;else!b.innerRange.equal(b.outerRange)&&
b.range.equal(b.innerRange)&&f.equal(b.range)?b.range=b.outerRange:(b=c.find(d,f.start))&&b.range.equal(f)&&b.innerRange.equal(f)&&(b.range=b.outerRange);else b=c.find(d,f.start);if(b&&!b.range.equal(f))return a.createSelection(b.range.start,b.range.end),!0;b=null;return!1}var l=h("actions"),c=h("htmlMatcher"),b=null;l.add("match_pair",k,{hidden:!0});l.add("match_pair_inward",function(a){return k(a,"in")},{label:"HTML/Match Pair Tag (inward)"});l.add("match_pair_outward",function(a){return k(a,"out")},
{label:"HTML/Match Pair Tag (outward)"});l.add("matching_pair",function(a){var b=String(a.getContent()),d=a.getCaretPos();"<"==b.charAt(d)&&d++;return(b=c.tag(b,d))&&b.close?(b.open.range.inside(d)?a.setCaretPos(b.close.range.start):a.setCaretPos(b.open.range.start),!0):!1},{label:"HTML/Go To Matching Tag Pair"})});
emmet.exec(function(h,e){h("actions").add("remove_tag",function(e){var l=h("utils"),c=h("editorUtils").outputInfo(e),b=h("htmlMatcher").tag(c.content,e.getCaretPos());if(b){if(b.close){var a=l.narrowToNonSpace(c.content,b.innerRange),g=l.findNewlineBounds(c.content,a.start),g=l.getLinePadding(g.substring(c.content)),c=a.substring(c.content),c=l.unindentString(c,g);e.replaceContent(l.getCaretPlaceholder()+l.escapeText(c),b.outerRange.start,b.outerRange.end)}else e.replaceContent(l.getCaretPlaceholder(),
b.range.start,b.range.end);return!0}return!1},{label:"HTML/Remove Tag"})});
emmet.exec(function(h,e){h("actions").add("split_join_tag",function(e,l){var c=h("htmlMatcher"),b=h("editorUtils").outputInfo(e,null,l),a=h("profile").get(b.profile);if(c=c.tag(b.content,e.getCaretPos())){if(c.close){var b=h("utils"),a=a.selfClosing()||" /",a=c.open.range.substring(c.source).replace(/\s*>$/,a+">"),g=e.getCaretPos();a.length+c.outerRange.start<g&&(g=a.length+c.outerRange.start);a=b.escapeText(a);e.replaceContent(a,c.outerRange.start,c.outerRange.end)}else{var b=h("utils"),d=b.getNewline(),
f=h("resources").getVariable("indentation"),g=e.getCaretPos(),a=!0===a.tag_nl?d+f+d:"",d=c.outerContent().replace(/\s*\/>$/,">"),g=c.outerRange.start+d.length,d=d+(a+"</"+c.open.name+">"),d=b.escapeText(d);e.replaceContent(d,c.outerRange.start,c.outerRange.end)}e.setCaretPos(g);return!0}return!1},{label:"HTML/Split\\Join Tag Declaration"})});
emmet.define("reflectCSSValue",function(h,e){function k(b){var a=h("cssEditTree"),e=h("editorUtils").outputInfo(b);b=b.getCaretPos();if(a=a.parseFromPosition(e.content,b))if(e=a.itemFromPosition(b,!0)){var d=a.source,f=a.options.offset;b=b-f-e.range().start;c.exec(!1,[e]);if(d!==a.source)return{data:a.source,start:f,end:f+d.length,caret:f+e.range().start+b}}}function l(b){b=h("cssEditTree").baseName(b);var a;return"opacity"==b||"filter"==b?/^(?:\-\w+\-)?(?:opacity|filter)$/:(a=b.match(/^border-radius-(top|bottom)(left|right)/))?
new RegExp("^(?:\\-\\w+\\-)?(?:"+b+"|border-"+a[1]+"-"+a[2]+"-radius)$"):(a=b.match(/^border-(top|bottom)-(left|right)-radius/))?new RegExp("^(?:\\-\\w+\\-)?(?:"+b+"|border-radius-"+a[1]+a[2]+")$"):new RegExp("^(?:\\-\\w+\\-)?"+b+"$")}var c=h("handlerList").create();h("actions").add("reflect_css_value",function(b){return"css"!=b.getSyntax()?!1:h("actionUtils").compoundUpdate(b,k(b))},{label:"CSS/Reflect Value"});c.add(function(b){var a=l(b.name());e.each(b.parent.list(),function(c){if(a.test(c.name())){var d;
var f=b.name(),e=b.value(),k=c.name();d=c.value();var l=h("cssEditTree"),q=h("utils"),f=l.baseName(f),k=l.baseName(k);d="opacity"==f&&"filter"==k?d.replace(/opacity=[^)]*/i,"opacity="+Math.floor(100*parseFloat(e))):"filter"==f&&"opacity"==k?(f=e.match(/opacity=([^)]*)/i))?q.prettifyNumber(parseInt(f[1])/100):d:e;c.value(d)}})},{order:-1});return{addHandler:function(b,a){c.add(b,a)},removeHandler:function(b){c.remove(b,options)}}});
emmet.exec(function(h,e){h("actions").add("evaluate_math_expression",function(e){var l=h("actionUtils"),c=h("utils"),b=String(e.getContent()),a=h("range").create(e.getSelectionRange());a.length()||(a=l.findExpressionBounds(e,function(a){return c.isNumeric(a)||-1!=".+-*/\\".indexOf(a)}));if(a&&a.length()){l=a.substring(b);l=l.replace(/([\d\.\-]+)\\([\d\.\-]+)/g,"Math.round($1/$2)");try{var g=c.prettifyNumber((new Function("return "+l))());e.replaceContent(g,a.start,a.end);e.setCaretPos(a.start+g.length);
return!0}catch(d){}}return!1},{label:"Numbers/Evaluate Math Expression"})});
emmet.exec(function(h,e){function k(b,a){var c=h("utils"),d=!1,f=!1,k=h("actionUtils").findExpressionBounds(b,function(a,b,e){return c.isNumeric(a)?!0:"."==a?c.isNumeric(e.charAt(b+1))?f?!1:f=!0:!1:"-"==a?d?!1:d=!0:!1});if(k&&k.length()){var u=k.substring(String(b.getContent())),p=parseFloat(u);if(!e.isNaN(p)){p=c.prettifyNumber(p+a);if(/^(\-?)0+[1-9]/.test(u)){var q="";RegExp.$1&&(q="-",p=p.substring(1));p=p.split(".");p[0]=c.zeroPadString(p[0],l(u));p=q+p.join(".")}b.replaceContent(p,k.start,k.end);
b.createSelection(k.start,k.start+p.length);return!0}}return!1}function l(b){b=b.replace(/^\-/,"");return~b.indexOf(".")?b.split(".")[0].length:b.length}var c=h("actions");e.each([1,-1,10,-10,.1,-.1],function(b){var a=0<b?"increment":"decrement";c.add(a+"_number_by_"+String(Math.abs(b)).replace(".","").substring(0,2),function(a){return k(a,b)},{label:"Numbers/"+a.charAt(0).toUpperCase()+a.substring(1)+" number by "+Math.abs(b)})})});
emmet.exec(function(h,e){var k=h("actions"),l=h("preferences");l.define("css.closeBraceIndentation","\n","Indentation before closing brace of CSS rule. Some users prefere indented closing brace of CSS rule for better readability. This preference\u2019s value will be automatically inserted before closing brace when user adds newline in newly created CSS rule (e.g. when \u201cInsert formatted linebreak\u201d action will be performed in CSS file). If you\u2019re such user, you may want to write put a value like <code>\\n\\t</code> in this preference.");
k.add("insert_formatted_line_break_only",function(c){var b=h("utils"),a=h("resources"),g=h("editorUtils").outputInfo(c),d=c.getCaretPos(),f=b.getNewline();if(e.include(["html","xml","xsl"],g.syntax)){if(a=a.getVariable("indentation"),(g=h("htmlMatcher").tag(g.content,d))&&!g.innerRange.length())return c.replaceContent(f+a+b.getCaretPlaceholder()+f,d),!0}else if("css"==g.syntax&&(g=g.content,d&&"{"==g.charAt(d-1))){var k=l.get("css.closeBraceIndentation"),a=a.getVariable("indentation"),u="}"==g.charAt(d);
if(!u)for(var p=d,q=g.length,r;p<q;p++){r=g.charAt(p);if("{"==r)break;if("}"==r){k="";u=!0;break}}u||(k+="}");b=f+a+b.getCaretPlaceholder()+k;c.replaceContent(b,d);return!0}return!1},{hidden:!0});k.add("insert_formatted_line_break",function(c){if(!k.run("insert_formatted_line_break_only",c)){for(var b=h("utils"),a=h("editorUtils").getCurrentLinePadding(c),e=String(c.getContent()),d=c.getCaretPos(),f=e.length,b=b.getNewline(),l="",u=c.getCurrentLineRange().end+1,p;u<f;u++)if(p=e.charAt(u)," "==p||
"\t"==p)l+=p;else break;l.length>a.length?c.replaceContent(b+l,d,d,!0):c.replaceContent(b,d)}return!0},{hidden:!0})});
emmet.exec(function(h,e){h("actions").add("merge_lines",function(e){var l=h("htmlMatcher"),c=h("utils"),b=h("editorUtils").outputInfo(e),a=h("range").create(e.getSelectionRange());!a.length()&&(l=l.find(b.content,e.getCaretPos()))&&(a=l.outerRange);if(a.length()){b=a.substring(b.content);b=c.splitByLines(b);for(l=1;l<b.length;l++)b[l]=b[l].replace(/^\s+/,"");b=b.join("").replace(/\s{2,}/," ");l=b.length;b=c.escapeText(b);e.replaceContent(b,a.start,a.end);e.createSelection(a.start,a.start+l);return!0}return!1})});
emmet.exec(function(h,e){function k(c,b,a){a=a||0;return b.charAt(a)==c.charAt(0)&&b.substr(a,c.length)==c}function l(c,b,a){var e=h("file"),d=h("actionUtils"),f=c.getFilePath();if(null===f)throw"You should save your file before using this action";var k=e.locateFile(f,b);if(null===k)throw"Can't find "+b+" file";e.read(k,function(f,l){if(f)throw"Unable to read "+k+": "+f;var q=h("base64").encode(String(l));if(!q)throw"Can't encode file content to base64";q="data:"+(d.mimeTypes[String(e.getExt(k))]||
"application/octet-stream")+";base64,"+q;c.replaceContent("$0"+q,a,a+b.length)});return!0}h("actions").add("encode_decode_data_url",function(c){var b=String(c.getSelection()),a=c.getCaretPos();if(!b)for(var e=String(c.getContent());0<=a--;)if(k("src=",e,a)){if(e=e.substr(a).match(/^(src=(["'])?)([^'"<>\s]+)\1?/))b=e[3],a+=e[1].length;break}else if(k("url(",e,a)){if(e=e.substr(a).match(/^(url\((['"])?)([^'"\)\s]+)\1?/))b=e[3],a+=e[1].length;break}if(b){if(k("data:",b)){if(e=String(c.prompt("Enter path to file (absolute or relative)"))){var d=
h("file"),f=d.createPath(c.getFilePath(),e);if(!f)throw"Can't save file";d.save(f,h("base64").decode(b.replace(/^data\:.+?;.+?,/,"")));c.replaceContent("$0"+e,a,a+b.length);c=!0}else c=!1;return c}return l(c,b,a)}return!1},{label:"Encode\\Decode data:URL image"})});
emmet.exec(function(h,e){function k(b){var a=b.getCaretPos(),g=h("editorUtils").outputInfo(b),d=h("xmlEditTree").parseFromPosition(g.content,a,!0);d&&"img"==(d.name()||"").toLowerCase()&&c(b,d.value("src"),function(c){if(c){var g=d.range(!0);d.value("width",c.width);d.value("height",c.height,d.indexOf("width")+1);h("actionUtils").compoundUpdate(b,e.extend(g,{data:d.toString(),caret:a}))}})}function l(b){var a=b.getCaretPos(),g=h("editorUtils").outputInfo(b),d=h("cssEditTree").parseFromPosition(g.content,
a,!0);if(d){var g=d.itemFromPosition(a,!0),f;g&&(f=/url\((["']?)(.+?)\1\)/i.exec(g.value()||""))&&c(b,f[2],function(c){if(c){var f=d.range(!0);d.value("width",c.width+"px");d.value("height",c.height+"px",d.indexOf("width")+1);h("actionUtils").compoundUpdate(b,e.extend(f,{data:d.toString(),caret:a}))}})}}function c(b,a,c){var d=h("actionUtils");if(a){if(/^data:/.test(a))return b=h("base64").decode(a.replace(/^data\:.+?;.+?,/,"")),c(d.getImageSize(b));var f=h("file"),e=f.locateFile(b.getFilePath(),
a);if(null===e)throw"Can't find "+a+" file";f.read(e,function(a,b){if(a)throw"Unable to read "+e+": "+a;b=String(b);c(d.getImageSize(b))})}}h("actions").add("update_image_size",function(b){e.include(["css","less","scss"],String(b.getSyntax()))?l(b):k(b);return!0})});
emmet.define("cssResolver",function(h,e){function k(a){var b=a&&a.charCodeAt(0);return a&&"."==a||47<b&&58>b}function l(a){a=h("utils").trim(a);if(~a.indexOf("/*")||/[\n\r]/.test(a)||!/^[a-z0-9\-]+\s*\:/i.test(a))return!1;a=h("tabStops").processText(a,{replaceCarets:!0,tabstop:function(){return"value"}});return 2==a.split(":").length}function c(a){"-"!=a.charAt(0)||/^\-[\.\d]/.test(a)||(a=a.replace(/^\-+/,""));if("#"==a.charAt(0)){var c=a.replace(/^#+/,"")||"0";if("t"==c.toLowerCase())a="transparent";
else{var d=h("utils").repeatString;a=null;switch(c.length){case 1:a=d(c,6);break;case 2:a=d(c,3);break;case 3:a=c.charAt(0)+c.charAt(0)+c.charAt(1)+c.charAt(1)+c.charAt(2)+c.charAt(2);break;case 4:a=c+c.substr(0,2);break;case 5:a=c+c.charAt(0);break;default:a=c.substr(0,6)}t.get("css.color.short")&&(c=a.split(""),c[0]==c[1]&&c[2]==c[3]&&c[4]==c[5]&&(a=c[0]+c[2]+c[4]));switch(t.get("css.color.case")){case "upper":a=a.toUpperCase();break;case "lower":a=a.toLowerCase()}a="#"+a}return a}return b(a)}function b(a){var b=
t.getDict("css.keywordAliases");return a in b?b[a]:a}function a(a){return e.include(t.getArray("css.keywords"),b(a))}function g(a,b){var c=s[b];c||(c=e.find(s,function(a){return a.prefix==b}));return c&&c.supports(a)}function d(a,b){var c=[];e.each(s,function(b,d){g(a,d)&&c.push(d)});c.length||b||e.each(s,function(a,b){a.obsolete||c.push(b)});return c}function f(a,b){e.isString(b)&&(b={prefix:b});s[a]=e.extend({},r,b)}function n(a,b){if(b){var c=t.get(b+"."+a);if(!e.isUndefined(c))return c}return t.get("css."+
a)}function u(a,b,c){e.isString(a)||(a=a.data);if(!l(a))return a;b&&(a=~a.indexOf(";")?a.split(";").join(" !important;"):a+" !important");b=a.indexOf(":");a=a.substring(0,b).replace(/\s+$/,"")+n("valueSeparator",c)+h("utils").trim(a.substring(b+1));return a.replace(/\s*;\s*$/,n("propertyEnd",c))}function p(a){var b=t.getArray(a);e.each(t.getArray(a+"Addon"),function(a){"-"==a.charAt(0)?b=e.without(b,a.substr(1)):("+"==a.charAt(0)&&(a=a.substr(1)),b.push(a))});return b}var q=null,r={prefix:"emmet",
obsolete:!1,transformName:function(a){return"-"+this.prefix+"-"+a},properties:function(){return p("css."+this.prefix+"Properties")||[]},supports:function(a){return e.include(this.properties(),a)}},s={},t=h("preferences");t.define("css.valueSeparator",": ","Defines a symbol that should be placed between CSS property and value when expanding CSS abbreviations.");t.define("css.propertyEnd",";","Defines a symbol that should be placed at the end of CSS property  when expanding CSS abbreviations.");t.define("stylus.valueSeparator",
" ","Defines a symbol that should be placed between CSS property and value when expanding CSS abbreviations in Stylus dialect.");t.define("stylus.propertyEnd","","Defines a symbol that should be placed at the end of CSS property  when expanding CSS abbreviations in Stylus dialect.");t.define("sass.propertyEnd","","Defines a symbol that should be placed at the end of CSS property  when expanding CSS abbreviations in SASS dialect.");t.define("css.autoInsertVendorPrefixes",!0,"Automatically generate vendor-prefixed copies of expanded CSS property. By default, Emmet will generate vendor-prefixed properties only when you put dash before abbreviation (e.g. <code>-bxsh</code>). With this option enabled, you don\u2019t need dashes before abbreviations: Emmet will produce vendor-prefixed properties for you.");
var x=e.template("A comma-separated list of CSS properties that may have <code><%= vendor %></code> vendor prefix. This list is used to generate a list of prefixed properties when expanding <code>-property</code> abbreviations. Empty list means that all possible CSS values may have <code><%= vendor %></code> prefix."),w=e.template("A comma-separated list of <em>additional</em> CSS properties for <code>css.<%= vendor %>Preperties</code> preference. You should use this list if you want to add or remove a few CSS properties to original set. To add a new property, simply write its name, to remove it, precede property with hyphen.<br>For example, to add <em>foo</em> property and remove <em>border-radius</em> one, the preference value will look like this: <code>foo, -border-radius</code>.");
e.each({webkit:"animation, animation-delay, animation-direction, animation-duration, animation-fill-mode, animation-iteration-count, animation-name, animation-play-state, animation-timing-function, appearance, backface-visibility, background-clip, background-composite, background-origin, background-size, border-fit, border-horizontal-spacing, border-image, border-vertical-spacing, box-align, box-direction, box-flex, box-flex-group, box-lines, box-ordinal-group, box-orient, box-pack, box-reflect, box-shadow, color-correction, column-break-after, column-break-before, column-break-inside, column-count, column-gap, column-rule-color, column-rule-style, column-rule-width, column-span, column-width, dashboard-region, font-smoothing, highlight, hyphenate-character, hyphenate-limit-after, hyphenate-limit-before, hyphens, line-box-contain, line-break, line-clamp, locale, margin-before-collapse, margin-after-collapse, marquee-direction, marquee-increment, marquee-repetition, marquee-style, mask-attachment, mask-box-image, mask-box-image-outset, mask-box-image-repeat, mask-box-image-slice, mask-box-image-source, mask-box-image-width, mask-clip, mask-composite, mask-image, mask-origin, mask-position, mask-repeat, mask-size, nbsp-mode, perspective, perspective-origin, rtl-ordering, text-combine, text-decorations-in-effect, text-emphasis-color, text-emphasis-position, text-emphasis-style, text-fill-color, text-orientation, text-security, text-stroke-color, text-stroke-width, transform, transition, transform-origin, transform-style, transition-delay, transition-duration, transition-property, transition-timing-function, user-drag, user-modify, user-select, writing-mode, svg-shadow, box-sizing, border-radius",
moz:"animation-delay, animation-direction, animation-duration, animation-fill-mode, animation-iteration-count, animation-name, animation-play-state, animation-timing-function, appearance, backface-visibility, background-inline-policy, binding, border-bottom-colors, border-image, border-left-colors, border-right-colors, border-top-colors, box-align, box-direction, box-flex, box-ordinal-group, box-orient, box-pack, box-shadow, box-sizing, column-count, column-gap, column-rule-color, column-rule-style, column-rule-width, column-width, float-edge, font-feature-settings, font-language-override, force-broken-image-icon, hyphens, image-region, orient, outline-radius-bottomleft, outline-radius-bottomright, outline-radius-topleft, outline-radius-topright, perspective, perspective-origin, stack-sizing, tab-size, text-blink, text-decoration-color, text-decoration-line, text-decoration-style, text-size-adjust, transform, transform-origin, transform-style, transition, transition-delay, transition-duration, transition-property, transition-timing-function, user-focus, user-input, user-modify, user-select, window-shadow, background-clip, border-radius",
ms:"accelerator, backface-visibility, background-position-x, background-position-y, behavior, block-progression, box-align, box-direction, box-flex, box-line-progression, box-lines, box-ordinal-group, box-orient, box-pack, content-zoom-boundary, content-zoom-boundary-max, content-zoom-boundary-min, content-zoom-chaining, content-zoom-snap, content-zoom-snap-points, content-zoom-snap-type, content-zooming, filter, flow-from, flow-into, font-feature-settings, grid-column, grid-column-align, grid-column-span, grid-columns, grid-layer, grid-row, grid-row-align, grid-row-span, grid-rows, high-contrast-adjust, hyphenate-limit-chars, hyphenate-limit-lines, hyphenate-limit-zone, hyphens, ime-mode, interpolation-mode, layout-flow, layout-grid, layout-grid-char, layout-grid-line, layout-grid-mode, layout-grid-type, line-break, overflow-style, perspective, perspective-origin, perspective-origin-x, perspective-origin-y, scroll-boundary, scroll-boundary-bottom, scroll-boundary-left, scroll-boundary-right, scroll-boundary-top, scroll-chaining, scroll-rails, scroll-snap-points-x, scroll-snap-points-y, scroll-snap-type, scroll-snap-x, scroll-snap-y, scrollbar-arrow-color, scrollbar-base-color, scrollbar-darkshadow-color, scrollbar-face-color, scrollbar-highlight-color, scrollbar-shadow-color, scrollbar-track-color, text-align-last, text-autospace, text-justify, text-kashida-space, text-overflow, text-size-adjust, text-underline-position, touch-action, transform, transform-origin, transform-origin-x, transform-origin-y, transform-origin-z, transform-style, transition, transition-delay, transition-duration, transition-property, transition-timing-function, user-select, word-break, word-wrap, wrap-flow, wrap-margin, wrap-through, writing-mode",
o:"dashboard-region, animation, animation-delay, animation-direction, animation-duration, animation-fill-mode, animation-iteration-count, animation-name, animation-play-state, animation-timing-function, border-image, link, link-source, object-fit, object-position, tab-size, table-baseline, transform, transform-origin, transition, transition-delay, transition-duration, transition-property, transition-timing-function, accesskey, input-format, input-required, marquee-dir, marquee-loop, marquee-speed, marquee-style"},
function(a,b){t.define("css."+b+"Properties",a,x({vendor:b}));t.define("css."+b+"PropertiesAddon","",w({vendor:b}))});t.define("css.unitlessProperties","z-index, line-height, opacity, font-weight, zoom","The list of properties whose values \u200b\u200bmust not contain units.");t.define("css.intUnit","px","Default unit for integer values");t.define("css.floatUnit","em","Default unit for float values");t.define("css.keywords","auto, inherit","A comma-separated list of valid keywords that can be used in CSS abbreviations.");
t.define("css.keywordAliases","a:auto, i:inherit, s:solid, da:dashed, do:dotted, t:transparent","A comma-separated list of keyword aliases, used in CSS abbreviation. Each alias should be defined as <code>alias:keyword_name</code>.");t.define("css.unitAliases","e:em, p:%, x:ex, r:rem","A comma-separated list of unit aliases, used in CSS abbreviation. Each alias should be defined as <code>alias:unit_value</code>.");t.define("css.color.short",!0,"Should color values like <code>#ffffff</code> be shortened to <code>#fff</code> after abbreviation with color was expanded.");
t.define("css.color.case","keep","Letter case of color values generated by abbreviations with color (like <code>c#0</code>). Possible values are <code>upper</code>, <code>lower</code> and <code>keep</code>.");t.define("css.fuzzySearch",!0,"Enable fuzzy search among CSS snippet names. When enabled, every <em>unknown</em> snippet will be scored against available snippet names (not values or CSS properties!). The match with best score will be used to resolve snippet value. For example, with this preference enabled, the following abbreviations are equal: <code>ov:h</code> == <code>ov-h</code> == <code>o-h</code> == <code>oh</code>");
t.define("css.fuzzySearchMinScore",.3,"The minium score (from 0 to 1) that fuzzy-matched abbreviation should achive. Lower values may produce many false-positive matches, higher values may reduce possible matches.");t.define("css.alignVendor",!1,"If set to <code>true</code>, all generated vendor-prefixed properties will be aligned by real property name.");f("w",{prefix:"webkit"});f("m",{prefix:"moz"});f("s",{prefix:"ms"});f("o",{prefix:"o"});var z=["css","less","sass","scss","stylus"];h("resources").addResolver(function(a,
b){return e.include(z,b)&&a.isElement()?q.expandToSnippet(a.abbreviation,b):null});var y=h("expandAbbreviation");y.addHandler(function(a,b,c){if(!e.include(z,b))return!1;var d=a.getSelectionRange().end,f=y.findAbbreviation(a);return f&&(b=emmet.expandAbbreviation(f,b,c))?(f=d-f.length,c=d,";"==a.getContent().charAt(d)&&";"==b.charAt(b.length-1)&&c++,a.replaceContent(b,f,c),!0):!1});return q={addPrefix:f,supportsPrefix:g,prefixed:function(a,b){return g(a,b)?"-"+b+"-"+a:a},listPrefixes:function(){return e.map(s,
function(a){return a.prefix})},getPrefix:function(a){return s[a]},removePrefix:function(a){a in s&&delete s[a]},extractPrefixes:function(a){if("-"!=a.charAt(0))return{property:a,prefixes:null};for(var b=1,c=a.length,d,f=[];b<c;){d=a.charAt(b);if("-"==d){b++;break}if(d in s)f.push(d);else{f.length=0;b=1;break}b++}b==c-1&&(b=1,f.length=1);return{property:a.substring(b),prefixes:f.length?f:"all"}},findValuesInAbbreviation:function(b,c){c=c||"css";for(var d=0,f=b.length,e="",g;d<f;){g=b.charAt(d);if(k(g)||
"#"==g||"-"==g&&k(b.charAt(d+1))){e=b.substring(d);break}d++}g=b.substring(0,b.length-e.length);d=h("resources");for(f=[];~g.indexOf("-")&&!d.findSnippet(c,g);){g=g.split("-");var l=g.pop();if(!a(l))break;f.unshift(l);g=g.join("-")}return f.join("-")+e},parseValues:function(b){for(var d=h("stringStream").create(b),f=[],g=null;g=d.next();){if("#"==g)d.match(/^t|[0-9a-f]+/i,!0);else if("-"==g){if(a(e.last(f))||d.start&&k(b.charAt(d.start-1)))d.start=d.pos;d.match(/^\-?[0-9]*(\.[0-9]+)?[a-z%\.]*/,!0)}else d.match(/^[0-9]*(\.[0-9]*)?[a-z%]*/,
!0);f.push(d.current());d.start=d.pos}return e.map(e.compact(f),c)},extractValues:function(a){var b=this.findValuesInAbbreviation(a);return b?{property:a.substring(0,a.length-b.length).replace(/-$/,""),values:this.parseValues(b)}:{property:a,values:null}},normalizeValue:function(a,b){b=(b||"").toLowerCase();var c=t.getArray("css.unitlessProperties");return a.replace(/^(\-?[0-9\.]+)([a-z]*)$/,function(a,d,f){if(!f&&("0"==d||e.include(c,b)))return d;if(!f)return d.replace(/\.$/,"")+t.get(~d.indexOf(".")?
"css.floatUnit":"css.intUnit");a=t.getDict("css.unitAliases");return d+(f in a?a[f]:f)})},expand:function(a,b,c){c=c||"css";var f=h("resources"),g=t.get("css.autoInsertVendorPrefixes"),k;if(k=/^(.+)\!$/.test(a))a=RegExp.$1;var n=f.findSnippet(c,a);if(n&&!g)return u(n,k,c);a=this.extractPrefixes(a);var p=this.extractValues(a.property);a=e.extend(a,p);n?a.values=null:n=f.findSnippet(c,a.property);!n&&t.get("css.fuzzySearch")&&(n=f.fuzzyFindSnippet(c,a.property,parseFloat(t.get("css.fuzzySearchMinScore"))));
n?e.isString(n)||(n=n.data):n=a.property+":${1};";if(!l(n))return n;var q=this.splitSnippet(n),r=[];!b&&a.values&&(b=e.map(a.values,function(a){return this.normalizeValue(a,q.name)},this).join(" ")+";");q.value=b||q.value;b="all"==a.prefixes||!a.prefixes&&g?d(q.name,g&&"all"!=a.prefixes):a.prefixes;var z=[],y;e.each(b,function(a){a in s&&(y=s[a].transformName(q.name),z.push(y),r.push(u(y+":"+q.value,k,c)))});r.push(u(q.name+":"+q.value,k,c));z.push(q.name);if(t.get("css.alignVendor"))var w=h("utils").getStringsPads(z),
r=e.map(r,function(a,b){return w[b]+a});return r},expandToSnippet:function(a,b){var c=this.expand(a,null,b);return e.isArray(c)?c.join("\n"):e.isString(c)?String(c):c.data},splitSnippet:function(a){var b=h("utils");a=b.trim(a);if(-1==a.indexOf(":"))return{name:a,value:"${1};"};a=a.split(":");return{name:b.trim(a.shift()),value:b.trim(a.join(":")).replace(/^(\$\{0\}|\$0)(\s*;?)$/,"${1}$2")}},getSyntaxPreference:n,transformSnippet:u}});
emmet.define("cssGradient",function(h,e){function k(a){return h("utils").trim(a).replace(/\s+/g," ")}function l(a){a=k(a);var b=null;a=a.replace(/^(\w+\(.+?\))\s*/,function(a,c){b=c;return""});b||(a=a.split(" "),b=a[0],a=a[1]||"");var c={color:b};a&&a.replace(/^(\-?[\d\.]+)([a-z%]+)?$/,function(a,b,d){c.position=b;~b.indexOf(".")?d="":d||(d="%");d&&(c.unit=d)});return c}function c(a){var b=0;e.each(a,function(c,d){if(!d)return c.position=c.position||0;d!=a.length-1||"position"in c||(c.position=1);
if("position"in c){var f=a[b].position||0,g=(c.position-f)/(d-b);e.each(a.slice(b,d),function(a,b){a.position=f+g*b});b=d}})}function b(a){var b=parseFloat(a);if(!e.isNaN(b))switch(b%360){case 0:return"left";case 90:return"bottom";case 180:return"right";case 240:return"top"}return a}function a(a){a=b(a);if(t.test(a))throw"The direction is an angle that can\u2019t be converted.";var c=function(b){return~a.indexOf(b)?"100%":"0"};return c("right")+" "+c("bottom")+", "+c("left")+" "+c("top")}function g(a){var b=
w.getArray("css.gradient.prefixes"),b=b?e.map(b,function(b){return"-"+b+"-"+a}):[];b.push(a);return b}function d(a,b){var c=[],d=h("cssResolver");w.get("css.gradient.fallback")&&~b.toLowerCase().indexOf("background")&&c.push({name:"background-color",value:"${1:"+a.colorStops[0].color+"}"});e.each(w.getArray("css.gradient.prefixes"),function(f){var e=d.prefixed(b,f);if("webkit"==f&&w.get("css.gradient.oldWebkit"))try{c.push({name:e,value:r.oldWebkitLinearGradient(a)})}catch(g){}c.push({name:e,value:r.toString(a,
f)})});return c.sort(function(a,b){return b.name.length-a.name.length})}function f(a,b,c){var f=a.parent,k=h("utils"),l=h("preferences").get("css.alignVendor"),n=a.styleSeparator,p=a.styleBefore;e.each(f.getAll(g(a.name())),function(b){b!=a&&/gradient/i.test(b.value())&&(b.styleSeparator.length<n.length&&(n=b.styleSeparator),b.styleBefore.length<p.length&&(p=b.styleBefore),f.remove(b))});if(l){if(p!=a.styleBefore){var q=a.fullRange();f._updateSource(p,q.start,q.start+a.styleBefore.length);a.styleBefore=
p}n!=a.styleSeparator&&(f._updateSource(n,a.nameRange().end,a.valueRange().start),a.styleSeparator=n)}var s=a.value();c||(c=h("range").create(0,a.value()));a.value(function(a){return k.replaceSubstring(s,a,c)}(r.toString(b))+"${2}");b=d(b,a.name());if(l){l=e.pluck(b,"value");q=e.pluck(b,"name");l.push(a.value());q.push(a.name());var u=k.getStringsPads(e.map(l,function(a){return a.substring(0,a.indexOf("("))})),t=k.getStringsPads(q);a.name(e.last(t)+a.name());e.each(b,function(a,b){a.name=t[b]+a.name;
a.value=u[b]+a.value});a.value(e.last(u)+a.value())}e.each(b,function(b){f.add(b.name,b.value,f.indexOf(a))})}function n(a){var b=a.value(),c=null;return(a=e.find(a.valueParts(),function(a){return c=r.parse(a.substring(b))}))&&c?{gradient:c,valueRange:a}:null}function u(a,b){var c=w.get("css.gradient.defaultProperty");if(!c)return!1;var f=String(a.getContent()),g=h("range").create(a.getCurrentLineRange()),k=g.substring(f).replace(/^\s+/,function(a){g.start+=a.length;return""}).replace(/\s+$/,function(a){g.end-=
a.length;return""}),f=h("cssResolver");if(k=r.parse(k)){var l=d(k,c);l.push({name:c,value:r.toString(k)+"${2}"});var n=f.getSyntaxPreference("valueSeparator",b),p=f.getSyntaxPreference("propertyEnd",b);if(h("preferences").get("css.alignVendor")){var q=h("utils").getStringsPads(e.map(l,function(a){return a.value.substring(0,a.value.indexOf("("))}));e.each(l,function(a,b){a.value=q[b]+a.value})}l=e.map(l,function(a){return a.name+n+a.value+p});a.replaceContent(l.join("\n"),g.start,g.end);return!0}return!1}
function p(a,b){var c=null,d=h("cssEditTree").parseFromPosition(a,b,!0);d&&((c=d.itemFromPosition(b,!0))||(c=e.find(d.list(),function(a){return a.range(!0).end==b})));return{rule:d,property:c}}var q=["top","to bottom","0deg"],r=null,s="css less sass scss stylus styl".split(" "),t=/\d+deg/i,x=/top|bottom|left|right/i,w=h("preferences");w.define("css.gradient.prefixes","webkit, moz, o","A comma-separated list of vendor-prefixes for which values should be generated.");w.define("css.gradient.oldWebkit",
!0,"Generate gradient definition for old Webkit implementations");w.define("css.gradient.omitDefaultDirection",!0,"Do not output default direction definition in generated gradients.");w.define("css.gradient.defaultProperty","background-image","When gradient expanded outside CSS value context, it will produce properties with this name.");w.define("css.gradient.fallback",!1,"With this option enabled, CSS gradient generator will produce <code>background-color</code> property with gradient first color as fallback for old browsers.");
h("expandAbbreviation").addHandler(function(a,b,c){c=h("editorUtils").outputInfo(a,b,c);if(!e.include(s,c.syntax))return!1;var d=a.getCaretPos(),g=c.content;c=p(g,d);if(c.property){var k=n(c.property);if(k){var l=c.rule.options.offset||0,q=l+c.rule.toString().length;if(/[\n\r]/.test(c.property.value())){var r=c.property.valueRange(!0).start+k.valueRange.end,g=h("utils").replaceSubstring(g,";",r),d=p(g,d);d.property&&(k=n(d.property),c=d)}c.property.end(";");var d=c.property.name(),g=h("resources"),
r=h("preferences"),t=g.findSnippet(b,d);!t&&r.get("css.fuzzySearch")&&(t=g.fuzzyFindSnippet(b,d,parseFloat(r.get("css.fuzzySearchMinScore"))));t?(e.isString(t)||(t=t.data),b=h("cssResolver").splitSnippet(t).name):b=void 0;b&&c.property.name(b);f(c.property,k.gradient,k.valueRange);a.replaceContent(c.rule.toString(),l,q,!0);return!0}}return u(a,b)});h("reflectCSSValue").addHandler(function(a){var b=h("utils"),c=n(a);if(!c)return!1;var d=a.value(),f=function(a){return b.replaceSubstring(d,a,c.valueRange)};
e.each(a.parent.getAll(g(a.name())),function(b){if(b!==a){var d=b.value().match(/^\s*(\-([a-z]+)\-)?linear\-gradient/);d?b.value(f(r.toString(c.gradient,d[2]||""))):b.value().match(/\s*\-webkit\-gradient/)&&b.value(f(r.oldWebkitLinearGradient(c.gradient)))}});return!0});return r={parse:function(a){var b=null;h("utils").trim(a).replace(/^([\w\-]+)\((.+?)\)$/,function(a,c,d){c=c.toLowerCase().replace(/^\-[a-z]+\-/,"");if("linear-gradient"==c||"lg"==c){a=q[0];d=h("stringStream").create(h("utils").trim(d));
c=[];for(var f;f=d.next();)","==d.peek()?(c.push(d.current()),d.next(),d.eatSpace(),d.start=d.pos):"("==f&&d.skipTo(")");c.push(d.current());c=e.compact(e.map(c,k));if(c.length){if(t.test(c[0])||x.test(c[0]))a=c.shift();b={type:"linear",direction:a,colorStops:e.map(c,l)}}else b=null;return""}return a});return b},oldWebkitLinearGradient:function(b){e.isString(b)&&(b=this.parse(b));if(!b)return null;var d=e.map(b.colorStops,e.clone);e.each(d,function(a){if("position"in a)if(~a.position.indexOf(".")||
"%"==a.unit)a.position=parseFloat(a.position)/("%"==a.unit?100:1);else throw"Can't convert color stop '"+(a.position+(a.unit||""))+"'";});c(d);d=e.map(d,function(a,b){return a.position||b?1==a.position&&b==d.length-1?"to("+a.color+")":"color-stop("+a.position.toFixed(2).replace(/\.?0+$/,"")+", "+a.color+")":"from("+a.color+")"});return"-webkit-gradient(linear, "+a(b.direction)+", "+d.join(", ")+")"},toString:function(a,b){if("linear"==a.type){var c=(b?"-"+b+"-":"")+"linear-gradient",d=e.map(a.colorStops,
function(a){return a.color+("position"in a?" "+a.position+(a.unit||""):"")});!a.direction||w.get("css.gradient.omitDefaultDirection")&&e.include(q,a.direction)||d.unshift(a.direction);return c+"("+d.join(", ")+")"}}}});emmet.exec(function(h,e){var k=h("handlerList").create(),l=h("resources");e.extend(l,{addGenerator:function(c,b,a){e.isString(c)&&(c=new RegExp(c));k.add(function(a,d){var f;return(f=c.exec(a.name()))?b(f,a,d):null},a)}});l.addResolver(function(c,b){return k.exec(null,e.toArray(arguments))})});
emmet.define("tagName",function(h,e){var k={empty:[],blockLevel:"address applet blockquote button center dd del dir div dl dt fieldset form frameset hr iframe ins isindex li link map menu noframes noscript object ol p pre script table tbody td tfoot th thead tr ul h1 h2 h3 h4 h5 h6".split(" "),inlineLevel:"a abbr acronym applet b basefont bdo big br button cite code del dfn em font i iframe img input ins kbd label map object q s samp select small span strike strong sub sup textarea tt u var".split(" ")},
l={p:"span",ul:"li",ol:"li",table:"tr",tr:"td",tbody:"tr",thead:"tr",tfoot:"tr",colgroup:"col",select:"option",optgroup:"option",audio:"source",video:"source",object:"param",map:"area"};return{resolve:function(c){c=(c||"").toLowerCase();return c in l?this.getMapping(c):this.isInlineLevel(c)?"span":"div"},getMapping:function(c){return l[c.toLowerCase()]},isInlineLevel:function(c){return this.isTypeOf(c,"inlineLevel")},isBlockLevel:function(c){return this.isTypeOf(c,"blockLevel")},isEmptyElement:function(c){return this.isTypeOf(c,
"empty")},isTypeOf:function(c,b){return e.include(k[b],c)},addMapping:function(c,b){l[c]=b},removeMapping:function(c){c in l&&delete l[c]},addElementToCollection:function(c,b){k[b]||(k[b]=[]);var a=this.getCollection(b);e.include(a,c)||a.push(c)},removeElementFromCollection:function(c,b){b in k&&(k[b]=e.without(this.getCollection(b),c))},getCollection:function(c){return k[c]}}});
emmet.exec(function(h,e){function k(){return{element:g.get("bem.elementSeparator"),modifier:g.get("bem.modifierSeparator")}}function l(a){if(h("abbreviationUtils").isSnippet(a))return a;a.__bem={block:"",element:"",modifier:""};var d=c(a.attribute("class")).split(" "),g=/^[a-z]\-/i;a.__bem.block=e.find(d,function(a){return g.test(a)});a.__bem.block||(g=/^[a-z]/i,a.__bem.block=e.find(d,function(a){return g.test(a)})||"");(d=e.chain(d).map(function(c){var d;d=b(c,a,"element");d=b(d,a,"modifier");var e=
"",g="",h="";c=k();~d.indexOf(c.element)?(e=d.split(c.element),h=e[1].split(c.modifier),e=e[0],g=h.shift(),h=h.join(c.modifier)):~d.indexOf(c.modifier)&&(h=d.split(c.modifier),e=h.shift(),h=h.join(c.modifier));if(e||g||h){e||(e=a.__bem.block);d=e;var l=[];g&&(d+=c.element+g);l.push(d);h&&l.push(d+c.modifier+h);a.__bem.block=e;a.__bem.element=g;a.__bem.modifier=h;c=l}else c=d;return c}).flatten().uniq().value().join(" "))&&a.attribute("class",d);return a}function c(a){var b=h("utils");a=(" "+(a||"")+
" ").replace(/\s+/g," ");var c=g.get("bem.shortElementPrefix");c&&(c=new RegExp("\\s("+b.escapeForRegexp(c)+"+)","g"),a=a.replace(c,function(a,c){return" "+b.repeatString(k().element,c.length)}));return b.trim(a)}function b(a,b,c){var d=k(),e=new RegExp("^("+d[c]+")+","g");if(e.test(a)){for(var g=0,e=a.replace(e,function(a,b){g=a.length/d[c].length;return""}),h=b;h.parent&&g--;)h=h.parent;h&&h.__bem||(h=b);if(h&&h.__bem)return a=h.__bem.block,"modifier"==c&&h.__bem.element&&(a+=d.element+h.__bem.element),
a+d[c]+e}return a}function a(b,c){b.name&&l(b,c);var g=h("abbreviationUtils");e.each(b.children,function(b){a(b,c);!g.isSnippet(b)&&b.start&&(d=!0)});return b}var g=h("preferences");g.define("bem.elementSeparator","__","Class name\u2019s element separator.");g.define("bem.modifierSeparator","_","Class name\u2019s modifier separator.");g.define("bem.shortElementPrefix","-","Symbol for describing short \u201cblock-element\u201d notation. Class names prefixed with this symbol will be treated as element name for parent\u2018s block name. Each symbol instance traverses one level up in parsed tree for block name lookup. Empty value will disable short notation.");
var d=!1;h("filters").add("bem",function(b,c){d=!1;b=a(b,c);d&&(b=h("filters").apply(b,"html",c));return b})});
emmet.exec(function(h,e){function k(b,a,g){var d=h("utils"),f=c.get("filter.commentTrigger");if("*"==f||e.find(f.split(","),function(a){return!!b.attribute(d.trim(a))}))f={node:b,name:b.name(),padding:b.parent?b.parent.padding:"",attr:function(a,c,d){return(a=b.attribute(a))?(c||"")+a+(d||""):""}},a=d.normalizeNewline(a?a(f):""),g=d.normalizeNewline(g?g(f):""),b.start=b.start.replace(/</,a+"<"),b.end=b.end.replace(/>/,">"+g)}function l(b,a,c){var d=h("abbreviationUtils");e.each(b.children,function(b){d.isBlock(b)&&
k(b,a,c);l(b,a,c)});return b}var c=h("preferences");c.define("filter.commentAfter",'\n\x3c!-- /<%= attr("id", "#") %><%= attr("class", ".") %> --\x3e',"A definition of comment that should be placed <i>after</i> matched element when <code>comment</code> filter is applied. This definition is an ERB-style template passed to <code>_.template()</code> function (see Underscore.js docs for details). In template context, the following properties and functions are availabe:\n<ul><li><code>attr(name, before, after)</code> \u2013 a function that outputsspecified attribute value concatenated with <code>before</code> and <code>after</code> strings. If attribute doesn't exists, the empty string will be returned.</li><li><code>node</code> \u2013 current node (instance of <code>AbbreviationNode</code>)</li><li><code>name</code> \u2013 name of current tag</li><li><code>padding</code> \u2013 current string padding, can be used for formatting</li></ul>");
c.define("filter.commentBefore","","A definition of comment that should be placed <i>before</i> matched element when <code>comment</code> filter is applied. For more info, read description of <code>filter.commentAfter</code> property");c.define("filter.commentTrigger","id, class","A comma-separated list of attribute names that should exist in abbreviatoin where comment should be added. If you wish to add comment for every element, set this option to <code>*</code>");h("filters").add("c",function(b){var a=
e.template(c.get("filter.commentBefore")),g=e.template(c.get("filter.commentAfter"));return l(b,a,g)})});emmet.exec(function(h,e){function k(c){return c.replace(/([<>&])/g,function(b,a){return l[a]})}var l={"<":"&lt;",">":"&gt;","&":"&amp;"};h("filters").add("e",function b(a){e.each(a.children,function(a){a.start=k(a.start);a.end=k(a.end);a.content=k(a.content);b(a)});return a})});
emmet.exec(function(h,e){function k(a){return a.parent&&!a.parent.parent&&!a.index()}function l(a,b){var f=h("abbreviationUtils");return!0===b.tag_nl||f.isBlock(a)?!0:a.parent&&b.inline_break?c(a.parent,b):!1}function c(a,b){var c=0,k=h("abbreviationUtils");return!!e.find(a.children,function(a){a.isTextNode()||!k.isInline(a)?c=0:k.isInline(a)&&c++;if(c>=b.inline_break)return!0})}function b(a,b){var f=h("abbreviationUtils");return e.any(a.children,function(a){return f.isSnippet(a)?!1:!f.isInline(a)})?
!0:c(a,b)}var a=h("preferences");a.define("format.noIndentTags","html","A comma-separated list of tag names that should not get inner indentation.");a.define("format.forceIndentationForTags","body","A comma-separated list of tag names that should <em>always</em> get inner indentation.");h("filters").add("_format",function d(c,n,u){u=u||0;var p=h("abbreviationUtils");e.each(c.children,function(c){if(p.isSnippet(c))c.start=c.end="",k(c)||!1===n.tag_nl||!l(c,n)||c.parent.parent&&h("abbreviationUtils").isInline(c.parent)||
(c.start=h("utils").getNewline()+c.start);else{c.start=c.end="%s";var f=h("utils"),s=h("abbreviationUtils"),t=s.isUnary(c),f=f.getNewline(),x;x=e.include(a.getArray("format.noIndentTags")||[],c.name())?"":h("resources").getVariable("indentation");if(!1!==n.tag_nl){var w=!0===n.tag_nl&&(n.tag_nl_leaf||c.children.length);w||(w=e.include(a.getArray("format.forceIndentationForTags")||[],c.name()));if(!c.isTextNode()){if(l(c,n)){k(c)||s.isSnippet(c.parent)&&!c.index()||(c.start=f+c.start);if(s.hasBlockChildren(c)||
c.children.length&&l(c.children[0],n)||w&&!t)c.end=f+c.end;if(s.hasTagsInContent(c)||w&&!c.children.length&&!t)c.start+=f+x}else{if(t=s.isInline(c))t=c.parent&&h("abbreviationUtils").hasBlockChildren(c.parent);t&&!k(c)?c.start=f+c.start:s.isInline(c)&&b(c,n)&&(c.end=f+c.end)}c.padding=x}}}d(c,n,u+1)});return c})});
emmet.exec(function(h,e){function k(k,c){var b="",a=[],g=c.attributeQuote(),d=c.cursor();e.each(k.attributeList(),function(f){var e=c.attributeName(f.name);switch(e.toLowerCase()){case "id":b+="#"+(f.value||d);break;case "class":e=b;f=f.value||d;f=h("utils").trim(f).replace(/\s+/g,".");b=e+("."+f);break;default:a.push(":"+e+" => "+g+(f.value||d)+g)}});a.length&&(b+="{"+a.join(", ")+"}");return b}h("filters").add("haml",function c(b,a,g){g=g||0;var d=h("abbreviationUtils");g||(b=h("filters").apply(b,
"_format",a));e.each(b.children,function(b){if(!d.isSnippet(b)&&b.parent){var e=h("abbreviationUtils"),u=h("utils"),p=k(b,a),q=a.cursor(),e=e.isUnary(b),r=a.self_closing_tag&&e?"/":"",s="%"+a.tagName(b.name());"%div"==s.toLowerCase()&&p&&-1==p.indexOf("{")&&(s="");b.end="";b.start=u.replaceSubstring(b.start,s+p+r+" ",b.start.indexOf("%s"),"%s");b.children.length||e||(b.start+=q)}c(b,a,g+1)});return b})});
emmet.exec(function(h,e){function k(h,c){var b=c.attributeQuote(),a=c.cursor();return e.map(h.attributeList(),function(e){return" "+c.attributeName(e.name)+"="+b+(e.value||a)+b}).join("")}h("filters").add("html",function c(b,a,g){g=g||0;var d=h("abbreviationUtils");g||(b=h("filters").apply(b,"_format",a));e.each(b.children,function(b){if(!d.isSnippet(b)&&b.parent){var e=h("abbreviationUtils"),u=h("utils"),p=k(b,a),q=a.cursor(),e=e.isUnary(b),r="",s="";if(!b.isTextNode()){var t=a.tagName(b.name());
e?(r="<"+t+p+a.selfClosing()+">",b.end=""):(r="<"+t+p+">",s="</"+t+">")}b.start=u.replaceSubstring(b.start,r,b.start.indexOf("%s"),"%s");b.end=u.replaceSubstring(b.end,s,b.end.indexOf("%s"),"%s");b.children.length||e||~b.content.indexOf(q)||h("tabStops").extract(b.content).tabstops.length||(b.start+=q)}c(b,a,g+1)});return b})});
emmet.exec(function(h,e){var k=/^\s+/,l=/[\n\r]/g;h("filters").add("s",function b(a,g,d){var f=h("abbreviationUtils");e.each(a.children,function(a){f.isSnippet(a)||(a.start=a.start.replace(k,""),a.end=a.end.replace(k,""));a.start=a.start.replace(l,"");a.end=a.end.replace(l,"");a.content=a.content.replace(l,"");b(a)});return a})});
emmet.exec(function(h,e){function k(h,c){e.each(h.children,function(b){b.content&&(b.content=b.content.replace(c,""));k(b,c)});return h}h("preferences").define("filter.trimRegexp","[\\s|\\u00a0]*[\\d|#|\\-|*|\\u2022]+\\.?\\s*","Regular expression used to remove list markers (numbers, dashes, bullets, etc.) in <code>t</code> (trim) filter. The trim filter is useful for wrapping with abbreviation lists, pased from other documents (for example, Word documents).");h("filters").add("t",function(e){var c=
new RegExp(h("preferences").get("filter.trimRegexp"));return k(e,c)})});emmet.exec(function(h,e){var k={"xsl:variable":1,"xsl:with-param":1};h("filters").add("xsl",function c(b){var a=h("abbreviationUtils");e.each(b.children,function(b){!a.isSnippet(b)&&(b.name()||"").toLowerCase()in k&&b.children.length&&(b.start=b.start.replace(/\s+select\s*=\s*(['"]).*?\1/,""));c(b)});return b})});
emmet.define("lorem",function(h,e){function k(a,b){return Math.round(Math.random()*(b-a)+a)}function l(a,b){for(var c=a.length,h=Math.min(c,b),g=[];g.length<h;){var l=k(0,c-1);e.include(g,l)||g.push(l)}return e.map(g,function(b){return a[b]})}function c(a,b){a.length&&(a[0]=a[0].charAt(0).toUpperCase()+a[0].substring(1));var c=a.join(" "),h;(h=b)||(h=e.isString("?!...")?"?!...".charAt(k(0,4)):"?!..."[k(0,4)]);return c+h}function b(a){var b=a.length,c=0,c=3<b&&6>=b?k(0,1):6<b&&12>=b?k(0,2):k(1,4);
e.each(e.range(c),function(b){b<a.length-1&&(a[b]+=",")})}var a={en:{common:"lorem ipsum dolor sit amet consectetur adipisicing elit".split(" "),words:"exercitationem perferendis perspiciatis laborum eveniet sunt iure nam nobis eum cum officiis excepturi odio consectetur quasi aut quisquam vel eligendi itaque non odit tempore quaerat dignissimos facilis neque nihil expedita vitae vero ipsum nisi animi cumque pariatur velit modi natus iusto eaque sequi illo sed ex et voluptatibus tempora veritatis ratione assumenda incidunt nostrum placeat aliquid fuga provident praesentium rem necessitatibus suscipit adipisci quidem possimus voluptas debitis sint accusantium unde sapiente voluptate qui aspernatur laudantium soluta amet quo aliquam saepe culpa libero ipsa dicta reiciendis nesciunt doloribus autem impedit minima maiores repudiandae ipsam obcaecati ullam enim totam delectus ducimus quis voluptates dolores molestiae harum dolorem quia voluptatem molestias magni distinctio omnis illum dolorum voluptatum ea quas quam corporis quae blanditiis atque deserunt laboriosam earum consequuntur hic cupiditate quibusdam accusamus ut rerum error minus eius ab ad nemo fugit officia at in id quos reprehenderit numquam iste fugiat sit inventore beatae repellendus magnam recusandae quod explicabo doloremque aperiam consequatur asperiores commodi optio dolor labore temporibus repellat veniam architecto est esse mollitia nulla a similique eos alias dolore tenetur deleniti porro facere maxime corrupti".split(" ")},
ru:{common:"\u0434\u0430\u043b\u0435\u043a\u043e-\u0434\u0430\u043b\u0435\u043a\u043e;\u0437\u0430;\u0441\u043b\u043e\u0432\u0435\u0441\u043d\u044b\u043c\u0438;\u0433\u043e\u0440\u0430\u043c\u0438;\u0432 \u0441\u0442\u0440\u0430\u043d\u0435;\u0433\u043b\u0430\u0441\u043d\u044b\u0445;\u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u044b\u0445;\u0436\u0438\u0432\u0443\u0442;\u0440\u044b\u0431\u043d\u044b\u0435;\u0442\u0435\u043a\u0441\u0442\u044b".split(";"),words:"\u0432\u0434\u0430\u043b\u0438;\u043e\u0442 \u0432\u0441\u0435\u0445;\u043e\u043d\u0438;\u0431\u0443\u043a\u0432\u0435\u043d\u043d\u044b\u0445;\u0434\u043e\u043c\u0430\u0445;\u043d\u0430 \u0431\u0435\u0440\u0435\u0433\u0443;\u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430;\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e;\u044f\u0437\u044b\u043a\u043e\u0432\u043e\u0433\u043e;\u043e\u043a\u0435\u0430\u043d\u0430;\u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439;\u0440\u0443\u0447\u0435\u0435\u043a;\u0434\u0430\u043b\u044c;\u0436\u0443\u0440\u0447\u0438\u0442;\u043f\u043e \u0432\u0441\u0435\u0439;\u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442;\u0435\u0435;\u0432\u0441\u0435\u043c\u0438;\u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u043c\u0438;\u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438;\u044d\u0442\u0430;\u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f;\u0441\u0442\u0440\u0430\u043d\u0430;\u043a\u043e\u0442\u043e\u0440\u043e\u0439;\u0436\u0430\u0440\u0435\u043d\u043d\u044b\u0435;\u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f;\u0437\u0430\u043b\u0435\u0442\u0430\u044e\u0442;\u043f\u0440\u044f\u043c\u043e;\u0440\u043e\u0442;\u0434\u0430\u0436\u0435;\u0432\u0441\u0435\u043c\u043e\u0433\u0443\u0449\u0430\u044f;\u043f\u0443\u043d\u043a\u0442\u0443\u0430\u0446\u0438\u044f;\u043d\u0435;\u0438\u043c\u0435\u0435\u0442;\u0432\u043b\u0430\u0441\u0442\u0438;\u043d\u0430\u0434;\u0440\u044b\u0431\u043d\u044b\u043c\u0438;\u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438;\u0432\u0435\u0434\u0443\u0449\u0438\u043c\u0438;\u0431\u0435\u0437\u043e\u0440\u0444\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u043d\u044b\u0439;\u043e\u0431\u0440\u0430\u0437;\u0436\u0438\u0437\u043d\u0438;\u043e\u0434\u043d\u0430\u0436\u0434\u044b;\u043e\u0434\u043d\u0430;\u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0430\u044f;\u0441\u0442\u0440\u043e\u0447\u043a\u0430;\u0440\u044b\u0431\u043d\u043e\u0433\u043e;\u0442\u0435\u043a\u0441\u0442\u0430;\u0438\u043c\u0435\u043d\u0438;lorem;ipsum;\u0440\u0435\u0448\u0438\u043b\u0430;\u0432\u044b\u0439\u0442\u0438;\u0431\u043e\u043b\u044c\u0448\u043e\u0439;\u043c\u0438\u0440;\u0433\u0440\u0430\u043c\u043c\u0430\u0442\u0438\u043a\u0438;\u0432\u0435\u043b\u0438\u043a\u0438\u0439;\u043e\u043a\u0441\u043c\u043e\u043a\u0441;\u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u043b;\u043e;\u0437\u043b\u044b\u0445;\u0437\u0430\u043f\u044f\u0442\u044b\u0445;\u0434\u0438\u043a\u0438\u0445;\u0437\u043d\u0430\u043a\u0430\u0445;\u0432\u043e\u043f\u0440\u043e\u0441\u0430;\u043a\u043e\u0432\u0430\u0440\u043d\u044b\u0445;\u0442\u043e\u0447\u043a\u0430\u0445;\u0437\u0430\u043f\u044f\u0442\u043e\u0439;\u043d\u043e;\u0442\u0435\u043a\u0441\u0442;\u0434\u0430\u043b;\u0441\u0431\u0438\u0442\u044c;\u0441\u0435\u0431\u044f;\u0442\u043e\u043b\u043a\u0443;\u043e\u043d;\u0441\u043e\u0431\u0440\u0430\u043b;\u0441\u0435\u043c\u044c;\u0441\u0432\u043e\u0438\u0445;\u0437\u0430\u0433\u043b\u0430\u0432\u043d\u044b\u0445;\u0431\u0443\u043a\u0432;\u043f\u043e\u0434\u043f\u043e\u044f\u0441\u0430\u043b;\u0438\u043d\u0438\u0446\u0438\u0430\u043b;\u0437\u0430;\u043f\u043e\u044f\u0441;\u043f\u0443\u0441\u0442\u0438\u043b\u0441\u044f;\u0434\u043e\u0440\u043e\u0433\u0443;\u0432\u0437\u043e\u0431\u0440\u0430\u0432\u0448\u0438\u0441\u044c;\u043f\u0435\u0440\u0432\u0443\u044e;\u0432\u0435\u0440\u0448\u0438\u043d\u0443;\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0445;\u0433\u043e\u0440;\u0431\u0440\u043e\u0441\u0438\u043b;\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439;\u0432\u0437\u0433\u043b\u044f\u0434;\u043d\u0430\u0437\u0430\u0434;\u0441\u0438\u043b\u0443\u044d\u0442;\u0441\u0432\u043e\u0435\u0433\u043e;\u0440\u043e\u0434\u043d\u043e\u0433\u043e;\u0433\u043e\u0440\u043e\u0434\u0430;\u0431\u0443\u043a\u0432\u043e\u0433\u0440\u0430\u0434;\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a;\u0434\u0435\u0440\u0435\u0432\u043d\u0438;\u0430\u043b\u0444\u0430\u0432\u0438\u0442;\u043f\u043e\u0434\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a;\u0441\u0432\u043e\u0435\u0433\u043e;\u043f\u0435\u0440\u0435\u0443\u043b\u043a\u0430;\u0433\u0440\u0443\u0441\u0442\u043d\u044b\u0439;\u0440\u0435\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439;\u0432\u043e\u043f\u0440\u043e\u0441;\u0441\u043a\u0430\u0442\u0438\u043b\u0441\u044f;\u0435\u0433\u043e;\u0449\u0435\u043a\u0435;\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043b;\u0441\u0432\u043e\u0439;\u043f\u0443\u0442\u044c;\u0434\u043e\u0440\u043e\u0433\u0435;\u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043b;\u0440\u0443\u043a\u043e\u043f\u0438\u0441\u044c;\u043e\u043d\u0430;\u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0434\u0438\u043b\u0430;\u043c\u043e\u0435\u0439;\u0432\u0441\u0435;\u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f;\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e;\u0440\u0430\u0437;\u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435;\u0447\u0442\u043e;\u043c\u0435\u043d\u044f;\u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c;\u044d\u0442\u043e;\u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430;\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0439\u0441\u044f;\u0442\u044b;\u043b\u0443\u0447\u0448\u0435;\u0441\u0432\u043e\u044e;\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0443\u044e;\u0441\u0442\u0440\u0430\u043d\u0443;\u043f\u043e\u0441\u043b\u0443\u0448\u0430\u0432\u0448\u0438\u0441\u044c;\u0440\u0443\u043a\u043e\u043f\u0438\u0441\u0438;\u043d\u0430\u0448;\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043b;\u0441\u0432\u043e\u0439;\u043f\u0443\u0442\u044c;\u0432\u0441\u043a\u043e\u0440\u0435;\u0435\u043c\u0443;\u043f\u043e\u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b\u0441\u044f;\u043a\u043e\u0432\u0430\u0440\u043d\u044b\u0439;\u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u044c;\u0440\u0435\u043a\u043b\u0430\u043c\u043d\u044b\u0445;\u0442\u0435\u043a\u0441\u0442\u043e\u0432;\u043d\u0430\u043f\u043e\u0438\u0432\u0448\u0438\u0439;\u044f\u0437\u044b\u043a\u043e\u043c;\u0440\u0435\u0447\u044c\u044e;\u0437\u0430\u043c\u0430\u043d\u0438\u0432\u0448\u0438\u0439;\u0441\u0432\u043e\u0435;\u0430\u0433\u0435\u043d\u0441\u0442\u0432\u043e;\u043a\u043e\u0442\u043e\u0440\u043e\u0435;\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u043e;\u0441\u043d\u043e\u0432\u0430;\u0441\u043d\u043e\u0432\u0430;\u0441\u0432\u043e\u0438\u0445;\u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445;\u0435\u0441\u043b\u0438;\u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u0438;\u0442\u043e;\u0436\u0438\u0432\u0435\u0442;\u0442\u0430\u043c;\u0434\u043e;\u0441\u0438\u0445;\u043f\u043e\u0440".split(";")}},
g=h("preferences");g.define("lorem.defaultLang","en");h("abbreviationParser").addPreprocessor(function(d,e){var h=/^(?:lorem|lipsum)([a-z]{2})?(\d*)$/i,u;d.findAll(function(d){if(d._name&&(u=d._name.match(h))){var e=u[2]||30,f=u[1]||g.get("lorem.defaultLang")||"en";d._name="";d.data("forceNameResolving",d.isRepeating()||d.attributeList().length);d.data("pasteOverwrites",!0);d.data("paste",function(d,h){var g;g=e;var n=!d,p=a[f];if(p){var u=[],m=0;g=parseInt(g,10);n&&p.common&&(n=p.common.slice(0,
g),5<n.length&&(n[4]+=","),m+=n.length,u.push(c(n,".")));for(;m<g;)n=l(p.words,Math.min(k(3,12)*k(1,5),g-m)),m+=n.length,b(n),u.push(c(n));g=u.join(" ")}else g="";return g})}})});return{addLang:function(b,c){e.isString(c)?c={words:e.compact(c.split(" "))}:e.isArray(c)&&(c={words:c});a[b]=c}}});
emmet.define("bootstrap",function(h,e){var k=h("resources"),l=k.getVocabulary("user")||{};k.setVocabulary(h("utils").deepMerge(l,{variables:{lang:"en",locale:"en-US",charset:"UTF-8",indentation:"\t",newline:"\n"},css:{filters:"html",snippets:{"@i":"@import url(|);","@import":"@import url(|);","@m":"@media ${1:screen} {\n\t|\n}","@media":"@media ${1:screen} {\n\t|\n}","@f":"@font-face {\n\tfont-family:|;\n\tsrc:url(|);\n}","@f+":"@font-face {\n\tfont-family: '${1:FontName}';\n\tsrc: url('${2:FileName}.eot');\n\tsrc: url('${2:FileName}.eot?#iefix') format('embedded-opentype'),\n\t\t url('${2:FileName}.woff') format('woff'),\n\t\t url('${2:FileName}.ttf') format('truetype'),\n\t\t url('${2:FileName}.svg#${1:FontName}') format('svg');\n\tfont-style: ${3:normal};\n\tfont-weight: ${4:normal};\n}",
"@kf":"@-webkit-keyframes ${1:identifier} {\n\t${2:from} { ${3} }${6}\n\t${4:to} { ${5} }\n}\n@-o-keyframes ${1:identifier} {\n\t${2:from} { ${3} }${6}\n\t${4:to} { ${5} }\n}\n@-moz-keyframes ${1:identifier} {\n\t${2:from} { ${3} }${6}\n\t${4:to} { ${5} }\n}\n@keyframes ${1:identifier} {\n\t${2:from} { ${3} }${6}\n\t${4:to} { ${5} }\n}",anim:"animation:|;","anim-":"animation:${1:name} ${2:duration} ${3:timing-function} ${4:delay} ${5:iteration-count} ${6:direction} ${7:fill-mode};",animdel:"animation-delay:${1:time};",
animdir:"animation-direction:${1:normal};","animdir:n":"animation-direction:normal;","animdir:r":"animation-direction:reverse;","animdir:a":"animation-direction:alternate;","animdir:ar":"animation-direction:alternate-reverse;",animdur:"animation-duration:${1:0}s;",animfm:"animation-fill-mode:${1:both};","animfm:f":"animation-fill-mode:forwards;","animfm:b":"animation-fill-mode:backwards;","animfm:bt":"animation-fill-mode:both;","animfm:bh":"animation-fill-mode:both;",animic:"animation-iteration-count:${1:1};",
"animic:i":"animation-iteration-count:infinite;",animn:"animation-name:${1:none};",animps:"animation-play-state:${1:running};","animps:p":"animation-play-state:paused;","animps:r":"animation-play-state:running;",animtf:"animation-timing-function:${1:linear};","animtf:e":"animation-timing-function:ease;","animtf:ei":"animation-timing-function:ease-in;","animtf:eo":"animation-timing-function:ease-out;","animtf:eio":"animation-timing-function:ease-in-out;","animtf:l":"animation-timing-function:linear;",
"animtf:cb":"animation-timing-function:cubic-bezier(${1:0.1}, ${2:0.7}, ${3:1.0}, ${3:0.1});",ap:"appearance:${none};","!":"!important",pos:"position:${1:relative};","pos:s":"position:static;","pos:a":"position:absolute;","pos:r":"position:relative;","pos:f":"position:fixed;",t:"top:|;","t:a":"top:auto;",r:"right:|;","r:a":"right:auto;",b:"bottom:|;","b:a":"bottom:auto;",l:"left:|;","l:a":"left:auto;",z:"z-index:|;","z:a":"z-index:auto;",fl:"float:${1:left};","fl:n":"float:none;","fl:l":"float:left;",
"fl:r":"float:right;",cl:"clear:${1:both};","cl:n":"clear:none;","cl:l":"clear:left;","cl:r":"clear:right;","cl:b":"clear:both;",colm:"columns:|;",colmc:"column-count:|;",colmf:"column-fill:|;",colmg:"column-gap:|;",colmr:"column-rule:|;",colmrc:"column-rule-color:|;",colmrs:"column-rule-style:|;",colmrw:"column-rule-width:|;",colms:"column-span:|;",colmw:"column-width:|;",d:"display:${1:block};","d:n":"display:none;","d:b":"display:block;","d:i":"display:inline;","d:ib":"display:inline-block;","d:ib+":"display: inline-block;\n*display: inline;\n*zoom: 1;",
"d:li":"display:list-item;","d:ri":"display:run-in;","d:cp":"display:compact;","d:tb":"display:table;","d:itb":"display:inline-table;","d:tbcp":"display:table-caption;","d:tbcl":"display:table-column;","d:tbclg":"display:table-column-group;","d:tbhg":"display:table-header-group;","d:tbfg":"display:table-footer-group;","d:tbr":"display:table-row;","d:tbrg":"display:table-row-group;","d:tbc":"display:table-cell;","d:rb":"display:ruby;","d:rbb":"display:ruby-base;","d:rbbg":"display:ruby-base-group;",
"d:rbt":"display:ruby-text;","d:rbtg":"display:ruby-text-group;",v:"visibility:${1:hidden};","v:v":"visibility:visible;","v:h":"visibility:hidden;","v:c":"visibility:collapse;",ov:"overflow:${1:hidden};","ov:v":"overflow:visible;","ov:h":"overflow:hidden;","ov:s":"overflow:scroll;","ov:a":"overflow:auto;",ovx:"overflow-x:${1:hidden};","ovx:v":"overflow-x:visible;","ovx:h":"overflow-x:hidden;","ovx:s":"overflow-x:scroll;","ovx:a":"overflow-x:auto;",ovy:"overflow-y:${1:hidden};","ovy:v":"overflow-y:visible;",
"ovy:h":"overflow-y:hidden;","ovy:s":"overflow-y:scroll;","ovy:a":"overflow-y:auto;",ovs:"overflow-style:${1:scrollbar};","ovs:a":"overflow-style:auto;","ovs:s":"overflow-style:scrollbar;","ovs:p":"overflow-style:panner;","ovs:m":"overflow-style:move;","ovs:mq":"overflow-style:marquee;",zoo:"zoom:1;",zm:"zoom:1;",cp:"clip:|;","cp:a":"clip:auto;","cp:r":"clip:rect(${1:top} ${2:right} ${3:bottom} ${4:left});",bxz:"box-sizing:${1:border-box};","bxz:cb":"box-sizing:content-box;","bxz:bb":"box-sizing:border-box;",
bxsh:"box-shadow:${1:inset }${2:hoff} ${3:voff} ${4:blur} ${5:color};","bxsh:r":"box-shadow:${1:inset }${2:hoff} ${3:voff} ${4:blur} ${5:spread }rgb(${6:0}, ${7:0}, ${8:0});","bxsh:ra":"box-shadow:${1:inset }${2:h} ${3:v} ${4:blur} ${5:spread }rgba(${6:0}, ${7:0}, ${8:0}, .${9:5});","bxsh:n":"box-shadow:none;",m:"margin:|;","m:a":"margin:auto;",mt:"margin-top:|;","mt:a":"margin-top:auto;",mr:"margin-right:|;","mr:a":"margin-right:auto;",mb:"margin-bottom:|;","mb:a":"margin-bottom:auto;",ml:"margin-left:|;",
"ml:a":"margin-left:auto;",p:"padding:|;",pt:"padding-top:|;",pr:"padding-right:|;",pb:"padding-bottom:|;",pl:"padding-left:|;",w:"width:|;","w:a":"width:auto;",h:"height:|;","h:a":"height:auto;",maw:"max-width:|;","maw:n":"max-width:none;",mah:"max-height:|;","mah:n":"max-height:none;",miw:"min-width:|;",mih:"min-height:|;",mar:"max-resolution:${1:res};",mir:"min-resolution:${1:res};",ori:"orientation:|;","ori:l":"orientation:landscape;","ori:p":"orientation:portrait;",ol:"outline:|;","ol:n":"outline:none;",
olo:"outline-offset:|;",olw:"outline-width:|;","olw:tn":"outline-width:thin;","olw:m":"outline-width:medium;","olw:tc":"outline-width:thick;",ols:"outline-style:|;","ols:n":"outline-style:none;","ols:dt":"outline-style:dotted;","ols:ds":"outline-style:dashed;","ols:s":"outline-style:solid;","ols:db":"outline-style:double;","ols:g":"outline-style:groove;","ols:r":"outline-style:ridge;","ols:i":"outline-style:inset;","ols:o":"outline-style:outset;",olc:"outline-color:#${1:000};","olc:i":"outline-color:invert;",
bd:"border:|;","bd+":"border:${1:1px} ${2:solid} ${3:#000};","bd:n":"border:none;",bdbk:"border-break:${1:close};","bdbk:c":"border-break:close;",bdcl:"border-collapse:|;","bdcl:c":"border-collapse:collapse;","bdcl:s":"border-collapse:separate;",bdc:"border-color:#${1:000};","bdc:t":"border-color:transparent;",bdi:"border-image:url(|);","bdi:n":"border-image:none;",bdti:"border-top-image:url(|);","bdti:n":"border-top-image:none;",bdri:"border-right-image:url(|);","bdri:n":"border-right-image:none;",
bdbi:"border-bottom-image:url(|);","bdbi:n":"border-bottom-image:none;",bdli:"border-left-image:url(|);","bdli:n":"border-left-image:none;",bdci:"border-corner-image:url(|);","bdci:n":"border-corner-image:none;","bdci:c":"border-corner-image:continue;",bdtli:"border-top-left-image:url(|);","bdtli:n":"border-top-left-image:none;","bdtli:c":"border-top-left-image:continue;",bdtri:"border-top-right-image:url(|);","bdtri:n":"border-top-right-image:none;","bdtri:c":"border-top-right-image:continue;",bdbri:"border-bottom-right-image:url(|);",
"bdbri:n":"border-bottom-right-image:none;","bdbri:c":"border-bottom-right-image:continue;",bdbli:"border-bottom-left-image:url(|);","bdbli:n":"border-bottom-left-image:none;","bdbli:c":"border-bottom-left-image:continue;",bdf:"border-fit:${1:repeat};","bdf:c":"border-fit:clip;","bdf:r":"border-fit:repeat;","bdf:sc":"border-fit:scale;","bdf:st":"border-fit:stretch;","bdf:ow":"border-fit:overwrite;","bdf:of":"border-fit:overflow;","bdf:sp":"border-fit:space;",bdlen:"border-length:|;","bdlen:a":"border-length:auto;",
bdsp:"border-spacing:|;",bds:"border-style:|;","bds:n":"border-style:none;","bds:h":"border-style:hidden;","bds:dt":"border-style:dotted;","bds:ds":"border-style:dashed;","bds:s":"border-style:solid;","bds:db":"border-style:double;","bds:dtds":"border-style:dot-dash;","bds:dtdtds":"border-style:dot-dot-dash;","bds:w":"border-style:wave;","bds:g":"border-style:groove;","bds:r":"border-style:ridge;","bds:i":"border-style:inset;","bds:o":"border-style:outset;",bdw:"border-width:|;",bdtw:"border-top-width:|;",
bdrw:"border-right-width:|;",bdbw:"border-bottom-width:|;",bdlw:"border-left-width:|;",bdt:"border-top:|;",bt:"border-top:|;","bdt+":"border-top:${1:1px} ${2:solid} ${3:#000};","bdt:n":"border-top:none;",bdts:"border-top-style:|;","bdts:n":"border-top-style:none;",bdtc:"border-top-color:#${1:000};","bdtc:t":"border-top-color:transparent;",bdr:"border-right:|;",br:"border-right:|;","bdr+":"border-right:${1:1px} ${2:solid} ${3:#000};","bdr:n":"border-right:none;",bdrst:"border-right-style:|;","bdrst:n":"border-right-style:none;",
bdrc:"border-right-color:#${1:000};","bdrc:t":"border-right-color:transparent;",bdb:"border-bottom:|;",bb:"border-bottom:|;","bdb+":"border-bottom:${1:1px} ${2:solid} ${3:#000};","bdb:n":"border-bottom:none;",bdbs:"border-bottom-style:|;","bdbs:n":"border-bottom-style:none;",bdbc:"border-bottom-color:#${1:000};","bdbc:t":"border-bottom-color:transparent;",bdl:"border-left:|;",bl:"border-left:|;","bdl+":"border-left:${1:1px} ${2:solid} ${3:#000};","bdl:n":"border-left:none;",bdls:"border-left-style:|;",
"bdls:n":"border-left-style:none;",bdlc:"border-left-color:#${1:000};","bdlc:t":"border-left-color:transparent;",bdrs:"border-radius:|;",bdtrrs:"border-top-right-radius:|;",bdtlrs:"border-top-left-radius:|;",bdbrrs:"border-bottom-right-radius:|;",bdblrs:"border-bottom-left-radius:|;",bg:"background:#${1:000};","bg+":"background:${1:#fff} url(${2}) ${3:0} ${4:0} ${5:no-repeat};","bg:n":"background:none;","bg:ie":"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='${1:x}.png',sizingMethod='${2:crop}');",
bgc:"background-color:#${1:fff};","bgc:t":"background-color:transparent;",bgi:"background-image:url(|);","bgi:n":"background-image:none;",bgr:"background-repeat:|;","bgr:n":"background-repeat:no-repeat;","bgr:x":"background-repeat:repeat-x;","bgr:y":"background-repeat:repeat-y;","bgr:sp":"background-repeat:space;","bgr:rd":"background-repeat:round;",bga:"background-attachment:|;","bga:f":"background-attachment:fixed;","bga:s":"background-attachment:scroll;",bgp:"background-position:${1:0} ${2:0};",
bgpx:"background-position-x:|;",bgpy:"background-position-y:|;",bgbk:"background-break:|;","bgbk:bb":"background-break:bounding-box;","bgbk:eb":"background-break:each-box;","bgbk:c":"background-break:continuous;",bgcp:"background-clip:${1:padding-box};","bgcp:bb":"background-clip:border-box;","bgcp:pb":"background-clip:padding-box;","bgcp:cb":"background-clip:content-box;","bgcp:nc":"background-clip:no-clip;",bgo:"background-origin:|;","bgo:pb":"background-origin:padding-box;","bgo:bb":"background-origin:border-box;",
"bgo:cb":"background-origin:content-box;",bgsz:"background-size:|;","bgsz:a":"background-size:auto;","bgsz:ct":"background-size:contain;","bgsz:cv":"background-size:cover;",c:"color:#${1:000};","c:r":"color:rgb(${1:0}, ${2:0}, ${3:0});","c:ra":"color:rgba(${1:0}, ${2:0}, ${3:0}, .${4:5});",cm:"/* |${child} */",cnt:"content:'|';","cnt:n":"content:normal;","cnt:oq":"content:open-quote;","cnt:noq":"content:no-open-quote;","cnt:cq":"content:close-quote;","cnt:ncq":"content:no-close-quote;","cnt:a":"content:attr(|);",
"cnt:c":"content:counter(|);","cnt:cs":"content:counters(|);",tbl:"table-layout:|;","tbl:a":"table-layout:auto;","tbl:f":"table-layout:fixed;",cps:"caption-side:|;","cps:t":"caption-side:top;","cps:b":"caption-side:bottom;",ec:"empty-cells:|;","ec:s":"empty-cells:show;","ec:h":"empty-cells:hide;",lis:"list-style:|;","lis:n":"list-style:none;",lisp:"list-style-position:|;","lisp:i":"list-style-position:inside;","lisp:o":"list-style-position:outside;",list:"list-style-type:|;","list:n":"list-style-type:none;",
"list:d":"list-style-type:disc;","list:c":"list-style-type:circle;","list:s":"list-style-type:square;","list:dc":"list-style-type:decimal;","list:dclz":"list-style-type:decimal-leading-zero;","list:lr":"list-style-type:lower-roman;","list:ur":"list-style-type:upper-roman;",lisi:"list-style-image:|;","lisi:n":"list-style-image:none;",q:"quotes:|;","q:n":"quotes:none;","q:ru":"quotes:'\\00AB' '\\00BB' '\\201E' '\\201C';","q:en":"quotes:'\\201C' '\\201D' '\\2018' '\\2019';",ct:"content:|;","ct:n":"content:normal;",
"ct:oq":"content:open-quote;","ct:noq":"content:no-open-quote;","ct:cq":"content:close-quote;","ct:ncq":"content:no-close-quote;","ct:a":"content:attr(|);","ct:c":"content:counter(|);","ct:cs":"content:counters(|);",coi:"counter-increment:|;",cor:"counter-reset:|;",va:"vertical-align:${1:top};","va:sup":"vertical-align:super;","va:t":"vertical-align:top;","va:tt":"vertical-align:text-top;","va:m":"vertical-align:middle;","va:bl":"vertical-align:baseline;","va:b":"vertical-align:bottom;","va:tb":"vertical-align:text-bottom;",
"va:sub":"vertical-align:sub;",ta:"text-align:${1:left};","ta:l":"text-align:left;","ta:c":"text-align:center;","ta:r":"text-align:right;","ta:j":"text-align:justify;","ta-lst":"text-align-last:|;","tal:a":"text-align-last:auto;","tal:l":"text-align-last:left;","tal:c":"text-align-last:center;","tal:r":"text-align-last:right;",td:"text-decoration:${1:none};","td:n":"text-decoration:none;","td:u":"text-decoration:underline;","td:o":"text-decoration:overline;","td:l":"text-decoration:line-through;",
te:"text-emphasis:|;","te:n":"text-emphasis:none;","te:ac":"text-emphasis:accent;","te:dt":"text-emphasis:dot;","te:c":"text-emphasis:circle;","te:ds":"text-emphasis:disc;","te:b":"text-emphasis:before;","te:a":"text-emphasis:after;",th:"text-height:|;","th:a":"text-height:auto;","th:f":"text-height:font-size;","th:t":"text-height:text-size;","th:m":"text-height:max-size;",ti:"text-indent:|;","ti:-":"text-indent:-9999px;",tj:"text-justify:|;","tj:a":"text-justify:auto;","tj:iw":"text-justify:inter-word;",
"tj:ii":"text-justify:inter-ideograph;","tj:ic":"text-justify:inter-cluster;","tj:d":"text-justify:distribute;","tj:k":"text-justify:kashida;","tj:t":"text-justify:tibetan;",tov:"text-overflow:${ellipsis};","tov:e":"text-overflow:ellipsis;","tov:c":"text-overflow:clip;",to:"text-outline:|;","to+":"text-outline:${1:0} ${2:0} ${3:#000};","to:n":"text-outline:none;",tr:"text-replace:|;","tr:n":"text-replace:none;",tt:"text-transform:${1:uppercase};","tt:n":"text-transform:none;","tt:c":"text-transform:capitalize;",
"tt:u":"text-transform:uppercase;","tt:l":"text-transform:lowercase;",tw:"text-wrap:|;","tw:n":"text-wrap:normal;","tw:no":"text-wrap:none;","tw:u":"text-wrap:unrestricted;","tw:s":"text-wrap:suppress;",tsh:"text-shadow:${1:hoff} ${2:voff} ${3:blur} ${4:#000};","tsh:r":"text-shadow:${1:h} ${2:v} ${3:blur} rgb(${4:0}, ${5:0}, ${6:0});","tsh:ra":"text-shadow:${1:h} ${2:v} ${3:blur} rgba(${4:0}, ${5:0}, ${6:0}, .${7:5});","tsh+":"text-shadow:${1:0} ${2:0} ${3:0} ${4:#000};","tsh:n":"text-shadow:none;",
trf:"transform:|;","trf:skx":"transform: skewX(${1:angle});","trf:sky":"transform: skewY(${1:angle});","trf:sc":"transform: scale(${1:x}, ${2:y});","trf:scx":"transform: scaleX(${1:x});","trf:scy":"transform: scaleY(${1:y});","trf:r":"transform: rotate(${1:angle});","trf:t":"transform: translate(${1:x}, ${2:y});","trf:tx":"transform: translateX(${1:x});","trf:ty":"transform: translateY(${1:y});",trfo:"transform-origin:|;",trfs:"transform-style:${1:preserve-3d};",trs:"transition:${1:prop} ${2:time};",
trsde:"transition-delay:${1:time};",trsdu:"transition-duration:${1:time};",trsp:"transition-property:${1:prop};",trstf:"transition-timing-function:${1:tfunc};",lh:"line-height:|;",whs:"white-space:|;","whs:n":"white-space:normal;","whs:p":"white-space:pre;","whs:nw":"white-space:nowrap;","whs:pw":"white-space:pre-wrap;","whs:pl":"white-space:pre-line;",whsc:"white-space-collapse:|;","whsc:n":"white-space-collapse:normal;","whsc:k":"white-space-collapse:keep-all;","whsc:l":"white-space-collapse:loose;",
"whsc:bs":"white-space-collapse:break-strict;","whsc:ba":"white-space-collapse:break-all;",wob:"word-break:|;","wob:n":"word-break:normal;","wob:k":"word-break:keep-all;","wob:ba":"word-break:break-all;",wos:"word-spacing:|;",wow:"word-wrap:|;","wow:nm":"word-wrap:normal;","wow:n":"word-wrap:none;","wow:u":"word-wrap:unrestricted;","wow:s":"word-wrap:suppress;","wow:b":"word-wrap:break-word;",wm:"writing-mode:${1:lr-tb};","wm:lrt":"writing-mode:lr-tb;","wm:lrb":"writing-mode:lr-bt;","wm:rlt":"writing-mode:rl-tb;",
"wm:rlb":"writing-mode:rl-bt;","wm:tbr":"writing-mode:tb-rl;","wm:tbl":"writing-mode:tb-lr;","wm:btl":"writing-mode:bt-lr;","wm:btr":"writing-mode:bt-rl;",lts:"letter-spacing:|;","lts-n":"letter-spacing:normal;",f:"font:|;","f+":"font:${1:1em} ${2:Arial,sans-serif};",fw:"font-weight:|;","fw:n":"font-weight:normal;","fw:b":"font-weight:bold;","fw:br":"font-weight:bolder;","fw:lr":"font-weight:lighter;",fs:"font-style:${italic};","fs:n":"font-style:normal;","fs:i":"font-style:italic;","fs:o":"font-style:oblique;",
fv:"font-variant:|;","fv:n":"font-variant:normal;","fv:sc":"font-variant:small-caps;",fz:"font-size:|;",fza:"font-size-adjust:|;","fza:n":"font-size-adjust:none;",ff:"font-family:|;","ff:s":"font-family:serif;","ff:ss":"font-family:sans-serif;","ff:c":"font-family:cursive;","ff:f":"font-family:fantasy;","ff:m":"font-family:monospace;","ff:a":'font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;',"ff:t":'font-family: "Times New Roman", Times, Baskerville, Georgia, serif;',"ff:v":"font-family: Verdana, Geneva, sans-serif;",
fef:"font-effect:|;","fef:n":"font-effect:none;","fef:eg":"font-effect:engrave;","fef:eb":"font-effect:emboss;","fef:o":"font-effect:outline;",fem:"font-emphasize:|;",femp:"font-emphasize-position:|;","femp:b":"font-emphasize-position:before;","femp:a":"font-emphasize-position:after;",fems:"font-emphasize-style:|;","fems:n":"font-emphasize-style:none;","fems:ac":"font-emphasize-style:accent;","fems:dt":"font-emphasize-style:dot;","fems:c":"font-emphasize-style:circle;","fems:ds":"font-emphasize-style:disc;",
fsm:"font-smooth:|;","fsm:a":"font-smooth:auto;","fsm:n":"font-smooth:never;","fsm:aw":"font-smooth:always;",fst:"font-stretch:|;","fst:n":"font-stretch:normal;","fst:uc":"font-stretch:ultra-condensed;","fst:ec":"font-stretch:extra-condensed;","fst:c":"font-stretch:condensed;","fst:sc":"font-stretch:semi-condensed;","fst:se":"font-stretch:semi-expanded;","fst:e":"font-stretch:expanded;","fst:ee":"font-stretch:extra-expanded;","fst:ue":"font-stretch:ultra-expanded;",op:"opacity:|;","op+":"opacity: $1;\nfilter: alpha(opacity=$2);",
"op:ie":"filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);","op:ms":"-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';",rsz:"resize:|;","rsz:n":"resize:none;","rsz:b":"resize:both;","rsz:h":"resize:horizontal;","rsz:v":"resize:vertical;",cur:"cursor:${pointer};","cur:a":"cursor:auto;","cur:d":"cursor:default;","cur:c":"cursor:crosshair;","cur:ha":"cursor:hand;","cur:he":"cursor:help;","cur:m":"cursor:move;","cur:p":"cursor:pointer;","cur:t":"cursor:text;",pgbb:"page-break-before:|;",
"pgbb:au":"page-break-before:auto;","pgbb:al":"page-break-before:always;","pgbb:l":"page-break-before:left;","pgbb:r":"page-break-before:right;",pgbi:"page-break-inside:|;","pgbi:au":"page-break-inside:auto;","pgbi:av":"page-break-inside:avoid;",pgba:"page-break-after:|;","pgba:au":"page-break-after:auto;","pgba:al":"page-break-after:always;","pgba:l":"page-break-after:left;","pgba:r":"page-break-after:right;",orp:"orphans:|;",us:"user-select:${none};",wid:"widows:|;",wfsm:"-webkit-font-smoothing:${antialiased};",
"wfsm:a":"-webkit-font-smoothing:antialiased;","wfsm:s":"-webkit-font-smoothing:subpixel-antialiased;","wfsm:sa":"-webkit-font-smoothing:subpixel-antialiased;","wfsm:n":"-webkit-font-smoothing:none;"}},html:{filters:"html",profile:"html",snippets:{"!!!":"<!doctype html>","!!!4t":'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">',"!!!4s":'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">',"!!!xt":'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
"!!!xs":'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',"!!!xxs":'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">',c:"\x3c!-- |${child} --\x3e","cc:ie6":"\x3c!--[if lte IE 6]>\n\t${child}|\n<![endif]--\x3e","cc:ie":"\x3c!--[if IE]>\n\t${child}|\n<![endif]--\x3e","cc:noie":"\x3c!--[if !IE]>\x3c!--\x3e\n\t${child}|\n\x3c!--<![endif]--\x3e"},abbreviations:{"!":"html:5",a:'<a href="">',"a:link":'<a href="http://|">',
"a:mail":'<a href="mailto:|">',abbr:'<abbr title="">',acronym:'<acronym title="">',base:'<base href="" />',basefont:"<basefont/>",br:"<br/>",frame:"<frame/>",hr:"<hr/>",bdo:'<bdo dir="">',"bdo:r":'<bdo dir="rtl">',"bdo:l":'<bdo dir="ltr">',col:"<col/>",link:'<link rel="stylesheet" href="" />',"link:css":'<link rel="stylesheet" href="${1:style}.css" />',"link:print":'<link rel="stylesheet" href="${1:print}.css" media="print" />',"link:favicon":'<link rel="shortcut icon" type="image/x-icon" href="${1:favicon.ico}" />',
"link:touch":'<link rel="apple-touch-icon" href="${1:favicon.png}" />',"link:rss":'<link rel="alternate" type="application/rss+xml" title="RSS" href="${1:rss.xml}" />',"link:atom":'<link rel="alternate" type="application/atom+xml" title="Atom" href="${1:atom.xml}" />',meta:"<meta/>","meta:utf":'<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />',"meta:win":'<meta http-equiv="Content-Type" content="text/html;charset=windows-1251" />',"meta:vp":'<meta name="viewport" content="width=${1:device-width}, user-scalable=${2:no}, initial-scale=${3:1.0}, maximum-scale=${4:1.0}, minimum-scale=${5:1.0}" />',
"meta:compat":'<meta http-equiv="X-UA-Compatible" content="${1:IE=7}" />',style:"<style>",script:"<script>","script:src":'<script src="">',img:'<img src="" alt="" />',iframe:'<iframe src="" frameborder="0">',embed:'<embed src="" type="" />',object:'<object data="" type="">',param:'<param name="" value="" />',map:'<map name="">',area:'<area shape="" coords="" href="" alt="" />',"area:d":'<area shape="default" href="" alt="" />',"area:c":'<area shape="circle" coords="" href="" alt="" />',"area:r":'<area shape="rect" coords="" href="" alt="" />',
"area:p":'<area shape="poly" coords="" href="" alt="" />',form:'<form action="">',"form:get":'<form action="" method="get">',"form:post":'<form action="" method="post">',label:'<label for="">',input:'<input type="${1:text}" />',inp:'<input type="${1:text}" name="" id="" />',"input:hidden":"input[type=hidden name]","input:h":"input:hidden","input:text":"inp","input:t":"inp","input:search":"inp[type=search]","input:email":"inp[type=email]","input:url":"inp[type=url]","input:password":"inp[type=password]",
"input:p":"input:password","input:datetime":"inp[type=datetime]","input:date":"inp[type=date]","input:datetime-local":"inp[type=datetime-local]","input:month":"inp[type=month]","input:week":"inp[type=week]","input:time":"inp[type=time]","input:number":"inp[type=number]","input:color":"inp[type=color]","input:checkbox":"inp[type=checkbox]","input:c":"input:checkbox","input:radio":"inp[type=radio]","input:r":"input:radio","input:range":"inp[type=range]","input:file":"inp[type=file]","input:f":"input:file",
"input:submit":'<input type="submit" value="" />',"input:s":"input:submit","input:image":'<input type="image" src="" alt="" />',"input:i":"input:image","input:button":'<input type="button" value="" />',"input:b":"input:button",isindex:"<isindex/>","input:reset":"input:button[type=reset]",select:'<select name="" id="">',"select:disabled":"select[disabled]","select:d":"select[disabled]",option:'<option value="">',textarea:'<textarea name="" id="" cols="${1:30}" rows="${2:10}">',marquee:'<marquee behavior="" direction="">',
"menu:context":"menu[type=context]>","menu:c":"menu:context","menu:toolbar":"menu[type=toolbar]>","menu:t":"menu:toolbar",video:'<video src="">',audio:'<audio src="">',"html:xml":'<html xmlns="http://www.w3.org/1999/xhtml">',keygen:"<keygen/>",command:"<command/>","button:submit":"button[type=submit]","button:s":"button[type=submit]","button:reset":"button[type=reset]","button:r":"button[type=reset]","button:disabled":"button[disabled]","button:d":"button[disabled]","fieldset:disabled":"fieldset[disabled]",
"fieldset:d":"fieldset[disabled]",bq:"blockquote",acr:"acronym",fig:"figure",figc:"figcaption",ifr:"iframe",emb:"embed",obj:"object",src:"source",cap:"caption",colg:"colgroup",fst:"fieldset","fst:d":"fieldset[disabled]",btn:"button","btn:b":"button[type=button]","btn:r":"button[type=reset]","btn:s":"button[type=submit]","btn:d":"button[disabled]",optg:"optgroup",opt:"option",tarea:"textarea",leg:"legend",sect:"section",art:"article",hdr:"header",ftr:"footer",adr:"address",dlg:"dialog",str:"strong",
prog:"progress",fset:"fieldset","fset:d":"fieldset[disabled]",datag:"datagrid",datal:"datalist",kg:"keygen",out:"output",det:"details",cmd:"command",doc:"html>(head>meta[charset=UTF-8]+title{${1:Document}})+body",doc4:'html>(head>meta[http-equiv="Content-Type" content="text/html;charset=${charset}"]+title{${1:Document}})+body',"html:4t":"!!!4t+doc4[lang=${lang}]","html:4s":"!!!4s+doc4[lang=${lang}]","html:xt":"!!!xt+doc4[xmlns=http://www.w3.org/1999/xhtml xml:lang=${lang}]","html:xs":"!!!xs+doc4[xmlns=http://www.w3.org/1999/xhtml xml:lang=${lang}]",
"html:xxs":"!!!xxs+doc4[xmlns=http://www.w3.org/1999/xhtml xml:lang=${lang}]","html:5":"!!!+doc[lang=${lang}]","ol+":"ol>li","ul+":"ul>li","dl+":"dl>dt+dd","map+":"map>area","table+":"table>tr>td","colgroup+":"colgroup>col","colg+":"colgroup>col","tr+":"tr>td","select+":"select>option","optgroup+":"optgroup>option","optg+":"optgroup>option"}},xml:{"extends":"html",profile:"xml",filters:"html"},xsl:{"extends":"html",profile:"xml",filters:"html, xsl",abbreviations:{tm:'<xsl:template match="" mode="">',
tmatch:"tm",tn:'<xsl:template name="">',tname:"tn",call:'<xsl:call-template name=""/>',ap:'<xsl:apply-templates select="" mode=""/>',api:"<xsl:apply-imports/>",imp:'<xsl:import href=""/>',inc:'<xsl:include href=""/>',ch:"<xsl:choose>","xsl:when":'<xsl:when test="">',wh:"xsl:when",ot:"<xsl:otherwise>","if":'<xsl:if test="">',par:'<xsl:param name="">',pare:'<xsl:param name="" select=""/>',"var":'<xsl:variable name="">',vare:'<xsl:variable name="" select=""/>',wp:'<xsl:with-param name="" select=""/>',
key:'<xsl:key name="" match="" use=""/>',elem:'<xsl:element name="">',attr:'<xsl:attribute name="">',attrs:'<xsl:attribute-set name="">',cp:'<xsl:copy select=""/>',co:'<xsl:copy-of select=""/>',val:'<xsl:value-of select=""/>',each:'<xsl:for-each select="">',"for":"each",tex:"<xsl:text></xsl:text>",com:"<xsl:comment>",msg:'<xsl:message terminate="no">',fall:"<xsl:fallback>",num:'<xsl:number value=""/>',nam:'<namespace-alias stylesheet-prefix="" result-prefix=""/>',pres:'<xsl:preserve-space elements=""/>',
strip:'<xsl:strip-space elements=""/>',proc:'<xsl:processing-instruction name="">',sort:'<xsl:sort select="" order=""/>',"choose+":"xsl:choose>xsl:when+xsl:otherwise",xsl:"!!!+xsl:stylesheet[version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform]>{\n|}"},snippets:{"!!!":'<?xml version="1.0" encoding="UTF-8"?>'}},haml:{filters:"haml","extends":"html",profile:"xml"},scss:{"extends":"css"},sass:{"extends":"css"},less:{"extends":"css"},stylus:{"extends":"css"},styl:{"extends":"stylus"}}),"user")});
