made with requirebin
Created
March 18, 2015 07:26
-
-
Save kumavis/d85661338746b82c46ef to your computer and use it in GitHub Desktop.
requirebin sketch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var esquery = require('esquery') | |
var esprima = require('esprima') | |
var treeify = require('treeify').asTree | |
var src = 'var x = require("x"); var z = require("z")' | |
function go(selector){ | |
var ast = esprima.parse(src); | |
var selectorAst = esquery.parse(selector); | |
log(selectorAst) | |
var matches = esquery.match(ast, selectorAst); | |
return matches | |
} | |
var results = go('[type="CallExpression"]').map( extractDependencyName ) | |
log(results) | |
function extractDependencyName(node){ | |
return node.arguments[0].value | |
} | |
function log(output) { | |
alert( treeify(output, true) ) | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){(function(root,factory){"use strict";if(typeof define==="function"&&define.amd){define(["exports"],factory)}else if(typeof exports!=="undefined"){factory(exports)}else{factory(root.estraverse={})}})(this,function(exports){"use strict";var Syntax,isArray,VisitorOption,VisitorKeys,BREAK,SKIP;Syntax={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",ArrowFunctionExpression:"ArrowFunctionExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DebuggerStatement:"DebuggerStatement",DirectiveStatement:"DirectiveStatement",DoWhileStatement:"DoWhileStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"};function ignoreJSHintError(){}isArray=Array.isArray;if(!isArray){isArray=function isArray(array){return Object.prototype.toString.call(array)==="[object Array]"}}function deepCopy(obj){var ret={},key,val;for(key in obj){if(obj.hasOwnProperty(key)){val=obj[key];if(typeof val==="object"&&val!==null){ret[key]=deepCopy(val)}else{ret[key]=val}}}return ret}function shallowCopy(obj){var ret={},key;for(key in obj){if(obj.hasOwnProperty(key)){ret[key]=obj[key]}}return ret}ignoreJSHintError(shallowCopy);function upperBound(array,func){var diff,len,i,current;len=array.length;i=0;while(len){diff=len>>>1;current=i+diff;if(func(array[current])){len=diff}else{i=current+1;len-=diff+1}}return i}function lowerBound(array,func){var diff,len,i,current;len=array.length;i=0;while(len){diff=len>>>1;current=i+diff;if(func(array[current])){i=current+1;len-=diff+1}else{len=diff}}return i}ignoreJSHintError(lowerBound);VisitorKeys={AssignmentExpression:["left","right"],ArrayExpression:["elements"],ArrowFunctionExpression:["params","body"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ClassBody:["body"],ClassDeclaration:["id","body","superClass"],ClassExpression:["id","body","superClass"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DirectiveStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExpressionStatement:["expression"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],Identifier:[],IfStatement:["test","consequent","alternate"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],Program:["body"],Property:["key","value"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handlers","handler","guardedHandlers","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]};BREAK={};SKIP={};VisitorOption={Break:BREAK,Skip:SKIP};function Reference(parent,key){this.parent=parent;this.key=key}Reference.prototype.replace=function replace(node){this.parent[this.key]=node};function Element(node,path,wrap,ref){this.node=node;this.path=path;this.wrap=wrap;this.ref=ref}function Controller(){}Controller.prototype.path=function path(){var i,iz,j,jz,result,element;function addToPath(result,path){if(isArray(path)){for(j=0,jz=path.length;j<jz;++j){result.push(path[j])}}else{result.push(path)}}if(!this.__current.path){return null}result=[];for(i=2,iz=this.__leavelist.length;i<iz;++i){element=this.__leavelist[i];addToPath(result,element.path)}addToPath(result,this.__current.path);return result};Controller.prototype.parents=function parents(){var i,iz,result;result=[];for(i=1,iz=this.__leavelist.length;i<iz;++i){result.push(this.__leavelist[i].node)}return result};Controller.prototype.current=function current(){return this.__current.node};Controller.prototype.__execute=function __execute(callback,element){var previous,result;result=undefined;previous=this.__current;this.__current=element;this.__state=null;if(callback){result=callback.call(this,element.node,this.__leavelist[this.__leavelist.length-1].node)}this.__current=previous;return result};Controller.prototype.notify=function notify(flag){this.__state=flag};Controller.prototype.skip=function(){this.notify(SKIP)};Controller.prototype["break"]=function(){this.notify(BREAK)};Controller.prototype.__initialize=function(root,visitor){this.visitor=visitor;this.root=root;this.__worklist=[];this.__leavelist=[];this.__current=null;this.__state=null};Controller.prototype.traverse=function traverse(root,visitor){var worklist,leavelist,element,node,nodeType,ret,key,current,current2,candidates,candidate,sentinel;this.__initialize(root,visitor);sentinel={};worklist=this.__worklist;leavelist=this.__leavelist;worklist.push(new Element(root,null,null,null));leavelist.push(new Element(null,null,null,null));while(worklist.length){element=worklist.pop();if(element===sentinel){element=leavelist.pop();ret=this.__execute(visitor.leave,element);if(this.__state===BREAK||ret===BREAK){return}continue}if(element.node){ret=this.__execute(visitor.enter,element);if(this.__state===BREAK||ret===BREAK){return}worklist.push(sentinel);leavelist.push(element);if(this.__state===SKIP||ret===SKIP){continue}node=element.node;nodeType=element.wrap||node.type;candidates=VisitorKeys[nodeType];current=candidates.length;while((current-=1)>=0){key=candidates[current];candidate=node[key];if(!candidate){continue}if(!isArray(candidate)){worklist.push(new Element(candidate,key,null,null));continue}current2=candidate.length;while((current2-=1)>=0){if(!candidate[current2]){continue}if(nodeType===Syntax.ObjectExpression&&"properties"===candidates[current]){element=new Element(candidate[current2],[key,current2],"Property",null)}else{element=new Element(candidate[current2],[key,current2],null,null)}worklist.push(element)}}}}};Controller.prototype.replace=function replace(root,visitor){var worklist,leavelist,node,nodeType,target,element,current,current2,candidates,candidate,sentinel,outer,key;this.__initialize(root,visitor);sentinel={};worklist=this.__worklist;leavelist=this.__leavelist;outer={root:root};element=new Element(root,null,null,new Reference(outer,"root"));worklist.push(element);leavelist.push(element);while(worklist.length){element=worklist.pop();if(element===sentinel){element=leavelist.pop();target=this.__execute(visitor.leave,element);if(target!==undefined&&target!==BREAK&&target!==SKIP){element.ref.replace(target)}if(this.__state===BREAK||target===BREAK){return outer.root}continue}target=this.__execute(visitor.enter,element);if(target!==undefined&&target!==BREAK&&target!==SKIP){element.ref.replace(target);element.node=target}if(this.__state===BREAK||target===BREAK){return outer.root}node=element.node;if(!node){continue}worklist.push(sentinel);leavelist.push(element);if(this.__state===SKIP||target===SKIP){continue}nodeType=element.wrap||node.type;candidates=VisitorKeys[nodeType];current=candidates.length;while((current-=1)>=0){key=candidates[current];candidate=node[key];if(!candidate){continue}if(!isArray(candidate)){worklist.push(new Element(candidate,key,null,new Reference(node,key)));continue}current2=candidate.length;while((current2-=1)>=0){if(!candidate[current2]){continue}if(nodeType===Syntax.ObjectExpression&&"properties"===candidates[current]){element=new Element(candidate[current2],[key,current2],"Property",new Reference(candidate,current2))}else{element=new Element(candidate[current2],[key,current2],null,new Reference(candidate,current2))}worklist.push(element)}}}return outer.root};function traverse(root,visitor){var controller=new Controller;return controller.traverse(root,visitor)}function replace(root,visitor){var controller=new Controller;return controller.replace(root,visitor)}function extendCommentRange(comment,tokens){var target;target=upperBound(tokens,function search(token){return token.range[0]>comment.range[0]});comment.extendedRange=[comment.range[0],comment.range[1]];if(target!==tokens.length){comment.extendedRange[1]=tokens[target].range[0]}target-=1;if(target>=0){comment.extendedRange[0]=tokens[target].range[1]}return comment}function attachComments(tree,providedComments,tokens){var comments=[],comment,len,i,cursor;if(!tree.range){throw new Error("attachComments needs range information")}if(!tokens.length){if(providedComments.length){for(i=0,len=providedComments.length;i<len;i+=1){comment=deepCopy(providedComments[i]);comment.extendedRange=[0,tree.range[0]];comments.push(comment)}tree.leadingComments=comments}return tree}for(i=0,len=providedComments.length;i<len;i+=1){comments.push(extendCommentRange(deepCopy(providedComments[i]),tokens))}cursor=0;traverse(tree,{enter:function(node){var comment;while(cursor<comments.length){comment=comments[cursor];if(comment.extendedRange[1]>node.range[0]){break}if(comment.extendedRange[1]===node.range[0]){if(!node.leadingComments){node.leadingComments=[]}node.leadingComments.push(comment);comments.splice(cursor,1)}else{cursor+=1}}if(cursor===comments.length){return VisitorOption.Break}if(comments[cursor].extendedRange[0]>node.range[1]){return VisitorOption.Skip}}});cursor=0;traverse(tree,{leave:function(node){var comment;while(cursor<comments.length){comment=comments[cursor];if(node.range[1]<comment.extendedRange[0]){break}if(node.range[1]===comment.extendedRange[0]){if(!node.trailingComments){node.trailingComments=[]}node.trailingComments.push(comment);comments.splice(cursor,1)}else{cursor+=1}}if(cursor===comments.length){return VisitorOption.Break}if(comments[cursor].extendedRange[0]>node.range[1]){return VisitorOption.Skip}}});return tree}exports.version="1.3.2";exports.Syntax=Syntax;exports.traverse=traverse;exports.replace=replace;exports.attachComments=attachComments;exports.VisitorKeys=VisitorKeys;exports.VisitorOption=VisitorOption;exports.Controller=Controller})},{}],2:[function(require,module,exports){var result=function(){function subclass(child,parent){function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor}function quote(s){return'"'+s.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var result={parse:function(input){var parseFunctions={start:parse_start};var options=arguments.length>1?arguments[1]:{},startRule;if(options.startRule!==undefined){startRule=options.startRule;if(parseFunctions[startRule]===undefined){throw new Error("Can't start parsing from rule "+quote(startRule)+".")}}else{startRule="start"}var pos=0;var reportedPos=0;var cachedReportedPos=0;var cachedReportedPosDetails={line:1,column:1,seenCR:false};var reportFailures=0;var rightmostFailuresPos=0;var rightmostFailuresExpected=[];var cache={};function padLeft(input,padding,length){var result=input;var padLength=length-input.length;for(var i=0;i<padLength;i++){result=padding+result}return result}function escape(ch){var charCode=ch.charCodeAt(0);var escapeChar;var length;if(charCode<=255){escapeChar="x";length=2}else{escapeChar="u";length=4}return"\\"+escapeChar+padLeft(charCode.toString(16).toUpperCase(),"0",length)}function computeReportedPosDetails(){function advanceCachedReportedPos(){var ch;for(;cachedReportedPos<reportedPos;cachedReportedPos++){ch=input.charAt(cachedReportedPos);if(ch==="\n"){if(!cachedReportedPosDetails.seenCR){cachedReportedPosDetails.line++}cachedReportedPosDetails.column=1;cachedReportedPosDetails.seenCR=false}else if(ch==="\r"||ch==="\u2028"||ch==="\u2029"){cachedReportedPosDetails.line++;cachedReportedPosDetails.column=1;cachedReportedPosDetails.seenCR=true}else{cachedReportedPosDetails.column++;cachedReportedPosDetails.seenCR=false}}}if(cachedReportedPos!==reportedPos){if(cachedReportedPos>reportedPos){cachedReportedPos=0;cachedReportedPosDetails={line:1,column:1,seenCR:false}}advanceCachedReportedPos()}return cachedReportedPosDetails}function text(){return input.substring(reportedPos,pos)}function offset(){return reportedPos}function line(){return computeReportedPosDetails().line}function column(){return computeReportedPosDetails().column}function matchFailed(failure){if(pos<rightmostFailuresPos){return}if(pos>rightmostFailuresPos){rightmostFailuresPos=pos;rightmostFailuresExpected=[]}rightmostFailuresExpected.push(failure)}function parse_start(){var cacheKey="start@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1;r1=pos;r0=parse_selectors();if(r0!==null){reportedPos=r1;r0=function(ss){return ss.length===1?ss[0]:{type:"matches",selectors:ss}}(r0)}if(r0===null){pos=r1}if(r0===null){r1=pos;r0="";if(r0!==null){reportedPos=r1;r0=function(){return void 0}()}if(r0===null){pos=r1}}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse__(){var cacheKey="_@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1;r0=[];if(input.charCodeAt(pos)===32){r1=" ";pos++}else{r1=null;if(reportFailures===0){matchFailed('" "')}}while(r1!==null){r0.push(r1);if(input.charCodeAt(pos)===32){r1=" ";pos++}else{r1=null;if(reportFailures===0){matchFailed('" "')}}}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_identifierName(){var cacheKey="identifierName@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2;r1=pos;if(/^[^ [\],():#!=><~+.]/.test(input.charAt(pos))){r2=input.charAt(pos);pos++}else{r2=null;if(reportFailures===0){matchFailed("[^ [\\],():#!=><~+.]")}}if(r2!==null){r0=[];while(r2!==null){r0.push(r2);if(/^[^ [\],():#!=><~+.]/.test(input.charAt(pos))){r2=input.charAt(pos);pos++}else{r2=null;if(reportFailures===0){matchFailed("[^ [\\],():#!=><~+.]")}}}}else{r0=null}if(r0!==null){reportedPos=r1;r0=function(i){return i.join("")}(r0)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_binaryOp(){var cacheKey="binaryOp@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4,r5;r1=pos;r2=pos;r3=parse__();if(r3!==null){if(input.charCodeAt(pos)===62){r4=">";pos++}else{r4=null;if(reportFailures===0){matchFailed('">"')}}if(r4!==null){r5=parse__();if(r5!==null){r0=[r3,r4,r5]}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(){return"child"}()}if(r0===null){pos=r1}if(r0===null){r1=pos;r2=pos;r3=parse__();if(r3!==null){if(input.charCodeAt(pos)===126){r4="~";pos++}else{r4=null;if(reportFailures===0){matchFailed('"~"')}}if(r4!==null){r5=parse__();if(r5!==null){r0=[r3,r4,r5]}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(){return"sibling"}()}if(r0===null){pos=r1}if(r0===null){r1=pos;r2=pos;r3=parse__();if(r3!==null){if(input.charCodeAt(pos)===43){r4="+";pos++}else{r4=null;if(reportFailures===0){matchFailed('"+"')}}if(r4!==null){r5=parse__();if(r5!==null){r0=[r3,r4,r5]}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(){return"adjacent"}()}if(r0===null){pos=r1}if(r0===null){r1=pos;r2=pos;if(input.charCodeAt(pos)===32){r3=" ";pos++}else{r3=null;if(reportFailures===0){matchFailed('" "')}}if(r3!==null){r4=parse__();if(r4!==null){r0=[r3,r4]}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(){return"descendant"}()}if(r0===null){pos=r1}}}}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_selectors(){var cacheKey="selectors@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10;r1=pos;r2=pos;r3=parse_selector();if(r3!==null){r4=[];r6=pos;r7=parse__();if(r7!==null){if(input.charCodeAt(pos)===44){r8=",";pos++}else{r8=null;if(reportFailures===0){matchFailed('","')}}if(r8!==null){r9=parse__();if(r9!==null){r10=parse_selector();if(r10!==null){r5=[r7,r8,r9,r10]}else{r5=null;pos=r6}}else{r5=null;pos=r6}}else{r5=null;pos=r6}}else{r5=null;pos=r6}while(r5!==null){r4.push(r5);r6=pos;r7=parse__();if(r7!==null){if(input.charCodeAt(pos)===44){r8=",";pos++}else{r8=null;if(reportFailures===0){matchFailed('","')}}if(r8!==null){r9=parse__();if(r9!==null){r10=parse_selector();if(r10!==null){r5=[r7,r8,r9,r10]}else{r5=null;pos=r6}}else{r5=null;pos=r6}}else{r5=null;pos=r6}}else{r5=null;pos=r6}}if(r4!==null){r0=[r3,r4]}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(s,ss){return[s].concat(ss.map(function(s){return s[3]}))}(r3,r4)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_selector(){var cacheKey="selector@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4,r5,r6,r7,r8;r1=pos;r2=pos;r3=parse_sequence();if(r3!==null){r4=[];r6=pos;r7=parse_binaryOp();if(r7!==null){r8=parse_sequence();if(r8!==null){r5=[r7,r8]}else{r5=null;pos=r6}}else{r5=null;pos=r6}while(r5!==null){r4.push(r5);r6=pos;r7=parse_binaryOp();if(r7!==null){r8=parse_sequence();if(r8!==null){r5=[r7,r8]}else{r5=null;pos=r6}}else{r5=null;pos=r6}}if(r4!==null){r0=[r3,r4]}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(a,ops){return ops.reduce(function(memo,rhs){return{type:rhs[0],left:memo,right:rhs[1]}},a)}(r3,r4)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_sequence(){var cacheKey="sequence@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4,r5,r6;r1=pos;r3=pos;r4=pos;r5=parse_atom();if(r5!==null){if(input.charCodeAt(pos)===33){r6="!";pos++}else{r6=null;if(reportFailures===0){matchFailed('"!"')}}r6=r6!==null?r6:"";if(r6!==null){r2=[r5,r6]}else{r2=null;pos=r4}}else{r2=null;pos=r4}if(r2!==null){reportedPos=r3;r2=function(a,s){if(s)a.subject=true;return a}(r5,r6)}if(r2===null){pos=r3}if(r2!==null){r0=[];while(r2!==null){r0.push(r2);r3=pos;r4=pos;r5=parse_atom();if(r5!==null){if(input.charCodeAt(pos)===33){r6="!";pos++}else{r6=null;if(reportFailures===0){matchFailed('"!"')}}r6=r6!==null?r6:"";if(r6!==null){r2=[r5,r6]}else{r2=null;pos=r4}}else{r2=null;pos=r4}if(r2!==null){reportedPos=r3;r2=function(a,s){if(s)a.subject=true;return a}(r5,r6)}if(r2===null){pos=r3}}}else{r0=null}if(r0!==null){reportedPos=r1;r0=function(bs){return bs.length===1?bs[0]:{type:"compound",selectors:bs}}(r0)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_atom(){var cacheKey="atom@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0;r0=parse_wildcard();if(r0===null){r0=parse_identifier();if(r0===null){r0=parse_attr();if(r0===null){r0=parse_field();if(r0===null){r0=parse_negation();if(r0===null){r0=parse_matches();if(r0===null){r0=parse_firstChild();if(r0===null){r0=parse_lastChild();if(r0===null){r0=parse_nthChild();if(r0===null){r0=parse_nthLastChild()}}}}}}}}}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_wildcard(){var cacheKey="wildcard@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1;r1=pos;if(input.charCodeAt(pos)===42){r0="*";pos++}else{r0=null;if(reportFailures===0){matchFailed('"*"')}}if(r0!==null){reportedPos=r1;r0=function(a){return{type:"wildcard",value:a}}(r0)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_identifier(){var cacheKey="identifier@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4;r1=pos;r2=pos;if(input.charCodeAt(pos)===35){r3="#";pos++}else{r3=null;if(reportFailures===0){matchFailed('"#"')}}r3=r3!==null?r3:"";if(r3!==null){r4=parse_identifierName();if(r4!==null){r0=[r3,r4]}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(i){return{type:"identifier",value:i.toLowerCase()}}(r4)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_attr(){var cacheKey="attr@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4,r5,r6,r7;r1=pos;r2=pos;if(input.charCodeAt(pos)===91){r3="[";pos++}else{r3=null;if(reportFailures===0){matchFailed('"["')}}if(r3!==null){r4=parse__();if(r4!==null){r5=parse_attrValue();if(r5!==null){r6=parse__();if(r6!==null){if(input.charCodeAt(pos)===93){r7="]";pos++}else{r7=null;if(reportFailures===0){matchFailed('"]"')}}if(r7!==null){r0=[r3,r4,r5,r6,r7]}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(v){return v}(r5)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_attrOps(){var cacheKey="attrOps@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4;r1=pos;r2=pos;if(/^[><!]/.test(input.charAt(pos))){r3=input.charAt(pos);pos++}else{r3=null;if(reportFailures===0){matchFailed("[><!]")}}r3=r3!==null?r3:"";if(r3!==null){if(input.charCodeAt(pos)===61){r4="=";pos++}else{r4=null;if(reportFailures===0){matchFailed('"="')}}if(r4!==null){r0=[r3,r4]}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(a){return a+"="}(r3)}if(r0===null){pos=r1}if(r0===null){if(/^[><]/.test(input.charAt(pos))){r0=input.charAt(pos);pos++}else{r0=null;if(reportFailures===0){matchFailed("[><]")}}}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_attrEqOps(){var cacheKey="attrEqOps@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4;r1=pos;r2=pos;if(input.charCodeAt(pos)===33){r3="!";pos++}else{r3=null;if(reportFailures===0){matchFailed('"!"')}}r3=r3!==null?r3:"";if(r3!==null){if(input.charCodeAt(pos)===61){r4="=";pos++}else{r4=null;if(reportFailures===0){matchFailed('"="')}}if(r4!==null){r0=[r3,r4]}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(a){return a+"="}(r3)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_attrName(){var cacheKey="attrName@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2;r1=pos;r2=parse_identifierName();if(r2===null){if(input.charCodeAt(pos)===46){r2=".";pos++}else{r2=null;if(reportFailures===0){matchFailed('"."')}}}if(r2!==null){r0=[];while(r2!==null){r0.push(r2);r2=parse_identifierName();if(r2===null){if(input.charCodeAt(pos)===46){r2=".";pos++}else{r2=null;if(reportFailures===0){matchFailed('"."')}}}}}else{r0=null}if(r0!==null){reportedPos=r1;r0=function(i){return i.join("")}(r0)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_attrValue(){var cacheKey="attrValue@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4,r5,r6,r7;r1=pos;r2=pos;r3=parse_attrName();if(r3!==null){r4=parse__();if(r4!==null){r5=parse_attrEqOps();if(r5!==null){r6=parse__();if(r6!==null){r7=parse_type();if(r7===null){r7=parse_regex()}if(r7!==null){r0=[r3,r4,r5,r6,r7]}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(name,op,value){return{type:"attribute",name:name,operator:op,value:value}}(r3,r5,r7)}if(r0===null){pos=r1}if(r0===null){r1=pos;r2=pos;r3=parse_attrName();if(r3!==null){r4=parse__();if(r4!==null){r5=parse_attrOps();if(r5!==null){r6=parse__();if(r6!==null){r7=parse_string();if(r7===null){r7=parse_number();if(r7===null){r7=parse_path()}}if(r7!==null){r0=[r3,r4,r5,r6,r7]}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(name,op,value){return{type:"attribute",name:name,operator:op,value:value}}(r3,r5,r7)}if(r0===null){pos=r1}if(r0===null){r1=pos;r0=parse_attrName();if(r0!==null){reportedPos=r1;r0=function(name){return{type:"attribute",name:name}}(r0)}if(r0===null){pos=r1}}}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_string(){var cacheKey="string@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4,r5,r6,r7,r8,r9;r1=pos;r2=pos;if(input.charCodeAt(pos)===34){r3='"';pos++}else{r3=null;if(reportFailures===0){matchFailed('"\\""')}}if(r3!==null){r4=[];if(/^[^\\"]/.test(input.charAt(pos))){r5=input.charAt(pos);pos++}else{r5=null;if(reportFailures===0){matchFailed('[^\\\\"]')}}if(r5===null){r6=pos;r7=pos;if(input.charCodeAt(pos)===92){r8="\\";pos++}else{r8=null;if(reportFailures===0){matchFailed('"\\\\"')}}if(r8!==null){if(input.length>pos){r9=input.charAt(pos);pos++}else{r9=null;if(reportFailures===0){matchFailed("any character")}}if(r9!==null){r5=[r8,r9]}else{r5=null;pos=r7}}else{r5=null;pos=r7}if(r5!==null){reportedPos=r6;r5=function(a,b){return a+b}(r8,r9)}if(r5===null){pos=r6}}while(r5!==null){r4.push(r5);if(/^[^\\"]/.test(input.charAt(pos))){r5=input.charAt(pos);pos++}else{r5=null;if(reportFailures===0){matchFailed('[^\\\\"]')}}if(r5===null){r6=pos;r7=pos;if(input.charCodeAt(pos)===92){r8="\\";pos++}else{r8=null;if(reportFailures===0){matchFailed('"\\\\"')}}if(r8!==null){if(input.length>pos){r9=input.charAt(pos);pos++}else{r9=null;if(reportFailures===0){matchFailed("any character")}}if(r9!==null){r5=[r8,r9]}else{r5=null;pos=r7}}else{r5=null;pos=r7}if(r5!==null){reportedPos=r6;r5=function(a,b){return a+b}(r8,r9)}if(r5===null){pos=r6}}}if(r4!==null){if(input.charCodeAt(pos)===34){r5='"';pos++}else{r5=null;if(reportFailures===0){matchFailed('"\\""')}}if(r5!==null){r0=[r3,r4,r5]}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(d){return{type:"literal",value:strUnescape(d.join(""))}}(r4)}if(r0===null){pos=r1}if(r0===null){r1=pos;r2=pos;if(input.charCodeAt(pos)===39){r3="'";pos++}else{r3=null;if(reportFailures===0){matchFailed('"\'"')}}if(r3!==null){r4=[];if(/^[^\\']/.test(input.charAt(pos))){r5=input.charAt(pos);pos++}else{r5=null;if(reportFailures===0){matchFailed("[^\\\\']")}}if(r5===null){r6=pos;r7=pos;if(input.charCodeAt(pos)===92){r8="\\";pos++}else{r8=null;if(reportFailures===0){matchFailed('"\\\\"')}}if(r8!==null){if(input.length>pos){r9=input.charAt(pos);pos++}else{r9=null;if(reportFailures===0){matchFailed("any character")}}if(r9!==null){r5=[r8,r9]}else{r5=null;pos=r7}}else{r5=null;pos=r7}if(r5!==null){reportedPos=r6;r5=function(a,b){return a+b}(r8,r9)}if(r5===null){pos=r6}}while(r5!==null){r4.push(r5);if(/^[^\\']/.test(input.charAt(pos))){r5=input.charAt(pos);pos++}else{r5=null;if(reportFailures===0){matchFailed("[^\\\\']")}}if(r5===null){r6=pos;r7=pos;if(input.charCodeAt(pos)===92){r8="\\";pos++}else{r8=null;if(reportFailures===0){matchFailed('"\\\\"')}}if(r8!==null){if(input.length>pos){r9=input.charAt(pos);pos++}else{r9=null;if(reportFailures===0){matchFailed("any character")}}if(r9!==null){r5=[r8,r9]}else{r5=null;pos=r7}}else{r5=null;pos=r7}if(r5!==null){reportedPos=r6;r5=function(a,b){return a+b}(r8,r9)}if(r5===null){pos=r6}}}if(r4!==null){if(input.charCodeAt(pos)===39){r5="'";pos++}else{r5=null;if(reportFailures===0){matchFailed('"\'"')}}if(r5!==null){r0=[r3,r4,r5]}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(d){return{type:"literal",value:strUnescape(d.join(""))}}(r4)}if(r0===null){pos=r1}}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_number(){var cacheKey="number@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4,r5,r6;r1=pos;r2=pos;r4=pos;r5=[];if(/^[0-9]/.test(input.charAt(pos))){r6=input.charAt(pos);pos++}else{r6=null;if(reportFailures===0){matchFailed("[0-9]")}}while(r6!==null){r5.push(r6);if(/^[0-9]/.test(input.charAt(pos))){r6=input.charAt(pos);pos++}else{r6=null;if(reportFailures===0){matchFailed("[0-9]")}}}if(r5!==null){if(input.charCodeAt(pos)===46){r6=".";pos++}else{r6=null;if(reportFailures===0){matchFailed('"."')}}if(r6!==null){r3=[r5,r6]}else{r3=null;pos=r4}}else{r3=null;pos=r4}r3=r3!==null?r3:"";if(r3!==null){if(/^[0-9]/.test(input.charAt(pos))){r5=input.charAt(pos);pos++}else{r5=null;if(reportFailures===0){matchFailed("[0-9]")}}if(r5!==null){r4=[];while(r5!==null){r4.push(r5);if(/^[0-9]/.test(input.charAt(pos))){r5=input.charAt(pos);pos++}else{r5=null;if(reportFailures===0){matchFailed("[0-9]")}}}}else{r4=null}if(r4!==null){r0=[r3,r4]}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(a,b){return{type:"literal",value:parseFloat((a?a.join(""):"")+b.join(""))}}(r3,r4)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_path(){var cacheKey="path@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1;r1=pos;r0=parse_identifierName();if(r0!==null){reportedPos=r1;r0=function(i){return{type:"literal",value:i}}(r0)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_type(){var cacheKey="type@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4,r5,r6,r7;r1=pos;r2=pos;if(input.substr(pos,5)==="type("){r3="type(";pos+=5}else{r3=null;if(reportFailures===0){matchFailed('"type("')}}if(r3!==null){r4=parse__();if(r4!==null){if(/^[^ )]/.test(input.charAt(pos))){r6=input.charAt(pos);pos++}else{r6=null;if(reportFailures===0){matchFailed("[^ )]")}}if(r6!==null){r5=[];while(r6!==null){r5.push(r6);if(/^[^ )]/.test(input.charAt(pos))){r6=input.charAt(pos);pos++}else{r6=null;if(reportFailures===0){matchFailed("[^ )]")}}}}else{r5=null}if(r5!==null){r6=parse__(); | |
if(r6!==null){if(input.charCodeAt(pos)===41){r7=")";pos++}else{r7=null;if(reportFailures===0){matchFailed('")"')}}if(r7!==null){r0=[r3,r4,r5,r6,r7]}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(t){return{type:"type",value:t.join("")}}(r5)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_regex(){var cacheKey="regex@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4,r5;r1=pos;r2=pos;if(input.charCodeAt(pos)===47){r3="/";pos++}else{r3=null;if(reportFailures===0){matchFailed('"/"')}}if(r3!==null){if(/^[^\/]/.test(input.charAt(pos))){r5=input.charAt(pos);pos++}else{r5=null;if(reportFailures===0){matchFailed("[^\\/]")}}if(r5!==null){r4=[];while(r5!==null){r4.push(r5);if(/^[^\/]/.test(input.charAt(pos))){r5=input.charAt(pos);pos++}else{r5=null;if(reportFailures===0){matchFailed("[^\\/]")}}}}else{r4=null}if(r4!==null){if(input.charCodeAt(pos)===47){r5="/";pos++}else{r5=null;if(reportFailures===0){matchFailed('"/"')}}if(r5!==null){r0=[r3,r4,r5]}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(d){return{type:"regexp",value:new RegExp(d.join(""))}}(r4)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_field(){var cacheKey="field@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4,r5,r6,r7,r8,r9;r1=pos;r2=pos;if(input.charCodeAt(pos)===46){r3=".";pos++}else{r3=null;if(reportFailures===0){matchFailed('"."')}}if(r3!==null){r4=parse_identifierName();if(r4!==null){r5=[];r7=pos;if(input.charCodeAt(pos)===46){r8=".";pos++}else{r8=null;if(reportFailures===0){matchFailed('"."')}}if(r8!==null){r9=parse_identifierName();if(r9!==null){r6=[r8,r9]}else{r6=null;pos=r7}}else{r6=null;pos=r7}while(r6!==null){r5.push(r6);r7=pos;if(input.charCodeAt(pos)===46){r8=".";pos++}else{r8=null;if(reportFailures===0){matchFailed('"."')}}if(r8!==null){r9=parse_identifierName();if(r9!==null){r6=[r8,r9]}else{r6=null;pos=r7}}else{r6=null;pos=r7}}if(r5!==null){r0=[r3,r4,r5]}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(i,is){return{type:"field",name:is.reduce(function(memo,p){return memo+p[0]+p[1]},i)}}(r4,r5)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_negation(){var cacheKey="negation@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4,r5,r6,r7;r1=pos;r2=pos;if(input.substr(pos,5)===":not("){r3=":not(";pos+=5}else{r3=null;if(reportFailures===0){matchFailed('":not("')}}if(r3!==null){r4=parse__();if(r4!==null){r5=parse_selectors();if(r5!==null){r6=parse__();if(r6!==null){if(input.charCodeAt(pos)===41){r7=")";pos++}else{r7=null;if(reportFailures===0){matchFailed('")"')}}if(r7!==null){r0=[r3,r4,r5,r6,r7]}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(ss){return{type:"not",selectors:ss}}(r5)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_matches(){var cacheKey="matches@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4,r5,r6,r7;r1=pos;r2=pos;if(input.substr(pos,9)===":matches("){r3=":matches(";pos+=9}else{r3=null;if(reportFailures===0){matchFailed('":matches("')}}if(r3!==null){r4=parse__();if(r4!==null){r5=parse_selectors();if(r5!==null){r6=parse__();if(r6!==null){if(input.charCodeAt(pos)===41){r7=")";pos++}else{r7=null;if(reportFailures===0){matchFailed('")"')}}if(r7!==null){r0=[r3,r4,r5,r6,r7]}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(ss){return{type:"matches",selectors:ss}}(r5)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_firstChild(){var cacheKey="firstChild@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1;r1=pos;if(input.substr(pos,12)===":first-child"){r0=":first-child";pos+=12}else{r0=null;if(reportFailures===0){matchFailed('":first-child"')}}if(r0!==null){reportedPos=r1;r0=function(){return nth(1)}()}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_lastChild(){var cacheKey="lastChild@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1;r1=pos;if(input.substr(pos,11)===":last-child"){r0=":last-child";pos+=11}else{r0=null;if(reportFailures===0){matchFailed('":last-child"')}}if(r0!==null){reportedPos=r1;r0=function(){return nthLast(1)}()}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_nthChild(){var cacheKey="nthChild@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4,r5,r6,r7;r1=pos;r2=pos;if(input.substr(pos,11)===":nth-child("){r3=":nth-child(";pos+=11}else{r3=null;if(reportFailures===0){matchFailed('":nth-child("')}}if(r3!==null){r4=parse__();if(r4!==null){if(/^[0-9]/.test(input.charAt(pos))){r6=input.charAt(pos);pos++}else{r6=null;if(reportFailures===0){matchFailed("[0-9]")}}if(r6!==null){r5=[];while(r6!==null){r5.push(r6);if(/^[0-9]/.test(input.charAt(pos))){r6=input.charAt(pos);pos++}else{r6=null;if(reportFailures===0){matchFailed("[0-9]")}}}}else{r5=null}if(r5!==null){r6=parse__();if(r6!==null){if(input.charCodeAt(pos)===41){r7=")";pos++}else{r7=null;if(reportFailures===0){matchFailed('")"')}}if(r7!==null){r0=[r3,r4,r5,r6,r7]}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(n){return nth(parseInt(n.join(""),10))}(r5)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function parse_nthLastChild(){var cacheKey="nthLastChild@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var r0,r1,r2,r3,r4,r5,r6,r7;r1=pos;r2=pos;if(input.substr(pos,16)===":nth-last-child("){r3=":nth-last-child(";pos+=16}else{r3=null;if(reportFailures===0){matchFailed('":nth-last-child("')}}if(r3!==null){r4=parse__();if(r4!==null){if(/^[0-9]/.test(input.charAt(pos))){r6=input.charAt(pos);pos++}else{r6=null;if(reportFailures===0){matchFailed("[0-9]")}}if(r6!==null){r5=[];while(r6!==null){r5.push(r6);if(/^[0-9]/.test(input.charAt(pos))){r6=input.charAt(pos);pos++}else{r6=null;if(reportFailures===0){matchFailed("[0-9]")}}}}else{r5=null}if(r5!==null){r6=parse__();if(r6!==null){if(input.charCodeAt(pos)===41){r7=")";pos++}else{r7=null;if(reportFailures===0){matchFailed('")"')}}if(r7!==null){r0=[r3,r4,r5,r6,r7]}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}}else{r0=null;pos=r2}if(r0!==null){reportedPos=r1;r0=function(n){return nthLast(parseInt(n.join(""),10))}(r5)}if(r0===null){pos=r1}cache[cacheKey]={nextPos:pos,result:r0};return r0}function cleanupExpected(expected){expected.sort();var lastExpected=null;var cleanExpected=[];for(var i=0;i<expected.length;i++){if(expected[i]!==lastExpected){cleanExpected.push(expected[i]);lastExpected=expected[i]}}return cleanExpected}function nth(n){return{type:"nth-child",index:{type:"literal",value:n}}}function nthLast(n){return{type:"nth-last-child",index:{type:"literal",value:n}}}function strUnescape(s){return s.replace(/\\(.)/g,function(match,ch){switch(ch){case"a":return"a";case"b":return"\b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return" ";case"v":return"";default:return ch}})}var result=parseFunctions[startRule]();if(result===null||pos!==input.length){reportedPos=Math.max(pos,rightmostFailuresPos);var found=reportedPos<input.length?input.charAt(reportedPos):null;var reportedPosDetails=computeReportedPosDetails();throw new this.SyntaxError(cleanupExpected(rightmostFailuresExpected),found,reportedPos,reportedPosDetails.line,reportedPosDetails.column)}return result}};result.SyntaxError=function(expected,found,offset,line,column){function buildMessage(expected,found){var expectedHumanized,foundHumanized;switch(expected.length){case 0:expectedHumanized="end of input";break;case 1:expectedHumanized=expected[0];break;default:expectedHumanized=expected.slice(0,expected.length-1).join(", ")+" or "+expected[expected.length-1]}foundHumanized=found?quote(found):"end of input";return"Expected "+expectedHumanized+" but "+foundHumanized+" found."}this.name="SyntaxError";this.expected=expected;this.found=found;this.message=buildMessage(expected,found);this.offset=offset;this.line=line;this.column=column};subclass(result.SyntaxError,Error);return result}();if(typeof define==="function"&&define.amd){define(function(){return result})}else if(typeof module!=="undefined"&&module.exports){module.exports=result}else{this.esquery=result}},{}],esquery:[function(require,module,exports){(function(){var estraverse=require("estraverse");var parser=require("./parser");var isArray=Array.isArray||function isArray(array){return{}.toString.call(array)==="[object Array]"};function esqueryModule(){function getPath(obj,key){var i,keys=key.split(".");for(i=0;i<keys.length;i++){if(obj==null){return obj}obj=obj[keys[i]]}return obj}function inPath(node,ancestor,path){var field,remainingPath,i;if(path.length===0){return node===ancestor}if(ancestor==null){return false}field=ancestor[path[0]];remainingPath=path.slice(1);if(isArray(field)){for(i=0,l=field.length;i<l;++i){if(inPath(node,field[i],remainingPath)){return true}}return false}else{return inPath(node,field,remainingPath)}}function matches(node,selector,ancestry){var path,ancestor,i,l,p;if(!selector){return true}if(!node){return false}if(!ancestry){ancestry=[]}switch(selector.type){case"wildcard":return true;case"identifier":return selector.value.toLowerCase()===node.type.toLowerCase();case"field":path=selector.name.split(".");ancestor=ancestry[path.length-1];return inPath(node,ancestor,path);case"matches":for(i=0,l=selector.selectors.length;i<l;++i){if(matches(node,selector.selectors[i],ancestry)){return true}}return false;case"compound":for(i=0,l=selector.selectors.length;i<l;++i){if(!matches(node,selector.selectors[i],ancestry)){return false}}return true;case"not":for(i=0,l=selector.selectors.length;i<l;++i){if(matches(node,selector.selectors[i],ancestry)){return false}}return true;case"child":if(matches(node,selector.right,ancestry)){return matches(ancestry[0],selector.left,ancestry.slice(1))}return false;case"descendant":if(matches(node,selector.right,ancestry)){for(i=0,l=ancestry.length;i<l;++i){if(matches(ancestry[i],selector.left,ancestry.slice(i+1))){return true}}}return false;case"attribute":p=getPath(node,selector.name);switch(selector.operator){case null:case void 0:return p!=null;case"=":switch(selector.value.type){case"regexp":return selector.value.value.test(p);case"literal":return selector.value.value===p;case"type":return selector.value.value===typeof p}case"!=":switch(selector.value.type){case"regexp":return!selector.value.value.test(p);case"literal":return selector.value.value!==p;case"type":return selector.value.value!==typeof p}case"<=":return p<=selector.value.value;case"<":return p<selector.value.value;case">":return p>selector.value.value;case">=":return p>=selector.value.value}case"sibling":return matches(node,selector.right,ancestry)&&sibling(node,selector.left,ancestry)||matches(node,selector.left,ancestry)&&sibling(node,selector.right,ancestry);case"adjacent":return matches(node,selector.right,ancestry)&&adjacent(node,selector.left,ancestry)||matches(node,selector.left,ancestry)&&adjacent(node,selector.right,ancestry);case"nth-child":return matches(node,selector.right,ancestry)&&nthChild(node,ancestry,function(length){return selector.index.value-1});case"nth-last-child":return matches(node,selector.right,ancestry)&&nthChild(node,ancestry,function(length){return length-selector.index.value})}throw new Error("Unknown selector type: "+selector.type)}function sibling(node,selector,ancestry){var parent=ancestry[0],listProp,keys,i,l,k,m;if(!parent){return false}keys=estraverse.VisitorKeys[parent.type];for(i=0,l=keys.length;i<l;++i){listProp=parent[keys[i]];if(isArray(listProp)){for(k=0,m=listProp.length;k<m;++k){if(listProp[k]!==node&&matches(listProp[k],selector,ancestry)){return true}}}}return false}function adjacent(node,selector,ancestry){var parent=ancestry[0],listProp,keys,i,l,idx;if(!parent){return false}keys=estraverse.VisitorKeys[parent.type];for(i=0,l=keys.length;i<l;++i){listProp=parent[keys[i]];if(isArray(listProp)){idx=listProp.indexOf(node);if(idx<0){continue}if(idx>0&&matches(listProp[idx-1],selector,ancestry)){return true}if(idx<listProp.length-1&&matches(listProp[idx+1],selector,ancestry)){return true}}}return false}function nthChild(node,ancestry,idxFn){var parent=ancestry[0],listProp,keys,i,l,idx;if(!parent){return false}keys=estraverse.VisitorKeys[parent.type];for(i=0,l=keys.length;i<l;++i){listProp=parent[keys[i]];if(isArray(listProp)){idx=listProp.indexOf(node);if(idx>=0&&idx===idxFn(listProp.length)){return true}}}return false}function subjects(selector,ancestor){var results,p;if(selector==null||typeof selector!="object"){return[]}if(ancestor==null){ancestor=selector}results=selector.subject?[ancestor]:[];for(p in selector){if(!{}.hasOwnProperty.call(selector,p)){continue}[].push.apply(results,subjects(selector[p],p==="left"?selector[p]:ancestor))}return results}function match(ast,selector){var ancestry=[],results=[],altSubjects,i,l,k,m;if(!selector){return results}altSubjects=subjects(selector);estraverse.traverse(ast,{enter:function(node,parent){if(parent!=null){ancestry.unshift(parent)}if(matches(node,selector,ancestry)){if(altSubjects.length){for(i=0,l=altSubjects.length;i<l;++i){if(matches(node,altSubjects[i],ancestry)){results.push(node)}for(k=0,m=ancestry.length;k<m;++k){if(matches(ancestry[k],altSubjects[i],ancestry.slice(k+1))){results.push(ancestry[k])}}}}else{results.push(node)}}},leave:function(){ancestry.shift()}});return results}function parse(selector){return parser.parse(selector)}function query(ast,selector){return match(ast,parse(selector))}query.parse=parse;query.match=match;query.matches=matches;return query.query=query}if(typeof define==="function"&&define.amd){define(esqueryModule)}else if(typeof module!=="undefined"&&module.exports){module.exports=esqueryModule()}else{this.esquery=esqueryModule()}})()},{"./parser":2,estraverse:1}]},{},[]);require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({esprima:[function(require,module,exports){(function(root,factory){"use strict";if(typeof define==="function"&&define.amd){define(["exports"],factory)}else if(typeof exports!=="undefined"){factory(exports)}else{factory(root.esprima={})}})(this,function(exports){"use strict";var Token,TokenName,FnExprTokens,Syntax,PlaceHolders,Messages,Regex,source,strict,index,lineNumber,lineStart,hasLineTerminator,lastIndex,lastLineNumber,lastLineStart,startIndex,startLineNumber,startLineStart,scanning,length,lookahead,state,extra;Token={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8,RegularExpression:9};TokenName={};TokenName[Token.BooleanLiteral]="Boolean";TokenName[Token.EOF]="<end>";TokenName[Token.Identifier]="Identifier";TokenName[Token.Keyword]="Keyword";TokenName[Token.NullLiteral]="Null";TokenName[Token.NumericLiteral]="Numeric";TokenName[Token.Punctuator]="Punctuator";TokenName[Token.StringLiteral]="String";TokenName[Token.RegularExpression]="RegularExpression";FnExprTokens=["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="];Syntax={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",ArrowFunctionExpression:"ArrowFunctionExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement"};PlaceHolders={ArrowParameterPlaceHolder:"ArrowParameterPlaceHolder"};Messages={UnexpectedToken:"Unexpected token %0",UnexpectedNumber:"Unexpected number",UnexpectedString:"Unexpected string",UnexpectedIdentifier:"Unexpected identifier",UnexpectedReserved:"Unexpected reserved word",UnexpectedEOS:"Unexpected end of input",NewlineAfterThrow:"Illegal newline after throw",InvalidRegExp:"Invalid regular expression",UnterminatedRegExp:"Invalid regular expression: missing /",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NoCatchOrFinally:"Missing catch or finally after try",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared",IllegalContinue:"Illegal continue statement",IllegalBreak:"Illegal break statement",IllegalReturn:"Illegal return statement",StrictModeWith:"Strict mode code may not include a with statement",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictReservedWord:"Use of future reserved word in strict mode",ParameterAfterRestParameter:"Rest parameter must be last formal parameter",DefaultRestParameter:"Unexpected token =",ObjectPatternAsRestParameter:"Unexpected token {",DuplicateProtoProperty:"Duplicate __proto__ fields are not allowed in object literals",ConstructorSpecialMethod:"Class constructor may not be an accessor",DuplicateConstructor:"A class may only have one constructor",StaticPrototype:"Classes may not have static property named prototype"};Regex={NonAsciiIdentifierStart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢲऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞭꞰꞱꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭟꭤꭥꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]"),NonAsciiIdentifierPart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԯԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ-࠭ࡀ-࡛ࢠ-ࢲࣤ-ॣ०-९ॱ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-ৱਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍ୖୗଡ଼ଢ଼ୟ-ୣ୦-୯ୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఀ-ఃఅ-ఌఎ-ఐఒ-నప-హఽ-ౄె-ైొ-్ౕౖౘౙౠ-ౣ౦-౯ಁ-ಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೞೠ-ೣ೦-೯ೱೲഁ-ഃഅ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൎൗൠ-ൣ൦-൯ൺ-ൿංඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟ෦-෯ෲෳก-ฺเ-๎๐-๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៓ៗៜ៝០-៩᠋-᠍᠐-᠙ᠠ-ᡷᢀ-ᢪᢰ-ᣵᤀ-ᤞᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧙ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧ᪰-᪽ᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽ᳐-᳔᳒-ᳶ᳸᳹ᴀ-᷵᷼-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‿⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙゚ゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-ꚝꚟ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞭꞰꞱꟷ-ꠧꡀ-ꡳꢀ-꣄꣐-꣙꣠-ꣷꣻ꤀-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꧠ-ꧾꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭟꭤꭥꯀ-ꯪ꯬꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ︀-️︠-︭︳︴﹍-﹏ﹰ-ﹴﹶ-ﻼ0-9A-Z_a-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]")};function assert(condition,message){if(!condition){throw new Error("ASSERT: "+message)}}function isDecimalDigit(ch){return ch>=48&&ch<=57}function isHexDigit(ch){return"0123456789abcdefABCDEF".indexOf(ch)>=0}function isOctalDigit(ch){return"01234567".indexOf(ch)>=0}function isWhiteSpace(ch){return ch===32||ch===9||ch===11||ch===12||ch===160||ch>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(ch)>=0}function isLineTerminator(ch){return ch===10||ch===13||ch===8232||ch===8233}function isIdentifierStart(ch){return ch===36||ch===95||ch>=65&&ch<=90||ch>=97&&ch<=122||ch===92||ch>=128&&Regex.NonAsciiIdentifierStart.test(String.fromCharCode(ch))}function isIdentifierPart(ch){return ch===36||ch===95||ch>=65&&ch<=90||ch>=97&&ch<=122||ch>=48&&ch<=57||ch===92||ch>=128&&Regex.NonAsciiIdentifierPart.test(String.fromCharCode(ch))}function isFutureReservedWord(id){switch(id){case"enum":case"export":case"import":case"super":return true;default:return false}}function isStrictModeReservedWord(id){switch(id){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return true;default:return false}}function isRestrictedWord(id){return id==="eval"||id==="arguments"}function isKeyword(id){if(strict&&isStrictModeReservedWord(id)){return true}switch(id.length){case 2:return id==="if"||id==="in"||id==="do";case 3:return id==="var"||id==="for"||id==="new"||id==="try"||id==="let";case 4:return id==="this"||id==="else"||id==="case"||id==="void"||id==="with"||id==="enum";case 5:return id==="while"||id==="break"||id==="catch"||id==="throw"||id==="const"||id==="yield"||id==="class"||id==="super";case 6:return id==="return"||id==="typeof"||id==="delete"||id==="switch"||id==="export"||id==="import";case 7:return id==="default"||id==="finally"||id==="extends";case 8:return id==="function"||id==="continue"||id==="debugger";case 10:return id==="instanceof";default:return false}}function addComment(type,value,start,end,loc){var comment;assert(typeof start==="number","Comment must have valid position");state.lastCommentStart=start;comment={type:type,value:value};if(extra.range){comment.range=[start,end]}if(extra.loc){comment.loc=loc}extra.comments.push(comment);if(extra.attachComment){extra.leadingComments.push(comment);extra.trailingComments.push(comment)}}function skipSingleLineComment(offset){var start,loc,ch,comment;start=index-offset;loc={start:{line:lineNumber,column:index-lineStart-offset}};while(index<length){ch=source.charCodeAt(index);++index;if(isLineTerminator(ch)){hasLineTerminator=true;if(extra.comments){comment=source.slice(start+offset,index-1);loc.end={line:lineNumber,column:index-lineStart-1};addComment("Line",comment,start,index-1,loc)}if(ch===13&&source.charCodeAt(index)===10){++index}++lineNumber;lineStart=index;return}}if(extra.comments){comment=source.slice(start+offset,index);loc.end={line:lineNumber,column:index-lineStart};addComment("Line",comment,start,index,loc)}}function skipMultiLineComment(){var start,loc,ch,comment;if(extra.comments){start=index-2;loc={start:{line:lineNumber,column:index-lineStart-2}}}while(index<length){ch=source.charCodeAt(index);if(isLineTerminator(ch)){if(ch===13&&source.charCodeAt(index+1)===10){++index}hasLineTerminator=true;++lineNumber;++index;lineStart=index}else if(ch===42){if(source.charCodeAt(index+1)===47){++index;++index;if(extra.comments){comment=source.slice(start+2,index-2);loc.end={line:lineNumber,column:index-lineStart};addComment("Block",comment,start,index,loc)}return}++index}else{++index}}if(extra.errors&&index>=length){if(extra.comments){loc.end={line:lineNumber,column:index-lineStart};comment=source.slice(start+2,index);addComment("Block",comment,start,index,loc)}tolerateUnexpectedToken()}else{throwUnexpectedToken()}}function skipComment(){var ch,start;hasLineTerminator=false;start=index===0;while(index<length){ch=source.charCodeAt(index);if(isWhiteSpace(ch)){++index}else if(isLineTerminator(ch)){hasLineTerminator=true;++index;if(ch===13&&source.charCodeAt(index)===10){++index}++lineNumber;lineStart=index;start=true}else if(ch===47){ch=source.charCodeAt(index+1);if(ch===47){++index;++index;skipSingleLineComment(2);start=true}else if(ch===42){++index;++index;skipMultiLineComment()}else{break}}else if(start&&ch===45){if(source.charCodeAt(index+1)===45&&source.charCodeAt(index+2)===62){index+=3;skipSingleLineComment(3)}else{break}}else if(ch===60){if(source.slice(index+1,index+4)==="!--"){++index;++index;++index;++index;skipSingleLineComment(4)}else{break}}else{break}}}function scanHexEscape(prefix){var i,len,ch,code=0;len=prefix==="u"?4:2;for(i=0;i<len;++i){if(index<length&&isHexDigit(source[index])){ch=source[index++];code=code*16+"0123456789abcdef".indexOf(ch.toLowerCase())}else{return""}}return String.fromCharCode(code)}function scanUnicodeCodePointEscape(){var ch,code,cu1,cu2;ch=source[index];code=0;if(ch==="}"){throwUnexpectedToken()}while(index<length){ch=source[index++];if(!isHexDigit(ch)){break}code=code*16+"0123456789abcdef".indexOf(ch.toLowerCase())}if(code>1114111||ch!=="}"){throwUnexpectedToken()}if(code<=65535){return String.fromCharCode(code)}cu1=(code-65536>>10)+55296;cu2=(code-65536&1023)+56320;return String.fromCharCode(cu1,cu2)}function getEscapedIdentifier(){var ch,id;ch=source.charCodeAt(index++);id=String.fromCharCode(ch);if(ch===92){if(source.charCodeAt(index)!==117){throwUnexpectedToken()}++index;ch=scanHexEscape("u");if(!ch||ch==="\\"||!isIdentifierStart(ch.charCodeAt(0))){throwUnexpectedToken()}id=ch}while(index<length){ch=source.charCodeAt(index);if(!isIdentifierPart(ch)){break}++index;id+=String.fromCharCode(ch);if(ch===92){id=id.substr(0,id.length-1);if(source.charCodeAt(index)!==117){throwUnexpectedToken()}++index;ch=scanHexEscape("u");if(!ch||ch==="\\"||!isIdentifierPart(ch.charCodeAt(0))){throwUnexpectedToken()}id+=ch}}return id}function getIdentifier(){var start,ch;start=index++;while(index<length){ch=source.charCodeAt(index);if(ch===92){index=start;return getEscapedIdentifier()}if(isIdentifierPart(ch)){++index}else{break}}return source.slice(start,index)}function scanIdentifier(){var start,id,type;start=index;id=source.charCodeAt(index)===92?getEscapedIdentifier():getIdentifier();if(id.length===1){type=Token.Identifier}else if(isKeyword(id)){type=Token.Keyword}else if(id==="null"){type=Token.NullLiteral}else if(id==="true"||id==="false"){type=Token.BooleanLiteral}else{type=Token.Identifier}return{type:type,value:id,lineNumber:lineNumber,lineStart:lineStart,start:start,end:index}}function scanPunctuator(){var token,str;token={type:Token.Punctuator,value:"",lineNumber:lineNumber,lineStart:lineStart,start:index,end:index};str=source[index];switch(str){case"(":if(extra.tokenize){extra.openParenToken=extra.tokens.length}++index;break;case"{":if(extra.tokenize){extra.openCurlyToken=extra.tokens.length}++index;break;case".":++index;if(source[index]==="."&&source[index+1]==="."){index+=2;str="..."}break;case")":case";":case",":case"}":case"[":case"]":case":":case"?":case"~":++index;break;default:str=source.substr(index,4);if(str===">>>="){index+=4}else{str=str.substr(0,3);if(str==="==="||str==="!=="||str===">>>"||str==="<<="||str===">>="){index+=3}else{str=str.substr(0,2);if(str==="&&"||str==="||"||str==="=="||str==="!="||str==="+="||str==="-="||str==="*="||str==="/="||str==="++"||str==="--"||str==="<<"||str===">>"||str==="&="||str==="|="||str==="^="||str==="%="||str==="<="||str===">="||str==="=>"){index+=2}else{str=source[index];if("<>=!+-*%&|^/".indexOf(str)>=0){++index}}}}}if(index===token.start){throwUnexpectedToken()}token.end=index;token.value=str;return token}function scanHexLiteral(start){var number="";while(index<length){if(!isHexDigit(source[index])){break}number+=source[index++]}if(number.length===0){throwUnexpectedToken()}if(isIdentifierStart(source.charCodeAt(index))){throwUnexpectedToken()}return{type:Token.NumericLiteral,value:parseInt("0x"+number,16),lineNumber:lineNumber,lineStart:lineStart,start:start,end:index}}function scanBinaryLiteral(start){var ch,number;number="";while(index<length){ch=source[index];if(ch!=="0"&&ch!=="1"){break}number+=source[index++]}if(number.length===0){throwUnexpectedToken()}if(index<length){ch=source.charCodeAt(index);if(isIdentifierStart(ch)||isDecimalDigit(ch)){throwUnexpectedToken()}}return{type:Token.NumericLiteral,value:parseInt(number,2),lineNumber:lineNumber,lineStart:lineStart,start:start,end:index}}function scanOctalLiteral(prefix,start){var number,octal;if(isOctalDigit(prefix)){octal=true;number="0"+source[index++]}else{octal=false;++index;number=""}while(index<length){if(!isOctalDigit(source[index])){break}number+=source[index++]}if(!octal&&number.length===0){throwUnexpectedToken()}if(isIdentifierStart(source.charCodeAt(index))||isDecimalDigit(source.charCodeAt(index))){throwUnexpectedToken()}return{type:Token.NumericLiteral,value:parseInt(number,8),octal:octal,lineNumber:lineNumber,lineStart:lineStart,start:start,end:index}}function isImplicitOctalLiteral(){var i,ch;for(i=index+1;i<length;++i){ch=source[i];if(ch==="8"||ch==="9"){return false}if(!isOctalDigit(ch)){return true}}return true}function scanNumericLiteral(){var number,start,ch;ch=source[index];assert(isDecimalDigit(ch.charCodeAt(0))||ch===".","Numeric literal must start with a decimal digit or a decimal point");start=index;number="";if(ch!=="."){number=source[index++];ch=source[index];if(number==="0"){ | |
if(ch==="x"||ch==="X"){++index;return scanHexLiteral(start)}if(ch==="b"||ch==="B"){++index;return scanBinaryLiteral(start)}if(ch==="o"||ch==="O"){return scanOctalLiteral(ch,start)}if(isOctalDigit(ch)){if(isImplicitOctalLiteral()){return scanOctalLiteral(ch,start)}}}while(isDecimalDigit(source.charCodeAt(index))){number+=source[index++]}ch=source[index]}if(ch==="."){number+=source[index++];while(isDecimalDigit(source.charCodeAt(index))){number+=source[index++]}ch=source[index]}if(ch==="e"||ch==="E"){number+=source[index++];ch=source[index];if(ch==="+"||ch==="-"){number+=source[index++]}if(isDecimalDigit(source.charCodeAt(index))){while(isDecimalDigit(source.charCodeAt(index))){number+=source[index++]}}else{throwUnexpectedToken()}}if(isIdentifierStart(source.charCodeAt(index))){throwUnexpectedToken()}return{type:Token.NumericLiteral,value:parseFloat(number),lineNumber:lineNumber,lineStart:lineStart,start:start,end:index}}function scanStringLiteral(){var str="",quote,start,ch,code,unescaped,restore,octal=false;quote=source[index];assert(quote==="'"||quote==='"',"String literal must starts with a quote");start=index;++index;while(index<length){ch=source[index++];if(ch===quote){quote="";break}else if(ch==="\\"){ch=source[index++];if(!ch||!isLineTerminator(ch.charCodeAt(0))){switch(ch){case"u":case"x":if(source[index]==="{"){++index;str+=scanUnicodeCodePointEscape()}else{restore=index;unescaped=scanHexEscape(ch);if(unescaped){str+=unescaped}else{index=restore;str+=ch}}break;case"n":str+="\n";break;case"r":str+="\r";break;case"t":str+=" ";break;case"b":str+="\b";break;case"f":str+="\f";break;case"v":str+="";break;default:if(isOctalDigit(ch)){code="01234567".indexOf(ch);if(code!==0){octal=true}if(index<length&&isOctalDigit(source[index])){octal=true;code=code*8+"01234567".indexOf(source[index++]);if("0123".indexOf(ch)>=0&&index<length&&isOctalDigit(source[index])){code=code*8+"01234567".indexOf(source[index++])}}str+=String.fromCharCode(code)}else{str+=ch}break}}else{++lineNumber;if(ch==="\r"&&source[index]==="\n"){++index}lineStart=index}}else if(isLineTerminator(ch.charCodeAt(0))){break}else{str+=ch}}if(quote!==""){throwUnexpectedToken()}return{type:Token.StringLiteral,value:str,octal:octal,lineNumber:startLineNumber,lineStart:startLineStart,start:start,end:index}}function testRegExp(pattern,flags){var tmp=pattern;if(flags.indexOf("u")>=0){tmp=tmp.replace(/\\u\{([0-9a-fA-F]+)\}/g,function($0,$1){if(parseInt($1,16)<=1114111){return"x"}throwUnexpectedToken(null,Messages.InvalidRegExp)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x")}try{RegExp(tmp)}catch(e){throwUnexpectedToken(null,Messages.InvalidRegExp)}try{return new RegExp(pattern,flags)}catch(exception){return null}}function scanRegExpBody(){var ch,str,classMarker,terminated,body;ch=source[index];assert(ch==="/","Regular expression literal must start with a slash");str=source[index++];classMarker=false;terminated=false;while(index<length){ch=source[index++];str+=ch;if(ch==="\\"){ch=source[index++];if(isLineTerminator(ch.charCodeAt(0))){throwUnexpectedToken(null,Messages.UnterminatedRegExp)}str+=ch}else if(isLineTerminator(ch.charCodeAt(0))){throwUnexpectedToken(null,Messages.UnterminatedRegExp)}else if(classMarker){if(ch==="]"){classMarker=false}}else{if(ch==="/"){terminated=true;break}else if(ch==="["){classMarker=true}}}if(!terminated){throwUnexpectedToken(null,Messages.UnterminatedRegExp)}body=str.substr(1,str.length-2);return{value:body,literal:str}}function scanRegExpFlags(){var ch,str,flags,restore;str="";flags="";while(index<length){ch=source[index];if(!isIdentifierPart(ch.charCodeAt(0))){break}++index;if(ch==="\\"&&index<length){ch=source[index];if(ch==="u"){++index;restore=index;ch=scanHexEscape("u");if(ch){flags+=ch;for(str+="\\u";restore<index;++restore){str+=source[restore]}}else{index=restore;flags+="u";str+="\\u"}tolerateUnexpectedToken()}else{str+="\\";tolerateUnexpectedToken()}}else{flags+=ch;str+=ch}}return{value:flags,literal:str}}function scanRegExp(){scanning=true;var start,body,flags,value;lookahead=null;skipComment();start=index;body=scanRegExpBody();flags=scanRegExpFlags();value=testRegExp(body.value,flags.value);scanning=false;if(extra.tokenize){return{type:Token.RegularExpression,value:value,regex:{pattern:body.value,flags:flags.value},lineNumber:lineNumber,lineStart:lineStart,start:start,end:index}}return{literal:body.literal+flags.literal,value:value,regex:{pattern:body.value,flags:flags.value},start:start,end:index}}function collectRegex(){var pos,loc,regex,token;skipComment();pos=index;loc={start:{line:lineNumber,column:index-lineStart}};regex=scanRegExp();loc.end={line:lineNumber,column:index-lineStart};if(!extra.tokenize){if(extra.tokens.length>0){token=extra.tokens[extra.tokens.length-1];if(token.range[0]===pos&&token.type==="Punctuator"){if(token.value==="/"||token.value==="/="){extra.tokens.pop()}}}extra.tokens.push({type:"RegularExpression",value:regex.literal,regex:regex.regex,range:[pos,index],loc:loc})}return regex}function isIdentifierName(token){return token.type===Token.Identifier||token.type===Token.Keyword||token.type===Token.BooleanLiteral||token.type===Token.NullLiteral}function advanceSlash(){var prevToken,checkToken;prevToken=extra.tokens[extra.tokens.length-1];if(!prevToken){return collectRegex()}if(prevToken.type==="Punctuator"){if(prevToken.value==="]"){return scanPunctuator()}if(prevToken.value===")"){checkToken=extra.tokens[extra.openParenToken-1];if(checkToken&&checkToken.type==="Keyword"&&(checkToken.value==="if"||checkToken.value==="while"||checkToken.value==="for"||checkToken.value==="with")){return collectRegex()}return scanPunctuator()}if(prevToken.value==="}"){if(extra.tokens[extra.openCurlyToken-3]&&extra.tokens[extra.openCurlyToken-3].type==="Keyword"){checkToken=extra.tokens[extra.openCurlyToken-4];if(!checkToken){return scanPunctuator()}}else if(extra.tokens[extra.openCurlyToken-4]&&extra.tokens[extra.openCurlyToken-4].type==="Keyword"){checkToken=extra.tokens[extra.openCurlyToken-5];if(!checkToken){return collectRegex()}}else{return scanPunctuator()}if(FnExprTokens.indexOf(checkToken.value)>=0){return scanPunctuator()}return collectRegex()}return collectRegex()}if(prevToken.type==="Keyword"&&prevToken.value!=="this"){return collectRegex()}return scanPunctuator()}function advance(){var ch;if(index>=length){return{type:Token.EOF,lineNumber:lineNumber,lineStart:lineStart,start:index,end:index}}ch=source.charCodeAt(index);if(isIdentifierStart(ch)){return scanIdentifier()}if(ch===40||ch===41||ch===59){return scanPunctuator()}if(ch===39||ch===34){return scanStringLiteral()}if(ch===46){if(isDecimalDigit(source.charCodeAt(index+1))){return scanNumericLiteral()}return scanPunctuator()}if(isDecimalDigit(ch)){return scanNumericLiteral()}if(extra.tokenize&&ch===47){return advanceSlash()}return scanPunctuator()}function collectToken(){var loc,token,value,entry;loc={start:{line:lineNumber,column:index-lineStart}};token=advance();loc.end={line:lineNumber,column:index-lineStart};if(token.type!==Token.EOF){value=source.slice(token.start,token.end);entry={type:TokenName[token.type],value:value,range:[token.start,token.end],loc:loc};if(token.regex){entry.regex={pattern:token.regex.pattern,flags:token.regex.flags}}extra.tokens.push(entry)}return token}function lex(){var token;scanning=true;lastIndex=index;lastLineNumber=lineNumber;lastLineStart=lineStart;skipComment();token=lookahead;startIndex=index;startLineNumber=lineNumber;startLineStart=lineStart;lookahead=typeof extra.tokens!=="undefined"?collectToken():advance();scanning=false;return token}function peek(){scanning=true;skipComment();lastIndex=index;lastLineNumber=lineNumber;lastLineStart=lineStart;startIndex=index;startLineNumber=lineNumber;startLineStart=lineStart;lookahead=typeof extra.tokens!=="undefined"?collectToken():advance();scanning=false}function Position(){this.line=startLineNumber;this.column=startIndex-startLineStart}function SourceLocation(){this.start=new Position;this.end=null}function WrappingSourceLocation(startToken){this.start={line:startToken.lineNumber,column:startToken.start-startToken.lineStart};this.end=null}function Node(){if(extra.range){this.range=[startIndex,0]}if(extra.loc){this.loc=new SourceLocation}}function WrappingNode(startToken){if(extra.range){this.range=[startToken.start,0]}if(extra.loc){this.loc=new WrappingSourceLocation(startToken)}}WrappingNode.prototype=Node.prototype={processComment:function(){var lastChild,leadingComments,trailingComments,bottomRight=extra.bottomRightStack,i,comment,last=bottomRight[bottomRight.length-1];if(this.type===Syntax.Program){if(this.body.length>0){return}}if(extra.trailingComments.length>0){trailingComments=[];for(i=extra.trailingComments.length-1;i>=0;--i){comment=extra.trailingComments[i];if(comment.range[0]>=this.range[1]){trailingComments.unshift(comment);extra.trailingComments.splice(i,1)}}extra.trailingComments=[]}else{if(last&&last.trailingComments&&last.trailingComments[0].range[0]>=this.range[1]){trailingComments=last.trailingComments;delete last.trailingComments}}if(last){while(last&&last.range[0]>=this.range[0]){lastChild=last;last=bottomRight.pop()}}if(lastChild){if(lastChild.leadingComments&&lastChild.leadingComments[lastChild.leadingComments.length-1].range[1]<=this.range[0]){this.leadingComments=lastChild.leadingComments;lastChild.leadingComments=undefined}}else if(extra.leadingComments.length>0){leadingComments=[];for(i=extra.leadingComments.length-1;i>=0;--i){comment=extra.leadingComments[i];if(comment.range[1]<=this.range[0]){leadingComments.unshift(comment);extra.leadingComments.splice(i,1)}}}if(leadingComments&&leadingComments.length>0){this.leadingComments=leadingComments}if(trailingComments&&trailingComments.length>0){this.trailingComments=trailingComments}bottomRight.push(this)},finish:function(){if(extra.range){this.range[1]=lastIndex}if(extra.loc){this.loc.end={line:lastLineNumber,column:lastIndex-lastLineStart};if(extra.source){this.loc.source=extra.source}}if(extra.attachComment){this.processComment()}},finishArrayExpression:function(elements){this.type=Syntax.ArrayExpression;this.elements=elements;this.finish();return this},finishArrowFunctionExpression:function(params,defaults,body,expression){this.type=Syntax.ArrowFunctionExpression;this.id=null;this.params=params;this.defaults=defaults;this.body=body;this.generator=false;this.expression=expression;this.finish();return this},finishAssignmentExpression:function(operator,left,right){this.type=Syntax.AssignmentExpression;this.operator=operator;this.left=left;this.right=right;this.finish();return this},finishBinaryExpression:function(operator,left,right){this.type=operator==="||"||operator==="&&"?Syntax.LogicalExpression:Syntax.BinaryExpression;this.operator=operator;this.left=left;this.right=right;this.finish();return this},finishBlockStatement:function(body){this.type=Syntax.BlockStatement;this.body=body;this.finish();return this},finishBreakStatement:function(label){this.type=Syntax.BreakStatement;this.label=label;this.finish();return this},finishCallExpression:function(callee,args){this.type=Syntax.CallExpression;this.callee=callee;this.arguments=args;this.finish();return this},finishCatchClause:function(param,body){this.type=Syntax.CatchClause;this.param=param;this.body=body;this.finish();return this},finishClassBody:function(body){this.type=Syntax.ClassBody;this.body=body;this.finish();return this},finishClassDeclaration:function(id,superClass,body){this.type=Syntax.ClassDeclaration;this.id=id;this.superClass=superClass;this.body=body;this.finish();return this},finishClassExpression:function(id,superClass,body){this.type=Syntax.ClassExpression;this.id=id;this.superClass=superClass;this.body=body;this.finish();return this},finishConditionalExpression:function(test,consequent,alternate){this.type=Syntax.ConditionalExpression;this.test=test;this.consequent=consequent;this.alternate=alternate;this.finish();return this},finishContinueStatement:function(label){this.type=Syntax.ContinueStatement;this.label=label;this.finish();return this},finishDebuggerStatement:function(){this.type=Syntax.DebuggerStatement;this.finish();return this},finishDoWhileStatement:function(body,test){this.type=Syntax.DoWhileStatement;this.body=body;this.test=test;this.finish();return this},finishEmptyStatement:function(){this.type=Syntax.EmptyStatement;this.finish();return this},finishExpressionStatement:function(expression){this.type=Syntax.ExpressionStatement;this.expression=expression;this.finish();return this},finishForStatement:function(init,test,update,body){this.type=Syntax.ForStatement;this.init=init;this.test=test;this.update=update;this.body=body;this.finish();return this},finishForInStatement:function(left,right,body){this.type=Syntax.ForInStatement;this.left=left;this.right=right;this.body=body;this.each=false;this.finish();return this},finishFunctionDeclaration:function(id,params,defaults,body){this.type=Syntax.FunctionDeclaration;this.id=id;this.params=params;this.defaults=defaults;this.body=body;this.generator=false;this.expression=false;this.finish();return this},finishFunctionExpression:function(id,params,defaults,body){this.type=Syntax.FunctionExpression;this.id=id;this.params=params;this.defaults=defaults;this.body=body;this.generator=false;this.expression=false;this.finish();return this},finishIdentifier:function(name){this.type=Syntax.Identifier;this.name=name;this.finish();return this},finishIfStatement:function(test,consequent,alternate){this.type=Syntax.IfStatement;this.test=test;this.consequent=consequent;this.alternate=alternate;this.finish();return this},finishLabeledStatement:function(label,body){this.type=Syntax.LabeledStatement;this.label=label;this.body=body;this.finish();return this},finishLiteral:function(token){this.type=Syntax.Literal;this.value=token.value;this.raw=source.slice(token.start,token.end);if(token.regex){this.regex=token.regex}this.finish();return this},finishMemberExpression:function(accessor,object,property){this.type=Syntax.MemberExpression;this.computed=accessor==="[";this.object=object;this.property=property;this.finish();return this},finishNewExpression:function(callee,args){this.type=Syntax.NewExpression;this.callee=callee;this.arguments=args;this.finish();return this},finishObjectExpression:function(properties){this.type=Syntax.ObjectExpression;this.properties=properties;this.finish();return this},finishPostfixExpression:function(operator,argument){this.type=Syntax.UpdateExpression;this.operator=operator;this.argument=argument;this.prefix=false;this.finish();return this},finishProgram:function(body){this.type=Syntax.Program;this.body=body;this.finish();return this},finishProperty:function(kind,key,computed,value,method,shorthand){this.type=Syntax.Property;this.key=key;this.computed=computed;this.value=value;this.kind=kind;this.method=method;this.shorthand=shorthand;this.finish();return this},finishRestElement:function(argument){this.type=Syntax.RestElement;this.argument=argument;this.finish();return this},finishReturnStatement:function(argument){this.type=Syntax.ReturnStatement;this.argument=argument;this.finish();return this},finishSequenceExpression:function(expressions){this.type=Syntax.SequenceExpression;this.expressions=expressions;this.finish();return this},finishSwitchCase:function(test,consequent){this.type=Syntax.SwitchCase;this.test=test;this.consequent=consequent;this.finish();return this},finishSwitchStatement:function(discriminant,cases){this.type=Syntax.SwitchStatement;this.discriminant=discriminant;this.cases=cases;this.finish();return this},finishThisExpression:function(){this.type=Syntax.ThisExpression;this.finish();return this},finishThrowStatement:function(argument){this.type=Syntax.ThrowStatement;this.argument=argument;this.finish();return this},finishTryStatement:function(block,handler,finalizer){this.type=Syntax.TryStatement;this.block=block;this.guardedHandlers=[];this.handlers=handler?[handler]:[];this.handler=handler;this.finalizer=finalizer;this.finish();return this},finishUnaryExpression:function(operator,argument){this.type=operator==="++"||operator==="--"?Syntax.UpdateExpression:Syntax.UnaryExpression;this.operator=operator;this.argument=argument;this.prefix=true;this.finish();return this},finishVariableDeclaration:function(declarations){this.type=Syntax.VariableDeclaration;this.declarations=declarations;this.kind="var";this.finish();return this},finishLexicalDeclaration:function(declarations,kind){this.type=Syntax.VariableDeclaration;this.declarations=declarations;this.kind=kind;this.finish();return this},finishVariableDeclarator:function(id,init){this.type=Syntax.VariableDeclarator;this.id=id;this.init=init;this.finish();return this},finishWhileStatement:function(test,body){this.type=Syntax.WhileStatement;this.test=test;this.body=body;this.finish();return this},finishWithStatement:function(object,body){this.type=Syntax.WithStatement;this.object=object;this.body=body;this.finish();return this}};function recordError(error){var e,existing;for(e=0;e<extra.errors.length;e++){existing=extra.errors[e];if(existing.index===error.index&&existing.message===error.message){return}}extra.errors.push(error)}function createError(line,pos,description){var error=new Error("Line "+line+": "+description);error.index=pos;error.lineNumber=line;error.column=pos-(scanning?lineStart:lastLineStart)+1;error.description=description;return error}function throwError(messageFormat){var args,msg;args=Array.prototype.slice.call(arguments,1);msg=messageFormat.replace(/%(\d)/g,function(whole,idx){assert(idx<args.length,"Message reference must be in range");return args[idx]});throw createError(lastLineNumber,lastIndex,msg)}function tolerateError(messageFormat){var args,msg,error;args=Array.prototype.slice.call(arguments,1);msg=messageFormat.replace(/%(\d)/g,function(whole,idx){assert(idx<args.length,"Message reference must be in range");return args[idx]});error=createError(lineNumber,lastIndex,msg);if(extra.errors){recordError(error)}else{throw error}}function unexpectedTokenError(token,message){var msg=message||Messages.UnexpectedToken;if(token&&!message){msg=token.type===Token.EOF?Messages.UnexpectedEOS:token.type===Token.Identifier?Messages.UnexpectedIdentifier:token.type===Token.NumericLiteral?Messages.UnexpectedNumber:token.type===Token.StringLiteral?Messages.UnexpectedString:Messages.UnexpectedToken;if(token.type===Token.Keyword){if(isFutureReservedWord(token.value)){msg=Messages.UnexpectedReserved}else if(strict&&isStrictModeReservedWord(token.value)){msg=Messages.StrictReservedWord}}}msg=msg.replace("%0",token?token.value:"ILLEGAL");return token&&typeof token.lineNumber==="number"?createError(token.lineNumber,token.start,msg):createError(scanning?lineNumber:lastLineNumber,scanning?index:lastIndex,msg)}function throwUnexpectedToken(token,message){throw unexpectedTokenError(token,message)}function tolerateUnexpectedToken(token,message){var error=unexpectedTokenError(token,message);if(extra.errors){recordError(error)}else{throw error}}function expect(value){var token=lex();if(token.type!==Token.Punctuator||token.value!==value){throwUnexpectedToken(token)}}function expectCommaSeparator(){var token;if(extra.errors){token=lookahead;if(token.type===Token.Punctuator&&token.value===","){lex()}else if(token.type===Token.Punctuator&&token.value===";"){lex();tolerateUnexpectedToken(token)}else{tolerateUnexpectedToken(token,Messages.UnexpectedToken)}}else{expect(",")}}function expectKeyword(keyword){var token=lex();if(token.type!==Token.Keyword||token.value!==keyword){throwUnexpectedToken(token)}}function match(value){return lookahead.type===Token.Punctuator&&lookahead.value===value}function matchKeyword(keyword){return lookahead.type===Token.Keyword&&lookahead.value===keyword}function matchAssign(){var op;if(lookahead.type!==Token.Punctuator){return false}op=lookahead.value;return op==="="||op==="*="||op==="/="||op==="%="||op==="+="||op==="-="||op==="<<="||op===">>="||op===">>>="||op==="&="||op==="^="||op==="|="}function consumeSemicolon(){if(source.charCodeAt(startIndex)===59||match(";")){lex();return}if(hasLineTerminator){return}lastIndex=startIndex;lastLineNumber=startLineNumber;lastLineStart=startLineStart;if(lookahead.type!==Token.EOF&&!match("}")){throwUnexpectedToken(lookahead)}}function isLeftHandSide(expr){return expr.type===Syntax.Identifier||expr.type===Syntax.MemberExpression}function parseArrayInitialiser(){var elements=[],node=new Node;expect("[");while(!match("]")){if(match(",")){lex();elements.push(null)}else{elements.push(parseAssignmentExpression());if(!match("]")){expect(",")}}}lex();return node.finishArrayExpression(elements)}function parsePropertyFunction(node,paramInfo){var previousStrict,body;previousStrict=strict;body=parseFunctionSourceElements();if(strict&¶mInfo.firstRestricted){tolerateUnexpectedToken(paramInfo.firstRestricted,paramInfo.message)}if(strict&¶mInfo.stricted){tolerateUnexpectedToken(paramInfo.stricted,paramInfo.message)}strict=previousStrict;return node.finishFunctionExpression(null,paramInfo.params,paramInfo.defaults,body)}function parsePropertyMethodFunction(){var params,method,node=new Node;params=parseParams();method=parsePropertyFunction(node,params);return method}function parseObjectPropertyKey(){var token,node=new Node,expr;token=lex();switch(token.type){case Token.StringLiteral:case Token.NumericLiteral:if(strict&&token.octal){tolerateUnexpectedToken(token,Messages.StrictOctalLiteral)}return node.finishLiteral(token);case Token.Identifier:case Token.BooleanLiteral:case Token.NullLiteral:case Token.Keyword:return node.finishIdentifier(token.value);case Token.Punctuator:if(token.value==="["){expr=parseAssignmentExpression();expect("]");return expr}break}throwUnexpectedToken(token)}function lookaheadPropertyName(){switch(lookahead.type){case Token.Identifier:case Token.StringLiteral:case Token.BooleanLiteral:case Token.NullLiteral:case Token.NumericLiteral:case Token.Keyword:return true;case Token.Punctuator:return lookahead.value==="["}return false}function tryParseMethodDefinition(token,key,computed,node){var value,options,methodNode;if(token.type===Token.Identifier){if(token.value==="get"&&lookaheadPropertyName()){computed=match("[");key=parseObjectPropertyKey();methodNode=new Node;expect("(");expect(")");value=parsePropertyFunction(methodNode,{params:[],defaults:[],stricted:null,firstRestricted:null,message:null});return node.finishProperty("get",key,computed,value,false,false)}else if(token.value==="set"&&lookaheadPropertyName()){computed=match("[");key=parseObjectPropertyKey();methodNode=new Node;expect("(");options={params:[],defaultCount:0,defaults:[],firstRestricted:null,paramSet:{}};if(match(")")){tolerateUnexpectedToken(lookahead)}else{parseParam(options);if(options.defaultCount===0){options.defaults=[]}}expect(")");value=parsePropertyFunction(methodNode,options);return node.finishProperty("set",key,computed,value,false,false)}}if(match("(")){value=parsePropertyMethodFunction();return node.finishProperty("init",key,computed,value,true,false)}return null}function checkProto(key,computed,hasProto){if(computed===false&&(key.type===Syntax.Identifier&&key.name==="__proto__"||key.type===Syntax.Literal&&key.value==="__proto__")){if(hasProto.value){tolerateError(Messages.DuplicateProtoProperty)}else{hasProto.value=true}}}function parseObjectProperty(hasProto){var token=lookahead,node=new Node,computed,key,maybeMethod,value;computed=match("[");key=parseObjectPropertyKey();maybeMethod=tryParseMethodDefinition(token,key,computed,node);if(maybeMethod){checkProto(maybeMethod.key,maybeMethod.computed,hasProto);return maybeMethod}checkProto(key,computed,hasProto);if(match(":")){lex();value=parseAssignmentExpression();return node.finishProperty("init",key,computed,value,false,false)}if(token.type===Token.Identifier){return node.finishProperty("init",key,computed,key,false,true)}throwUnexpectedToken(lookahead)}function parseObjectInitialiser(){var properties=[],hasProto={value:false},node=new Node;expect("{");while(!match("}")){properties.push(parseObjectProperty(hasProto));if(!match("}")){expectCommaSeparator()}}expect("}");return node.finishObjectExpression(properties)}function parseGroupExpression(){var expr,expressions,startToken,isValidArrowParameter=true;expect("(");if(match(")")){lex();if(!match("=>")){expect("=>")}return{type:PlaceHolders.ArrowParameterPlaceHolder,params:[]}}startToken=lookahead;if(match("...")){expr=parseRestElement();expect(")");if(!match("=>")){expect("=>")}return{type:PlaceHolders.ArrowParameterPlaceHolder,params:[expr]}}if(match("(")){isValidArrowParameter=false}expr=parseAssignmentExpression();if(match(",")){expressions=[expr];while(startIndex<length){if(!match(",")){break}lex();if(match("...")){if(!isValidArrowParameter){throwUnexpectedToken(lookahead)}expressions.push(parseRestElement());expect(")");if(!match("=>")){expect("=>")}return{type:PlaceHolders.ArrowParameterPlaceHolder,params:expressions}}else if(match("(")){isValidArrowParameter=false}expressions.push(parseAssignmentExpression())}expr=new WrappingNode(startToken).finishSequenceExpression(expressions)}expect(")");if(match("=>")&&!isValidArrowParameter){throwUnexpectedToken(lookahead)}return expr}function parsePrimaryExpression(){var type,token,expr,node;if(match("(")){return parseGroupExpression()}if(match("[")){return parseArrayInitialiser()}if(match("{")){return parseObjectInitialiser()}type=lookahead.type;node=new Node;if(type===Token.Identifier){expr=node.finishIdentifier(lex().value)}else if(type===Token.StringLiteral||type===Token.NumericLiteral){if(strict&&lookahead.octal){tolerateUnexpectedToken(lookahead,Messages.StrictOctalLiteral)}expr=node.finishLiteral(lex())}else if(type===Token.Keyword){if(matchKeyword("function")){return parseFunctionExpression()}if(matchKeyword("this")){lex();return node.finishThisExpression()}if(matchKeyword("class")){return parseClassExpression()}throwUnexpectedToken(lex())}else if(type===Token.BooleanLiteral){token=lex();token.value=token.value==="true";expr=node.finishLiteral(token)}else if(type===Token.NullLiteral){token=lex();token.value=null;expr=node.finishLiteral(token)}else if(match("/")||match("/=")){index=startIndex;if(typeof extra.tokens!=="undefined"){token=collectRegex()}else{token=scanRegExp()}lex();expr=node.finishLiteral(token)}else{throwUnexpectedToken(lex())}return expr}function parseArguments(){var args=[];expect("(");if(!match(")")){while(startIndex<length){args.push(parseAssignmentExpression());if(match(")")){break}expectCommaSeparator()}}expect(")");return args}function parseNonComputedProperty(){var token,node=new Node;token=lex();if(!isIdentifierName(token)){throwUnexpectedToken(token)}return node.finishIdentifier(token.value)}function parseNonComputedMember(){expect(".");return parseNonComputedProperty()}function parseComputedMember(){var expr;expect("[");expr=parseExpression();expect("]");return expr}function parseNewExpression(){var callee,args,node=new Node;expectKeyword("new");callee=parseLeftHandSideExpression();args=match("(")?parseArguments():[];return node.finishNewExpression(callee,args)}function parseLeftHandSideExpressionAllowCall(){var expr,args,property,startToken,previousAllowIn=state.allowIn;startToken=lookahead;state.allowIn=true;expr=matchKeyword("new")?parseNewExpression():parsePrimaryExpression();for(;;){if(match(".")){property=parseNonComputedMember();expr=new WrappingNode(startToken).finishMemberExpression(".",expr,property)}else if(match("(")){args=parseArguments();expr=new WrappingNode(startToken).finishCallExpression(expr,args)}else if(match("[")){property=parseComputedMember();expr=new WrappingNode(startToken).finishMemberExpression("[",expr,property)}else{break}}state.allowIn=previousAllowIn;return expr}function parseLeftHandSideExpression(){var expr,property,startToken;assert(state.allowIn,"callee of new expression always allow in keyword.");startToken=lookahead;expr=matchKeyword("new")?parseNewExpression():parsePrimaryExpression();for(;;){if(match("[")){property=parseComputedMember();expr=new WrappingNode(startToken).finishMemberExpression("[",expr,property)}else if(match(".")){property=parseNonComputedMember();expr=new WrappingNode(startToken).finishMemberExpression(".",expr,property)}else{break}}return expr}function parsePostfixExpression(){var expr,token,startToken=lookahead;expr=parseLeftHandSideExpressionAllowCall();if(!hasLineTerminator&&lookahead.type===Token.Punctuator){if(match("++")||match("--")){if(strict&&expr.type===Syntax.Identifier&&isRestrictedWord(expr.name)){tolerateError(Messages.StrictLHSPostfix)}if(!isLeftHandSide(expr)){tolerateError(Messages.InvalidLHSInAssignment)}token=lex();expr=new WrappingNode(startToken).finishPostfixExpression(token.value,expr)}}return expr}function parseUnaryExpression(){var token,expr,startToken;if(lookahead.type!==Token.Punctuator&&lookahead.type!==Token.Keyword){expr=parsePostfixExpression()}else if(match("++")||match("--")){startToken=lookahead;token=lex();expr=parseUnaryExpression();if(strict&&expr.type===Syntax.Identifier&&isRestrictedWord(expr.name)){tolerateError(Messages.StrictLHSPrefix)}if(!isLeftHandSide(expr)){tolerateError(Messages.InvalidLHSInAssignment)}expr=new WrappingNode(startToken).finishUnaryExpression(token.value,expr)}else if(match("+")||match("-")||match("~")||match("!")){startToken=lookahead;token=lex();expr=parseUnaryExpression();expr=new WrappingNode(startToken).finishUnaryExpression(token.value,expr)}else if(matchKeyword("delete")||matchKeyword("void")||matchKeyword("typeof")){startToken=lookahead;token=lex();expr=parseUnaryExpression();expr=new WrappingNode(startToken).finishUnaryExpression(token.value,expr);if(strict&&expr.operator==="delete"&&expr.argument.type===Syntax.Identifier){tolerateError(Messages.StrictDelete)}}else{expr=parsePostfixExpression()}return expr}function binaryPrecedence(token,allowIn){var prec=0;if(token.type!==Token.Punctuator&&token.type!==Token.Keyword){return 0}switch(token.value){case"||":prec=1;break;case"&&":prec=2;break;case"|":prec=3;break;case"^":prec=4;break;case"&":prec=5;break;case"==":case"!=":case"===":case"!==":prec=6;break;case"<":case">":case"<=":case">=":case"instanceof":prec=7;break;case"in":prec=allowIn?7:0;break;case"<<":case">>":case">>>":prec=8;break;case"+":case"-":prec=9;break;case"*":case"/":case"%":prec=11;break;default:break}return prec}function parseBinaryExpression(){var marker,markers,expr,token,prec,stack,right,operator,left,i;marker=lookahead;left=parseUnaryExpression();token=lookahead;prec=binaryPrecedence(token,state.allowIn);if(prec===0){return left}token.prec=prec;lex();markers=[marker,lookahead];right=parseUnaryExpression();stack=[left,token,right];while((prec=binaryPrecedence(lookahead,state.allowIn))>0){while(stack.length>2&&prec<=stack[stack.length-2].prec){right=stack.pop();operator=stack.pop().value;left=stack.pop();markers.pop();expr=new WrappingNode(markers[markers.length-1]).finishBinaryExpression(operator,left,right);stack.push(expr)}token=lex();token.prec=prec;stack.push(token);markers.push(lookahead);expr=parseUnaryExpression();stack.push(expr)}i=stack.length-1;expr=stack[i];markers.pop();while(i>1){expr=new WrappingNode(markers.pop()).finishBinaryExpression(stack[i-1].value,stack[i-2],expr);i-=2}return expr}function parseConditionalExpression(){var expr,previousAllowIn,consequent,alternate,startToken;startToken=lookahead;expr=parseBinaryExpression();if(match("?")){lex();previousAllowIn=state.allowIn;state.allowIn=true;consequent=parseAssignmentExpression();state.allowIn=previousAllowIn;expect(":");alternate=parseAssignmentExpression();expr=new WrappingNode(startToken).finishConditionalExpression(expr,consequent,alternate)}return expr}function parseConciseBody(){if(match("{")){return parseFunctionSourceElements()}return parseAssignmentExpression()}function reinterpretAsCoverFormalsList(expr){var i,len,param,params,defaults,defaultCount,options,token;defaults=[];defaultCount=0;params=[expr]; | |
switch(expr.type){case Syntax.Identifier:case Syntax.AssignmentExpression:break;case Syntax.SequenceExpression:params=expr.expressions;break;case PlaceHolders.ArrowParameterPlaceHolder:params=expr.params;break;default:return null}options={paramSet:{}};for(i=0,len=params.length;i<len;i+=1){param=params[i];if(param.type===Syntax.Identifier){params[i]=param;defaults.push(null);validateParam(options,param,param.name)}else if(param.type===Syntax.RestElement){params[i]=param;defaults.push(null);validateParam(options,param.argument,param.argument.name)}else if(param.type===Syntax.AssignmentExpression){params[i]=param.left;defaults.push(param.right);++defaultCount;validateParam(options,param.left,param.left.name)}else{return null}}if(options.message===Messages.StrictParamDupe){token=strict?options.stricted:options.firstRestricted;throwUnexpectedToken(token,options.message)}if(defaultCount===0){defaults=[]}return{params:params,defaults:defaults,stricted:options.stricted,firstRestricted:options.firstRestricted,message:options.message}}function parseArrowFunctionExpression(options,node){var previousStrict,body;expect("=>");previousStrict=strict;body=parseConciseBody();if(strict&&options.firstRestricted){throwUnexpectedToken(options.firstRestricted,options.message)}if(strict&&options.stricted){tolerateUnexpectedToken(options.stricted,options.message)}strict=previousStrict;return node.finishArrowFunctionExpression(options.params,options.defaults,body,body.type!==Syntax.BlockStatement)}function parseAssignmentExpression(){var token,expr,right,list,startToken;startToken=lookahead;token=lookahead;expr=parseConditionalExpression();if(expr.type===PlaceHolders.ArrowParameterPlaceHolder||match("=>")){list=reinterpretAsCoverFormalsList(expr);if(list){return parseArrowFunctionExpression(list,new WrappingNode(startToken))}}if(matchAssign()){if(!isLeftHandSide(expr)){tolerateError(Messages.InvalidLHSInAssignment)}if(strict&&expr.type===Syntax.Identifier&&isRestrictedWord(expr.name)){tolerateUnexpectedToken(token,Messages.StrictLHSAssignment)}token=lex();right=parseAssignmentExpression();expr=new WrappingNode(startToken).finishAssignmentExpression(token.value,expr,right)}return expr}function parseExpression(){var expr,startToken=lookahead,expressions;expr=parseAssignmentExpression();if(match(",")){expressions=[expr];while(startIndex<length){if(!match(",")){break}lex();expressions.push(parseAssignmentExpression())}expr=new WrappingNode(startToken).finishSequenceExpression(expressions)}return expr}function parseStatementListItem(){if(lookahead.type===Token.Keyword){switch(lookahead.value){case"const":case"let":return parseLexicalDeclaration();case"function":return parseFunctionDeclaration(new Node);case"class":return parseClassDeclaration()}}return parseStatement()}function parseStatementList(){var list=[];while(startIndex<length){if(match("}")){break}list.push(parseStatementListItem())}return list}function parseBlock(){var block,node=new Node;expect("{");block=parseStatementList();expect("}");return node.finishBlockStatement(block)}function parseVariableIdentifier(){var token,node=new Node;token=lex();if(token.type!==Token.Identifier){if(strict&&token.type===Token.Keyword&&isStrictModeReservedWord(token.value)){tolerateUnexpectedToken(token,Messages.StrictReservedWord)}else{throwUnexpectedToken(token)}}return node.finishIdentifier(token.value)}function parseVariableDeclaration(){var init=null,id,node=new Node;id=parseVariableIdentifier();if(strict&&isRestrictedWord(id.name)){tolerateError(Messages.StrictVarName)}if(match("=")){lex();init=parseAssignmentExpression()}return node.finishVariableDeclarator(id,init)}function parseVariableDeclarationList(){var list=[];do{list.push(parseVariableDeclaration());if(!match(",")){break}lex()}while(startIndex<length);return list}function parseVariableStatement(node){var declarations;expectKeyword("var");declarations=parseVariableDeclarationList();consumeSemicolon();return node.finishVariableDeclaration(declarations)}function parseLexicalBinding(kind){var init=null,id,node=new Node;id=parseVariableIdentifier();if(strict&&isRestrictedWord(id.name)){tolerateError(Messages.StrictVarName)}if(kind==="const"){if(!matchKeyword("in")){expect("=");init=parseAssignmentExpression()}}else if(match("=")){lex();init=parseAssignmentExpression()}return node.finishVariableDeclarator(id,init)}function parseBindingList(kind){var list=[];do{list.push(parseLexicalBinding(kind));if(!match(",")){break}lex()}while(startIndex<length);return list}function parseLexicalDeclaration(){var kind,declarations,node=new Node;kind=lex().value;assert(kind==="let"||kind==="const","Lexical declaration must be either let or const");declarations=parseBindingList(kind);consumeSemicolon();return node.finishLexicalDeclaration(declarations,kind)}function parseRestElement(){var param,node=new Node;lex();if(match("{")){throwError(Messages.ObjectPatternAsRestParameter)}param=parseVariableIdentifier();if(match("=")){throwError(Messages.DefaultRestParameter)}if(!match(")")){throwError(Messages.ParameterAfterRestParameter)}return node.finishRestElement(param)}function parseEmptyStatement(node){expect(";");return node.finishEmptyStatement()}function parseExpressionStatement(node){var expr=parseExpression();consumeSemicolon();return node.finishExpressionStatement(expr)}function parseIfStatement(node){var test,consequent,alternate;expectKeyword("if");expect("(");test=parseExpression();expect(")");consequent=parseStatement();if(matchKeyword("else")){lex();alternate=parseStatement()}else{alternate=null}return node.finishIfStatement(test,consequent,alternate)}function parseDoWhileStatement(node){var body,test,oldInIteration;expectKeyword("do");oldInIteration=state.inIteration;state.inIteration=true;body=parseStatement();state.inIteration=oldInIteration;expectKeyword("while");expect("(");test=parseExpression();expect(")");if(match(";")){lex()}return node.finishDoWhileStatement(body,test)}function parseWhileStatement(node){var test,body,oldInIteration;expectKeyword("while");expect("(");test=parseExpression();expect(")");oldInIteration=state.inIteration;state.inIteration=true;body=parseStatement();state.inIteration=oldInIteration;return node.finishWhileStatement(test,body)}function parseForStatement(node){var init,test,update,left,right,kind,declarations,body,oldInIteration,previousAllowIn=state.allowIn;init=test=update=null;expectKeyword("for");expect("(");if(match(";")){lex()}else{if(matchKeyword("var")){init=new Node;lex();state.allowIn=false;init=init.finishVariableDeclaration(parseVariableDeclarationList());state.allowIn=previousAllowIn;if(init.declarations.length===1&&matchKeyword("in")){lex();left=init;right=parseExpression();init=null}else{expect(";")}}else if(matchKeyword("const")||matchKeyword("let")){init=new Node;kind=lex().value;state.allowIn=false;declarations=parseBindingList(kind);state.allowIn=previousAllowIn;if(declarations.length===1&&declarations[0].init===null&&matchKeyword("in")){init=init.finishLexicalDeclaration(declarations,kind);lex();left=init;right=parseExpression();init=null}else{consumeSemicolon();init=init.finishLexicalDeclaration(declarations,kind)}}else{state.allowIn=false;init=parseExpression();state.allowIn=previousAllowIn;if(matchKeyword("in")){if(!isLeftHandSide(init)){tolerateError(Messages.InvalidLHSInForIn)}lex();left=init;right=parseExpression();init=null}else{expect(";")}}}if(typeof left==="undefined"){if(!match(";")){test=parseExpression()}expect(";");if(!match(")")){update=parseExpression()}}expect(")");oldInIteration=state.inIteration;state.inIteration=true;body=parseStatement();state.inIteration=oldInIteration;return typeof left==="undefined"?node.finishForStatement(init,test,update,body):node.finishForInStatement(left,right,body)}function parseContinueStatement(node){var label=null,key;expectKeyword("continue");if(source.charCodeAt(startIndex)===59){lex();if(!state.inIteration){throwError(Messages.IllegalContinue)}return node.finishContinueStatement(null)}if(hasLineTerminator){if(!state.inIteration){throwError(Messages.IllegalContinue)}return node.finishContinueStatement(null)}if(lookahead.type===Token.Identifier){label=parseVariableIdentifier();key="$"+label.name;if(!Object.prototype.hasOwnProperty.call(state.labelSet,key)){throwError(Messages.UnknownLabel,label.name)}}consumeSemicolon();if(label===null&&!state.inIteration){throwError(Messages.IllegalContinue)}return node.finishContinueStatement(label)}function parseBreakStatement(node){var label=null,key;expectKeyword("break");if(source.charCodeAt(lastIndex)===59){lex();if(!(state.inIteration||state.inSwitch)){throwError(Messages.IllegalBreak)}return node.finishBreakStatement(null)}if(hasLineTerminator){if(!(state.inIteration||state.inSwitch)){throwError(Messages.IllegalBreak)}return node.finishBreakStatement(null)}if(lookahead.type===Token.Identifier){label=parseVariableIdentifier();key="$"+label.name;if(!Object.prototype.hasOwnProperty.call(state.labelSet,key)){throwError(Messages.UnknownLabel,label.name)}}consumeSemicolon();if(label===null&&!(state.inIteration||state.inSwitch)){throwError(Messages.IllegalBreak)}return node.finishBreakStatement(label)}function parseReturnStatement(node){var argument=null;expectKeyword("return");if(!state.inFunctionBody){tolerateError(Messages.IllegalReturn)}if(source.charCodeAt(lastIndex)===32){if(isIdentifierStart(source.charCodeAt(lastIndex+1))){argument=parseExpression();consumeSemicolon();return node.finishReturnStatement(argument)}}if(hasLineTerminator){return node.finishReturnStatement(null)}if(!match(";")){if(!match("}")&&lookahead.type!==Token.EOF){argument=parseExpression()}}consumeSemicolon();return node.finishReturnStatement(argument)}function parseWithStatement(node){var object,body;if(strict){tolerateError(Messages.StrictModeWith)}expectKeyword("with");expect("(");object=parseExpression();expect(")");body=parseStatement();return node.finishWithStatement(object,body)}function parseSwitchCase(){var test,consequent=[],statement,node=new Node;if(matchKeyword("default")){lex();test=null}else{expectKeyword("case");test=parseExpression()}expect(":");while(startIndex<length){if(match("}")||matchKeyword("default")||matchKeyword("case")){break}statement=parseStatementListItem();consequent.push(statement)}return node.finishSwitchCase(test,consequent)}function parseSwitchStatement(node){var discriminant,cases,clause,oldInSwitch,defaultFound;expectKeyword("switch");expect("(");discriminant=parseExpression();expect(")");expect("{");cases=[];if(match("}")){lex();return node.finishSwitchStatement(discriminant,cases)}oldInSwitch=state.inSwitch;state.inSwitch=true;defaultFound=false;while(startIndex<length){if(match("}")){break}clause=parseSwitchCase();if(clause.test===null){if(defaultFound){throwError(Messages.MultipleDefaultsInSwitch)}defaultFound=true}cases.push(clause)}state.inSwitch=oldInSwitch;expect("}");return node.finishSwitchStatement(discriminant,cases)}function parseThrowStatement(node){var argument;expectKeyword("throw");if(hasLineTerminator){throwError(Messages.NewlineAfterThrow)}argument=parseExpression();consumeSemicolon();return node.finishThrowStatement(argument)}function parseCatchClause(){var param,body,node=new Node;expectKeyword("catch");expect("(");if(match(")")){throwUnexpectedToken(lookahead)}param=parseVariableIdentifier();if(strict&&isRestrictedWord(param.name)){tolerateError(Messages.StrictCatchVariable)}expect(")");body=parseBlock();return node.finishCatchClause(param,body)}function parseTryStatement(node){var block,handler=null,finalizer=null;expectKeyword("try");block=parseBlock();if(matchKeyword("catch")){handler=parseCatchClause()}if(matchKeyword("finally")){lex();finalizer=parseBlock()}if(!handler&&!finalizer){throwError(Messages.NoCatchOrFinally)}return node.finishTryStatement(block,handler,finalizer)}function parseDebuggerStatement(node){expectKeyword("debugger");consumeSemicolon();return node.finishDebuggerStatement()}function parseStatement(){var type=lookahead.type,expr,labeledBody,key,node;if(type===Token.EOF){throwUnexpectedToken(lookahead)}if(type===Token.Punctuator&&lookahead.value==="{"){return parseBlock()}node=new Node;if(type===Token.Punctuator){switch(lookahead.value){case";":return parseEmptyStatement(node);case"(":return parseExpressionStatement(node);default:break}}else if(type===Token.Keyword){switch(lookahead.value){case"break":return parseBreakStatement(node);case"continue":return parseContinueStatement(node);case"debugger":return parseDebuggerStatement(node);case"do":return parseDoWhileStatement(node);case"for":return parseForStatement(node);case"function":return parseFunctionDeclaration(node);case"if":return parseIfStatement(node);case"return":return parseReturnStatement(node);case"switch":return parseSwitchStatement(node);case"throw":return parseThrowStatement(node);case"try":return parseTryStatement(node);case"var":return parseVariableStatement(node);case"while":return parseWhileStatement(node);case"with":return parseWithStatement(node);default:break}}expr=parseExpression();if(expr.type===Syntax.Identifier&&match(":")){lex();key="$"+expr.name;if(Object.prototype.hasOwnProperty.call(state.labelSet,key)){throwError(Messages.Redeclaration,"Label",expr.name)}state.labelSet[key]=true;labeledBody=parseStatement();delete state.labelSet[key];return node.finishLabeledStatement(expr,labeledBody)}consumeSemicolon();return node.finishExpressionStatement(expr)}function parseFunctionSourceElements(){var statement,body=[],token,directive,firstRestricted,oldLabelSet,oldInIteration,oldInSwitch,oldInFunctionBody,oldParenthesisCount,node=new Node;expect("{");while(startIndex<length){if(lookahead.type!==Token.StringLiteral){break}token=lookahead;statement=parseStatementListItem();body.push(statement);if(statement.expression.type!==Syntax.Literal){break}directive=source.slice(token.start+1,token.end-1);if(directive==="use strict"){strict=true;if(firstRestricted){tolerateUnexpectedToken(firstRestricted,Messages.StrictOctalLiteral)}}else{if(!firstRestricted&&token.octal){firstRestricted=token}}}oldLabelSet=state.labelSet;oldInIteration=state.inIteration;oldInSwitch=state.inSwitch;oldInFunctionBody=state.inFunctionBody;oldParenthesisCount=state.parenthesizedCount;state.labelSet={};state.inIteration=false;state.inSwitch=false;state.inFunctionBody=true;state.parenthesizedCount=0;while(startIndex<length){if(match("}")){break}body.push(parseStatementListItem())}expect("}");state.labelSet=oldLabelSet;state.inIteration=oldInIteration;state.inSwitch=oldInSwitch;state.inFunctionBody=oldInFunctionBody;state.parenthesizedCount=oldParenthesisCount;return node.finishBlockStatement(body)}function validateParam(options,param,name){var key="$"+name;if(strict){if(isRestrictedWord(name)){options.stricted=param;options.message=Messages.StrictParamName}if(Object.prototype.hasOwnProperty.call(options.paramSet,key)){options.stricted=param;options.message=Messages.StrictParamDupe}}else if(!options.firstRestricted){if(isRestrictedWord(name)){options.firstRestricted=param;options.message=Messages.StrictParamName}else if(isStrictModeReservedWord(name)){options.firstRestricted=param;options.message=Messages.StrictReservedWord}else if(Object.prototype.hasOwnProperty.call(options.paramSet,key)){options.firstRestricted=param;options.message=Messages.StrictParamDupe}}options.paramSet[key]=true}function parseParam(options){var token,param,def;token=lookahead;if(token.value==="..."){param=parseRestElement();validateParam(options,param.argument,param.argument.name);options.params.push(param);options.defaults.push(null);return false}param=parseVariableIdentifier();validateParam(options,token,token.value);if(match("=")){lex();def=parseAssignmentExpression();++options.defaultCount}options.params.push(param);options.defaults.push(def);return!match(")")}function parseParams(firstRestricted){var options;options={params:[],defaultCount:0,defaults:[],firstRestricted:firstRestricted};expect("(");if(!match(")")){options.paramSet={};while(startIndex<length){if(!parseParam(options)){break}expect(",")}}expect(")");if(options.defaultCount===0){options.defaults=[]}return{params:options.params,defaults:options.defaults,stricted:options.stricted,firstRestricted:options.firstRestricted,message:options.message}}function parseFunctionDeclaration(node){var id,params=[],defaults=[],body,token,stricted,tmp,firstRestricted,message,previousStrict;expectKeyword("function");token=lookahead;id=parseVariableIdentifier();if(strict){if(isRestrictedWord(token.value)){tolerateUnexpectedToken(token,Messages.StrictFunctionName)}}else{if(isRestrictedWord(token.value)){firstRestricted=token;message=Messages.StrictFunctionName}else if(isStrictModeReservedWord(token.value)){firstRestricted=token;message=Messages.StrictReservedWord}}tmp=parseParams(firstRestricted);params=tmp.params;defaults=tmp.defaults;stricted=tmp.stricted;firstRestricted=tmp.firstRestricted;if(tmp.message){message=tmp.message}previousStrict=strict;body=parseFunctionSourceElements();if(strict&&firstRestricted){throwUnexpectedToken(firstRestricted,message)}if(strict&&stricted){tolerateUnexpectedToken(stricted,message)}strict=previousStrict;return node.finishFunctionDeclaration(id,params,defaults,body)}function parseFunctionExpression(){var token,id=null,stricted,firstRestricted,message,tmp,params=[],defaults=[],body,previousStrict,node=new Node;expectKeyword("function");if(!match("(")){token=lookahead;id=parseVariableIdentifier();if(strict){if(isRestrictedWord(token.value)){tolerateUnexpectedToken(token,Messages.StrictFunctionName)}}else{if(isRestrictedWord(token.value)){firstRestricted=token;message=Messages.StrictFunctionName}else if(isStrictModeReservedWord(token.value)){firstRestricted=token;message=Messages.StrictReservedWord}}}tmp=parseParams(firstRestricted);params=tmp.params;defaults=tmp.defaults;stricted=tmp.stricted;firstRestricted=tmp.firstRestricted;if(tmp.message){message=tmp.message}previousStrict=strict;body=parseFunctionSourceElements();if(strict&&firstRestricted){throwUnexpectedToken(firstRestricted,message)}if(strict&&stricted){tolerateUnexpectedToken(stricted,message)}strict=previousStrict;return node.finishFunctionExpression(id,params,defaults,body)}function parseClassBody(){var classBody,token,isStatic,hasConstructor=false,body,method,computed,key;classBody=new Node;expect("{");body=[];while(!match("}")){if(match(";")){lex()}else{method=new Node;token=lookahead;isStatic=false;computed=match("[");key=parseObjectPropertyKey();if(key.name==="static"&&lookaheadPropertyName()){token=lookahead;isStatic=true;computed=match("[");key=parseObjectPropertyKey()}method=tryParseMethodDefinition(token,key,computed,method);if(method){method.static=isStatic;if(method.kind==="init"){method.kind="method"}if(!isStatic){if(!method.computed&&(method.key.name||method.key.value.toString())==="constructor"){if(method.kind!=="method"||!method.method||method.value.generator){throwUnexpectedToken(token,Messages.ConstructorSpecialMethod)}if(hasConstructor){throwUnexpectedToken(token,Messages.DuplicateConstructor)}else{hasConstructor=true}method.kind="constructor"}}else{if(!method.computed&&(method.key.name||method.key.value.toString())==="prototype"){throwUnexpectedToken(token,Messages.StaticPrototype)}}method.type=Syntax.MethodDefinition;delete method.method;delete method.shorthand;body.push(method)}else{throwUnexpectedToken(lookahead)}}}lex();return classBody.finishClassBody(body)}function parseClassDeclaration(){var id=null,superClass=null,classNode=new Node,classBody,previousStrict=strict;strict=true;expectKeyword("class");id=parseVariableIdentifier();if(matchKeyword("extends")){lex();superClass=parseLeftHandSideExpressionAllowCall()}classBody=parseClassBody();strict=previousStrict;return classNode.finishClassDeclaration(id,superClass,classBody)}function parseClassExpression(){var id=null,superClass=null,classNode=new Node,classBody,previousStrict=strict;strict=true;expectKeyword("class");if(lookahead.type===Token.Identifier){id=parseVariableIdentifier()}if(matchKeyword("extends")){lex();superClass=parseLeftHandSideExpressionAllowCall()}classBody=parseClassBody();strict=previousStrict;return classNode.finishClassExpression(id,superClass,classBody)}function parseScriptBody(){var statement,body=[],token,directive,firstRestricted;while(startIndex<length){token=lookahead;if(token.type!==Token.StringLiteral){break}statement=parseStatementListItem();body.push(statement);if(statement.expression.type!==Syntax.Literal){break}directive=source.slice(token.start+1,token.end-1);if(directive==="use strict"){strict=true;if(firstRestricted){tolerateUnexpectedToken(firstRestricted,Messages.StrictOctalLiteral)}}else{if(!firstRestricted&&token.octal){firstRestricted=token}}}while(startIndex<length){statement=parseStatementListItem();if(typeof statement==="undefined"){break}body.push(statement)}return body}function parseProgram(){var body,node;peek();node=new Node;strict=false;body=parseScriptBody();return node.finishProgram(body)}function filterTokenLocation(){var i,entry,token,tokens=[];for(i=0;i<extra.tokens.length;++i){entry=extra.tokens[i];token={type:entry.type,value:entry.value};if(entry.regex){token.regex={pattern:entry.regex.pattern,flags:entry.regex.flags}}if(extra.range){token.range=entry.range}if(extra.loc){token.loc=entry.loc}tokens.push(token)}extra.tokens=tokens}function tokenize(code,options){var toString,tokens;toString=String;if(typeof code!=="string"&&!(code instanceof String)){code=toString(code)}source=code;index=0;lineNumber=source.length>0?1:0;lineStart=0;startIndex=index;startLineNumber=lineNumber;startLineStart=lineStart;length=source.length;lookahead=null;state={allowIn:true,labelSet:{},inFunctionBody:false,inIteration:false,inSwitch:false,lastCommentStart:-1};extra={};options=options||{};options.tokens=true;extra.tokens=[];extra.tokenize=true;extra.openParenToken=-1;extra.openCurlyToken=-1;extra.range=typeof options.range==="boolean"&&options.range;extra.loc=typeof options.loc==="boolean"&&options.loc;if(typeof options.comment==="boolean"&&options.comment){extra.comments=[]}if(typeof options.tolerant==="boolean"&&options.tolerant){extra.errors=[]}try{peek();if(lookahead.type===Token.EOF){return extra.tokens}lex();while(lookahead.type!==Token.EOF){try{lex()}catch(lexError){if(extra.errors){recordError(lexError);break}else{throw lexError}}}filterTokenLocation();tokens=extra.tokens;if(typeof extra.comments!=="undefined"){tokens.comments=extra.comments}if(typeof extra.errors!=="undefined"){tokens.errors=extra.errors}}catch(e){throw e}finally{extra={}}return tokens}function parse(code,options){var program,toString;toString=String;if(typeof code!=="string"&&!(code instanceof String)){code=toString(code)}source=code;index=0;lineNumber=source.length>0?1:0;lineStart=0;startIndex=index;startLineNumber=lineNumber;startLineStart=lineStart;length=source.length;lookahead=null;state={allowIn:true,labelSet:{},inFunctionBody:false,inIteration:false,inSwitch:false,lastCommentStart:-1};extra={};if(typeof options!=="undefined"){extra.range=typeof options.range==="boolean"&&options.range;extra.loc=typeof options.loc==="boolean"&&options.loc;extra.attachComment=typeof options.attachComment==="boolean"&&options.attachComment;if(extra.loc&&options.source!==null&&options.source!==undefined){extra.source=toString(options.source)}if(typeof options.tokens==="boolean"&&options.tokens){extra.tokens=[]}if(typeof options.comment==="boolean"&&options.comment){extra.comments=[]}if(typeof options.tolerant==="boolean"&&options.tolerant){extra.errors=[]}if(extra.attachComment){extra.range=true;extra.comments=[];extra.bottomRightStack=[];extra.trailingComments=[];extra.leadingComments=[]}}try{program=parseProgram();if(typeof extra.comments!=="undefined"){program.comments=extra.comments}if(typeof extra.tokens!=="undefined"){filterTokenLocation();program.tokens=extra.tokens}if(typeof extra.errors!=="undefined"){program.errors=extra.errors}}catch(e){throw e}finally{extra={}}return program}exports.version="2.1.0";exports.tokenize=tokenize;exports.parse=parse;exports.Syntax=function(){var name,types={};if(typeof Object.create==="function"){types=Object.create(null)}for(name in Syntax){if(Syntax.hasOwnProperty(name)){types[name]=Syntax[name]}}if(typeof Object.freeze==="function"){Object.freeze(types)}return types}()})},{}]},{},[]);require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({treeify:[function(require,module,exports){(function(root,factory){if(typeof exports==="object"){module.exports=factory()}else if(typeof define==="function"&&define.amd){define(factory)}else{root.treeify=factory()}})(this,function(){function makePrefix(key,last){var str=last?"└":"├";if(key){str+="─ "}else{str+="──┐"}return str}function filterKeys(obj,hideFunctions){var keys=[];for(var branch in obj){if(!obj.hasOwnProperty(branch)){continue}if(hideFunctions&&typeof obj[branch]==="function"){continue}keys.push(branch)}return keys}function growBranch(key,root,last,lastStates,showValues,hideFunctions,callback){var line="",index=0,lastKey,circular,lastStatesCopy=lastStates.slice(0);if(lastStatesCopy.push([root,last])&&lastStates.length>0){lastStates.forEach(function(lastState,idx){if(idx>0){line+=(lastState[1]?" ":"│")+" "}if(!circular&&lastState[0]===root){circular=true}});line+=makePrefix(key,last)+key;showValues&&typeof root!=="object"&&(line+=": "+root);circular&&(line+=" (circular ref.)");callback(line)}if(!circular&&typeof root==="object"){var keys=filterKeys(root,hideFunctions);keys.forEach(function(branch){lastKey=++index===keys.length;growBranch(branch,root[branch],lastKey,lastStatesCopy,showValues,hideFunctions,callback)})}}var Treeify={};Treeify.asLines=function(obj,showValues,hideFunctions,lineCallback){var hideFunctionsArg=typeof hideFunctions!=="function"?hideFunctions:false;growBranch(".",obj,false,[],showValues,hideFunctionsArg,lineCallback||hideFunctions)};Treeify.asTree=function(obj,showValues,hideFunctions){var tree="";growBranch(".",obj,false,[],showValues,hideFunctions,function(line){tree+=line+"\n"});return tree};return Treeify})},{}]},{},[]);var esquery=require("esquery");var esprima=require("esprima");var treeify=require("treeify").asTree;var src='var x = require("x"); var z = require("z")';function go(selector){var ast=esprima.parse(src);var selectorAst=esquery.parse(selector);log(selectorAst);var matches=esquery.match(ast,selectorAst);return matches}var results=go('[type="CallExpression"]').map(extractDependencyName);log(results);function extractDependencyName(node){return node.arguments[0].value}function log(output){alert(treeify(output,true))} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "requirebin-sketch", | |
"version": "1.0.0", | |
"dependencies": { | |
"esquery": "0.3.0", | |
"esprima": "2.1.0", | |
"treeify": "1.0.1" | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- contents of this file will be placed inside the <body> --> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- contents of this file will be placed inside the <head> --> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment