!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).esquery=t()}(this,(function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a,i,s=[],u=!0,l=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(e,t)||n(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||n(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,t){if(e){if("string"==typeof e)return o(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;--r)if(e[r].node===t)return!0;return!1}function d(e,t){return(new f).traverse(e,t)}function m(e,t){var r;return r=function(e,t){var r,n,o,a;for(n=e.length,o=0;n;)t(e[a=o+(r=n>>>1)])?n=r:(o=a+1,n-=r+1);return o}(t,(function(t){return t.range[0]>e.range[0]})),e.extendedRange=[e.range[0],e.range[1]],r!==t.length&&(e.extendedRange[1]=t[r].range[0]),(r-=1)>=0&&(e.extendedRange[0]=t[r].range[1]),e}return r={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ChainExpression:"ChainExpression",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ComprehensionBlock:"ComprehensionBlock",ComprehensionExpression:"ComprehensionExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DebuggerStatement:"DebuggerStatement",DirectiveStatement:"DirectiveStatement",DoWhileStatement:"DoWhileStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",ForOfStatement:"ForOfStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",GeneratorExpression:"GeneratorExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportExpression:"ImportExpression",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",ModuleSpecifier:"ModuleSpecifier",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",PrivateIdentifier:"PrivateIdentifier",Program:"Program",Property:"Property",PropertyDefinition:"PropertyDefinition",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"},o={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ComprehensionBlock:["left","right"],ComprehensionExpression:["blocks","filter","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DirectiveStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],GeneratorExpression:["blocks","filter","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportExpression:["source"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],ModuleSpecifier:[],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},n={Break:a={},Skip:i={},Remove:s={}},l.prototype.replace=function(e){this.parent[this.key]=e},l.prototype.remove=function(){return Array.isArray(this.parent)?(this.parent.splice(this.key,1),!0):(this.replace(null),!1)},f.prototype.path=function(){var e,t,r,n,o;function a(e,t){if(Array.isArray(t))for(r=0,n=t.length;r=0;)if(v=s[f=x[d]])if(Array.isArray(v)){for(m=v.length;(m-=1)>=0;)if(v[m]&&!y(n,v[m])){if(h(u,x[d]))o=new c(v[m],[f,m],"Property",null);else{if(!p(v[m]))continue;o=new c(v[m],[f,m],null,null)}r.push(o)}}else if(p(v)){if(y(n,v))continue;r.push(new c(v,f,null,null))}}}else if(o=n.pop(),l=this.__execute(t.leave,o),this.__state===a||l===a)return},f.prototype.replace=function(e,t){var r,n,o,u,f,y,d,m,x,v,g,A,E;function b(e){var t,n,o,a;if(e.ref.remove())for(n=e.ref.key,a=e.ref.parent,t=r.length;t--;)if((o=r[t]).ref&&o.ref.parent===a){if(o.ref.key=0;)if(v=o[E=x[d]])if(Array.isArray(v)){for(m=v.length;(m-=1)>=0;)if(v[m]){if(h(u,x[d]))y=new c(v[m],[E,m],"Property",new l(v,m));else{if(!p(v[m]))continue;y=new c(v[m],[E,m],null,new l(v,m))}r.push(y)}}else p(v)&&r.push(new c(v,E,null,new l(o,E)))}}else if(y=n.pop(),void 0!==(f=this.__execute(t.leave,y))&&f!==a&&f!==i&&f!==s&&y.ref.replace(f),this.__state!==s&&f!==s||b(y),this.__state===a||f===a)return A.root;return A.root},t.Syntax=r,t.traverse=d,t.replace=function(e,t){return(new f).replace(e,t)},t.attachComments=function(e,t,r){var o,a,i,s,l=[];if(!e.range)throw new Error("attachComments needs range information");if(!r.length){if(t.length){for(i=0,a=t.length;ie.range[0]);)t.extendedRange[1]===e.range[0]?(e.leadingComments||(e.leadingComments=[]),e.leadingComments.push(t),l.splice(s,1)):s+=1;return s===l.length?n.Break:l[s].extendedRange[0]>e.range[1]?n.Skip:void 0}}),s=0,d(e,{leave:function(e){for(var t;se.range[1]?n.Skip:void 0}}),e},t.VisitorKeys=o,t.VisitorOption=n,t.Controller=f,t.cloneEnvironment=function(){return e({})},t}(t)})),s=a((function(e){e.exports&&(e.exports=function(){function e(t,r,n,o){this.message=t,this.expected=r,this.found=n,this.location=o,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,e)}return function(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}(e,Error),e.buildMessage=function(e,t){var r={literal:function(e){return'"'+o(e.text)+'"'},class:function(e){var t,r="";for(t=0;t0){for(t=1,n=1;t<~+.]/,p=fe([" ","[","]",",","(",")",":","#","!","=",">","<","~","+","."],!0,!1),h=ce(">",!1),y=ce("~",!1),d=ce("+",!1),m=ce(",",!1),x=ce("!",!1),v=ce("*",!1),g=ce("#",!1),A=ce("[",!1),E=ce("]",!1),b=/^[>","<","!"],!1,!1),_=ce("=",!1),C=function(e){return(e||"")+"="},w=/^[><]/,P=fe([">","<"],!1,!1),k=ce(".",!1),D=function(e,t,r){return{type:"attribute",name:e,operator:t,value:r}},I=ce('"',!1),j=/^[^\\"]/,T=fe(["\\",'"'],!0,!1),F=ce("\\",!1),R={type:"any"},O=function(e,t){return e+t},L=function(e){return{type:"literal",value:(t=e.join(""),t.replace(/\\(.)/g,(function(e,t){switch(t){case"b":return"\b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return"\t";case"v":return"\v";default:return t}})))};var t},M=ce("'",!1),B=/^[^\\']/,U=fe(["\\","'"],!0,!1),K=/^[0-9]/,W=fe([["0","9"]],!1,!1),q=ce("type(",!1),V=/^[^ )]/,N=fe([" ",")"],!0,!1),G=ce(")",!1),z=/^[imsu]/,H=fe(["i","m","s","u"],!1,!1),Y=ce("/",!1),$=/^[^\/]/,J=fe(["/"],!0,!1),Q=ce(":not(",!1),X=ce(":matches(",!1),Z=ce(":has(",!1),ee=ce(":first-child",!1),te=ce(":last-child",!1),re=ce(":nth-child(",!1),ne=ce(":nth-last-child(",!1),oe=ce(":",!1),ae=0,ie=[{line:1,column:1}],se=0,ue=[],le={};if("startRule"in r){if(!(r.startRule in u))throw new Error("Can't start parsing from rule \""+r.startRule+'".');l=u[r.startRule]}function ce(e,t){return{type:"literal",text:e,ignoreCase:t}}function fe(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function pe(e){var r,n=ie[e];if(n)return n;for(r=e-1;!ie[r];)r--;for(n={line:(n=ie[r]).line,column:n.column};rse&&(se=ae,ue=[]),ue.push(e))}function de(){var e,t,r,n,o=30*ae+0,a=le[o];return a?(ae=a.nextPos,a.result):(e=ae,(t=me())!==s&&(r=ge())!==s&&me()!==s?e=t=1===(n=r).length?n[0]:{type:"matches",selectors:n}:(ae=e,e=s),e===s&&(e=ae,(t=me())!==s&&(t=void 0),e=t),le[o]={nextPos:ae,result:e},e)}function me(){var e,r,n=30*ae+1,o=le[n];if(o)return ae=o.nextPos,o.result;for(e=[],32===t.charCodeAt(ae)?(r=" ",ae++):(r=s,ye(c));r!==s;)e.push(r),32===t.charCodeAt(ae)?(r=" ",ae++):(r=s,ye(c));return le[n]={nextPos:ae,result:e},e}function xe(){var e,r,n,o=30*ae+2,a=le[o];if(a)return ae=a.nextPos,a.result;if(r=[],f.test(t.charAt(ae))?(n=t.charAt(ae),ae++):(n=s,ye(p)),n!==s)for(;n!==s;)r.push(n),f.test(t.charAt(ae))?(n=t.charAt(ae),ae++):(n=s,ye(p));else r=s;return r!==s&&(r=r.join("")),e=r,le[o]={nextPos:ae,result:e},e}function ve(){var e,r,n,o=30*ae+3,a=le[o];return a?(ae=a.nextPos,a.result):(e=ae,(r=me())!==s?(62===t.charCodeAt(ae)?(n=">",ae++):(n=s,ye(h)),n!==s&&me()!==s?e=r="child":(ae=e,e=s)):(ae=e,e=s),e===s&&(e=ae,(r=me())!==s?(126===t.charCodeAt(ae)?(n="~",ae++):(n=s,ye(y)),n!==s&&me()!==s?e=r="sibling":(ae=e,e=s)):(ae=e,e=s),e===s&&(e=ae,(r=me())!==s?(43===t.charCodeAt(ae)?(n="+",ae++):(n=s,ye(d)),n!==s&&me()!==s?e=r="adjacent":(ae=e,e=s)):(ae=e,e=s),e===s&&(e=ae,32===t.charCodeAt(ae)?(r=" ",ae++):(r=s,ye(c)),r!==s&&(n=me())!==s?e=r="descendant":(ae=e,e=s)))),le[o]={nextPos:ae,result:e},e)}function ge(){var e,r,n,o,a,i,u,l,c=30*ae+4,f=le[c];if(f)return ae=f.nextPos,f.result;if(e=ae,(r=Ae())!==s){for(n=[],o=ae,(a=me())!==s?(44===t.charCodeAt(ae)?(i=",",ae++):(i=s,ye(m)),i!==s&&(u=me())!==s&&(l=Ae())!==s?o=a=[a,i,u,l]:(ae=o,o=s)):(ae=o,o=s);o!==s;)n.push(o),o=ae,(a=me())!==s?(44===t.charCodeAt(ae)?(i=",",ae++):(i=s,ye(m)),i!==s&&(u=me())!==s&&(l=Ae())!==s?o=a=[a,i,u,l]:(ae=o,o=s)):(ae=o,o=s);n!==s?e=r=[r].concat(n.map((function(e){return e[3]}))):(ae=e,e=s)}else ae=e,e=s;return le[c]={nextPos:ae,result:e},e}function Ae(){var e,t,r,n,o,a,i,u=30*ae+5,l=le[u];if(l)return ae=l.nextPos,l.result;if(e=ae,(t=Ee())!==s){for(r=[],n=ae,(o=ve())!==s&&(a=Ee())!==s?n=o=[o,a]:(ae=n,n=s);n!==s;)r.push(n),n=ae,(o=ve())!==s&&(a=Ee())!==s?n=o=[o,a]:(ae=n,n=s);r!==s?(i=t,e=t=r.reduce((function(e,t){return{type:t[0],left:e,right:t[1]}}),i)):(ae=e,e=s)}else ae=e,e=s;return le[u]={nextPos:ae,result:e},e}function Ee(){var e,r,n,o,a,i,u,l=30*ae+6,c=le[l];if(c)return ae=c.nextPos,c.result;if(e=ae,33===t.charCodeAt(ae)?(r="!",ae++):(r=s,ye(x)),r===s&&(r=null),r!==s){if(n=[],(o=be())!==s)for(;o!==s;)n.push(o),o=be();else n=s;n!==s?(a=r,u=1===(i=n).length?i[0]:{type:"compound",selectors:i},a&&(u.subject=!0),e=r=u):(ae=e,e=s)}else ae=e,e=s;return le[l]={nextPos:ae,result:e},e}function be(){var e,r=30*ae+7,n=le[r];return n?(ae=n.nextPos,n.result):((e=function(){var e,r,n=30*ae+8,o=le[n];return o?(ae=o.nextPos,o.result):(42===t.charCodeAt(ae)?(r="*",ae++):(r=s,ye(v)),r!==s&&(r={type:"wildcard",value:r}),e=r,le[n]={nextPos:ae,result:e},e)}())===s&&(e=function(){var e,r,n,o=30*ae+9,a=le[o];return a?(ae=a.nextPos,a.result):(e=ae,35===t.charCodeAt(ae)?(r="#",ae++):(r=s,ye(g)),r===s&&(r=null),r!==s&&(n=xe())!==s?e=r={type:"identifier",value:n}:(ae=e,e=s),le[o]={nextPos:ae,result:e},e)}())===s&&(e=function(){var e,r,n,o,a=30*ae+10,i=le[a];return i?(ae=i.nextPos,i.result):(e=ae,91===t.charCodeAt(ae)?(r="[",ae++):(r=s,ye(A)),r!==s&&me()!==s&&(n=function(){var e,r,n,o,a=30*ae+14,i=le[a];return i?(ae=i.nextPos,i.result):(e=ae,(r=Se())!==s&&me()!==s&&(n=function(){var e,r,n,o=30*ae+12,a=le[o];return a?(ae=a.nextPos,a.result):(e=ae,33===t.charCodeAt(ae)?(r="!",ae++):(r=s,ye(x)),r===s&&(r=null),r!==s?(61===t.charCodeAt(ae)?(n="=",ae++):(n=s,ye(_)),n!==s?(r=C(r),e=r):(ae=e,e=s)):(ae=e,e=s),le[o]={nextPos:ae,result:e},e)}())!==s&&me()!==s?((o=function(){var e,r,n,o,a,i=30*ae+18,u=le[i];if(u)return ae=u.nextPos,u.result;if(e=ae,"type("===t.substr(ae,5)?(r="type(",ae+=5):(r=s,ye(q)),r!==s)if(me()!==s){if(n=[],V.test(t.charAt(ae))?(o=t.charAt(ae),ae++):(o=s,ye(N)),o!==s)for(;o!==s;)n.push(o),V.test(t.charAt(ae))?(o=t.charAt(ae),ae++):(o=s,ye(N));else n=s;n!==s&&(o=me())!==s?(41===t.charCodeAt(ae)?(a=")",ae++):(a=s,ye(G)),a!==s?(r={type:"type",value:n.join("")},e=r):(ae=e,e=s)):(ae=e,e=s)}else ae=e,e=s;else ae=e,e=s;return le[i]={nextPos:ae,result:e},e}())===s&&(o=function(){var e,r,n,o,a,i,u=30*ae+20,l=le[u];if(l)return ae=l.nextPos,l.result;if(e=ae,47===t.charCodeAt(ae)?(r="/",ae++):(r=s,ye(Y)),r!==s){if(n=[],$.test(t.charAt(ae))?(o=t.charAt(ae),ae++):(o=s,ye(J)),o!==s)for(;o!==s;)n.push(o),$.test(t.charAt(ae))?(o=t.charAt(ae),ae++):(o=s,ye(J));else n=s;n!==s?(47===t.charCodeAt(ae)?(o="/",ae++):(o=s,ye(Y)),o!==s?((a=function(){var e,r,n=30*ae+19,o=le[n];if(o)return ae=o.nextPos,o.result;if(e=[],z.test(t.charAt(ae))?(r=t.charAt(ae),ae++):(r=s,ye(H)),r!==s)for(;r!==s;)e.push(r),z.test(t.charAt(ae))?(r=t.charAt(ae),ae++):(r=s,ye(H));else e=s;return le[n]={nextPos:ae,result:e},e}())===s&&(a=null),a!==s?(i=a,r={type:"regexp",value:new RegExp(n.join(""),i?i.join(""):"")},e=r):(ae=e,e=s)):(ae=e,e=s)):(ae=e,e=s)}else ae=e,e=s;return le[u]={nextPos:ae,result:e},e}()),o!==s?(r=D(r,n,o),e=r):(ae=e,e=s)):(ae=e,e=s),e===s&&(e=ae,(r=Se())!==s&&me()!==s&&(n=function(){var e,r,n,o=30*ae+11,a=le[o];return a?(ae=a.nextPos,a.result):(e=ae,b.test(t.charAt(ae))?(r=t.charAt(ae),ae++):(r=s,ye(S)),r===s&&(r=null),r!==s?(61===t.charCodeAt(ae)?(n="=",ae++):(n=s,ye(_)),n!==s?(r=C(r),e=r):(ae=e,e=s)):(ae=e,e=s),e===s&&(w.test(t.charAt(ae))?(e=t.charAt(ae),ae++):(e=s,ye(P))),le[o]={nextPos:ae,result:e},e)}())!==s&&me()!==s?((o=function(){var e,r,n,o,a,i,u=30*ae+15,l=le[u];if(l)return ae=l.nextPos,l.result;if(e=ae,34===t.charCodeAt(ae)?(r='"',ae++):(r=s,ye(I)),r!==s){for(n=[],j.test(t.charAt(ae))?(o=t.charAt(ae),ae++):(o=s,ye(T)),o===s&&(o=ae,92===t.charCodeAt(ae)?(a="\\",ae++):(a=s,ye(F)),a!==s?(t.length>ae?(i=t.charAt(ae),ae++):(i=s,ye(R)),i!==s?(a=O(a,i),o=a):(ae=o,o=s)):(ae=o,o=s));o!==s;)n.push(o),j.test(t.charAt(ae))?(o=t.charAt(ae),ae++):(o=s,ye(T)),o===s&&(o=ae,92===t.charCodeAt(ae)?(a="\\",ae++):(a=s,ye(F)),a!==s?(t.length>ae?(i=t.charAt(ae),ae++):(i=s,ye(R)),i!==s?(a=O(a,i),o=a):(ae=o,o=s)):(ae=o,o=s));n!==s?(34===t.charCodeAt(ae)?(o='"',ae++):(o=s,ye(I)),o!==s?(r=L(n),e=r):(ae=e,e=s)):(ae=e,e=s)}else ae=e,e=s;if(e===s)if(e=ae,39===t.charCodeAt(ae)?(r="'",ae++):(r=s,ye(M)),r!==s){for(n=[],B.test(t.charAt(ae))?(o=t.charAt(ae),ae++):(o=s,ye(U)),o===s&&(o=ae,92===t.charCodeAt(ae)?(a="\\",ae++):(a=s,ye(F)),a!==s?(t.length>ae?(i=t.charAt(ae),ae++):(i=s,ye(R)),i!==s?(a=O(a,i),o=a):(ae=o,o=s)):(ae=o,o=s));o!==s;)n.push(o),B.test(t.charAt(ae))?(o=t.charAt(ae),ae++):(o=s,ye(U)),o===s&&(o=ae,92===t.charCodeAt(ae)?(a="\\",ae++):(a=s,ye(F)),a!==s?(t.length>ae?(i=t.charAt(ae),ae++):(i=s,ye(R)),i!==s?(a=O(a,i),o=a):(ae=o,o=s)):(ae=o,o=s));n!==s?(39===t.charCodeAt(ae)?(o="'",ae++):(o=s,ye(M)),o!==s?(r=L(n),e=r):(ae=e,e=s)):(ae=e,e=s)}else ae=e,e=s;return le[u]={nextPos:ae,result:e},e}())===s&&(o=function(){var e,r,n,o,a,i,u,l=30*ae+16,c=le[l];if(c)return ae=c.nextPos,c.result;for(e=ae,r=ae,n=[],K.test(t.charAt(ae))?(o=t.charAt(ae),ae++):(o=s,ye(W));o!==s;)n.push(o),K.test(t.charAt(ae))?(o=t.charAt(ae),ae++):(o=s,ye(W));if(n!==s?(46===t.charCodeAt(ae)?(o=".",ae++):(o=s,ye(k)),o!==s?r=n=[n,o]:(ae=r,r=s)):(ae=r,r=s),r===s&&(r=null),r!==s){if(n=[],K.test(t.charAt(ae))?(o=t.charAt(ae),ae++):(o=s,ye(W)),o!==s)for(;o!==s;)n.push(o),K.test(t.charAt(ae))?(o=t.charAt(ae),ae++):(o=s,ye(W));else n=s;n!==s?(i=n,u=(a=r)?[].concat.apply([],a).join(""):"",r={type:"literal",value:parseFloat(u+i.join(""))},e=r):(ae=e,e=s)}else ae=e,e=s;return le[l]={nextPos:ae,result:e},e}())===s&&(o=function(){var e,t,r=30*ae+17,n=le[r];return n?(ae=n.nextPos,n.result):((t=xe())!==s&&(t={type:"literal",value:t}),e=t,le[r]={nextPos:ae,result:e},e)}()),o!==s?(r=D(r,n,o),e=r):(ae=e,e=s)):(ae=e,e=s),e===s&&(e=ae,(r=Se())!==s&&(r={type:"attribute",name:r}),e=r)),le[a]={nextPos:ae,result:e},e)}())!==s&&me()!==s?(93===t.charCodeAt(ae)?(o="]",ae++):(o=s,ye(E)),o!==s?e=r=n:(ae=e,e=s)):(ae=e,e=s),le[a]={nextPos:ae,result:e},e)}())===s&&(e=function(){var e,r,n,o,a,i,u,l,c=30*ae+21,f=le[c];if(f)return ae=f.nextPos,f.result;if(e=ae,46===t.charCodeAt(ae)?(r=".",ae++):(r=s,ye(k)),r!==s)if((n=xe())!==s){for(o=[],a=ae,46===t.charCodeAt(ae)?(i=".",ae++):(i=s,ye(k)),i!==s&&(u=xe())!==s?a=i=[i,u]:(ae=a,a=s);a!==s;)o.push(a),a=ae,46===t.charCodeAt(ae)?(i=".",ae++):(i=s,ye(k)),i!==s&&(u=xe())!==s?a=i=[i,u]:(ae=a,a=s);o!==s?(l=n,r={type:"field",name:o.reduce((function(e,t){return e+t[0]+t[1]}),l)},e=r):(ae=e,e=s)}else ae=e,e=s;else ae=e,e=s;return le[c]={nextPos:ae,result:e},e}())===s&&(e=function(){var e,r,n,o,a=30*ae+22,i=le[a];return i?(ae=i.nextPos,i.result):(e=ae,":not("===t.substr(ae,5)?(r=":not(",ae+=5):(r=s,ye(Q)),r!==s&&me()!==s&&(n=ge())!==s&&me()!==s?(41===t.charCodeAt(ae)?(o=")",ae++):(o=s,ye(G)),o!==s?e=r={type:"not",selectors:n}:(ae=e,e=s)):(ae=e,e=s),le[a]={nextPos:ae,result:e},e)}())===s&&(e=function(){var e,r,n,o,a=30*ae+23,i=le[a];return i?(ae=i.nextPos,i.result):(e=ae,":matches("===t.substr(ae,9)?(r=":matches(",ae+=9):(r=s,ye(X)),r!==s&&me()!==s&&(n=ge())!==s&&me()!==s?(41===t.charCodeAt(ae)?(o=")",ae++):(o=s,ye(G)),o!==s?e=r={type:"matches",selectors:n}:(ae=e,e=s)):(ae=e,e=s),le[a]={nextPos:ae,result:e},e)}())===s&&(e=function(){var e,r,n,o,a=30*ae+24,i=le[a];return i?(ae=i.nextPos,i.result):(e=ae,":has("===t.substr(ae,5)?(r=":has(",ae+=5):(r=s,ye(Z)),r!==s&&me()!==s&&(n=ge())!==s&&me()!==s?(41===t.charCodeAt(ae)?(o=")",ae++):(o=s,ye(G)),o!==s?e=r={type:"has",selectors:n}:(ae=e,e=s)):(ae=e,e=s),le[a]={nextPos:ae,result:e},e)}())===s&&(e=function(){var e,r,n=30*ae+25,o=le[n];return o?(ae=o.nextPos,o.result):(":first-child"===t.substr(ae,12)?(r=":first-child",ae+=12):(r=s,ye(ee)),r!==s&&(r=_e(1)),e=r,le[n]={nextPos:ae,result:e},e)}())===s&&(e=function(){var e,r,n=30*ae+26,o=le[n];return o?(ae=o.nextPos,o.result):(":last-child"===t.substr(ae,11)?(r=":last-child",ae+=11):(r=s,ye(te)),r!==s&&(r=Ce(1)),e=r,le[n]={nextPos:ae,result:e},e)}())===s&&(e=function(){var e,r,n,o,a,i=30*ae+27,u=le[i];if(u)return ae=u.nextPos,u.result;if(e=ae,":nth-child("===t.substr(ae,11)?(r=":nth-child(",ae+=11):(r=s,ye(re)),r!==s)if(me()!==s){if(n=[],K.test(t.charAt(ae))?(o=t.charAt(ae),ae++):(o=s,ye(W)),o!==s)for(;o!==s;)n.push(o),K.test(t.charAt(ae))?(o=t.charAt(ae),ae++):(o=s,ye(W));else n=s;n!==s&&(o=me())!==s?(41===t.charCodeAt(ae)?(a=")",ae++):(a=s,ye(G)),a!==s?(r=_e(parseInt(n.join(""),10)),e=r):(ae=e,e=s)):(ae=e,e=s)}else ae=e,e=s;else ae=e,e=s;return le[i]={nextPos:ae,result:e},e}())===s&&(e=function(){var e,r,n,o,a,i=30*ae+28,u=le[i];if(u)return ae=u.nextPos,u.result;if(e=ae,":nth-last-child("===t.substr(ae,16)?(r=":nth-last-child(",ae+=16):(r=s,ye(ne)),r!==s)if(me()!==s){if(n=[],K.test(t.charAt(ae))?(o=t.charAt(ae),ae++):(o=s,ye(W)),o!==s)for(;o!==s;)n.push(o),K.test(t.charAt(ae))?(o=t.charAt(ae),ae++):(o=s,ye(W));else n=s;n!==s&&(o=me())!==s?(41===t.charCodeAt(ae)?(a=")",ae++):(a=s,ye(G)),a!==s?(r=Ce(parseInt(n.join(""),10)),e=r):(ae=e,e=s)):(ae=e,e=s)}else ae=e,e=s;else ae=e,e=s;return le[i]={nextPos:ae,result:e},e}())===s&&(e=function(){var e,r,n,o=30*ae+29,a=le[o];return a?(ae=a.nextPos,a.result):(e=ae,58===t.charCodeAt(ae)?(r=":",ae++):(r=s,ye(oe)),r!==s&&(n=xe())!==s?e=r={type:"class",name:n}:(ae=e,e=s),le[o]={nextPos:ae,result:e},e)}()),le[r]={nextPos:ae,result:e},e)}function Se(){var e,r,n,o,a,i,u,l,c=30*ae+13,f=le[c];if(f)return ae=f.nextPos,f.result;if(e=ae,(r=xe())!==s){for(n=[],o=ae,46===t.charCodeAt(ae)?(a=".",ae++):(a=s,ye(k)),a!==s&&(i=xe())!==s?o=a=[a,i]:(ae=o,o=s);o!==s;)n.push(o),o=ae,46===t.charCodeAt(ae)?(a=".",ae++):(a=s,ye(k)),a!==s&&(i=xe())!==s?o=a=[a,i]:(ae=o,o=s);n!==s?(u=r,l=n,e=r=[].concat.apply([u],l).join("")):(ae=e,e=s)}else ae=e,e=s;return le[c]={nextPos:ae,result:e},e}function _e(e){return{type:"nth-child",index:{type:"literal",value:e}}}function Ce(e){return{type:"nth-last-child",index:{type:"literal",value:e}}}if((n=l())!==s&&ae===t.length)return n;throw n!==s&&ae0&&p(e,t,r))&&f(t[0],t.slice(1),r)};case"descendant":var h=c(t.left),x=c(t.right);return function(e,t,r){if(x(e,t,r))for(var n=0,o=t.length;n":return function(e){return u(e,v)>t.value.value};case">=":return function(e){return u(e,v)>=t.value.value}}throw new Error("Unknown operator: ".concat(t.operator));case"sibling":var E=c(t.left),b=c(t.right);return function(e,r,n){return b(e,r,n)&&y(e,E,r,"LEFT_SIDE",n)||t.left.subject&&E(e,r,n)&&y(e,b,r,"RIGHT_SIDE",n)};case"adjacent":var S=c(t.left),_=c(t.right);return function(e,r,n){return _(e,r,n)&&d(e,S,r,"LEFT_SIDE",n)||t.right.subject&&S(e,r,n)&&d(e,_,r,"RIGHT_SIDE",n)};case"nth-child":var C=t.index.value,w=c(t.right);return function(e,t,r){return w(e,t,r)&&m(e,t,C,r)};case"nth-last-child":var P=-t.index.value,k=c(t.right);return function(e,t,r){return k(e,t,r)&&m(e,t,P,r)};case"class":return function(e,r,n){if(n&&n.matchClass)return n.matchClass(t.name,e,r);if(n&&n.nodeTypeKey)return!1;switch(t.name.toLowerCase()){case"statement":if("Statement"===e.type.slice(-9))return!0;case"declaration":return"Declaration"===e.type.slice(-11);case"pattern":if("Pattern"===e.type.slice(-7))return!0;case"expression":return"Expression"===e.type.slice(-10)||"Literal"===e.type.slice(-7)||"Identifier"===e.type&&(0===r.length||"MetaProperty"!==r[0].type)||"MetaProperty"===e.type;case"function":return"FunctionDeclaration"===e.type||"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type}throw new Error("Unknown class name: ".concat(t.name))}}throw new Error("Unknown selector type: ".concat(t.type))}function p(e,t){var r=t&&t.nodeTypeKey||"type",n=e[r];return t&&t.visitorKeys&&t.visitorKeys[n]?t.visitorKeys[n]:i.VisitorKeys[n]?i.VisitorKeys[n]:t&&"function"==typeof t.fallback?t.fallback(e):Object.keys(e).filter((function(e){return e!==r}))}function h(t,r){var n=r&&r.nodeTypeKey||"type";return null!==t&&"object"===e(t)&&"string"==typeof t[n]}function y(e,r,n,o,a){var i=t(n,1)[0];if(!i)return!1;for(var s=p(i,a),u=0;u0&&h(l[c-1],a)&&r(l[c-1],n,a))return!0;if("RIGHT_SIDE"===o&&c=0&&l