{"size": 166993, "ext": "js", "max_stars_repo_path": "zenario/libs/manually_maintained/mit/js-yaml/js-yaml.min.js", "max_stars_repo_name": "sitedata/Zenario", "max_stars_repo_stars_event_min_datetime": "2015-01-22T13:55:19.000Z", "max_stars_repo_stars_event_max_datetime": "2022-01-19T10:19:08.000Z", "max_issues_repo_path": "zenario/libs/manually_maintained/mit/js-yaml/js-yaml.min.js", "max_issues_repo_name": "TribalSystems/Zenario", "max_issues_repo_issues_event_min_datetime": "2019-11-22T17:13:12.000Z", "max_issues_repo_issues_event_max_datetime": "2020-07-18T15:07:45.000Z", "max_forks_repo_path": "zenario/libs/manually_maintained/mit/js-yaml/js-yaml.min.js", "max_forks_repo_name": "sitedata/Zenario", "max_forks_repo_forks_event_min_datetime": "2015-01-22T13:43:53.000Z", "max_forks_repo_forks_event_max_datetime": "2022-02-08T15:36:52.000Z"}
{"max_stars_count": 25, "max_issues_count": 3, "max_forks_count": 13, "avg_line_length": 27832.1666666667, "max_line_length": 32101, "alphanum_fraction": 0.7863802674}
var jsyaml=window.jsyaml=function(){require=function(e,t,n){function i(n,s){if(!t[n]){if(!e[n]){var o=typeof require=="function"&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);throw new Error("Cannot find module '"+n+"'")}var u=t[n]={exports:{}};e[n][0].call(u.exports,function(t){var r=e[n][1][t];return i(r?r:t)},u,u.exports)}return t[n].exports}var r=typeof require=="function"&&require;for(var s=0;s<n.length;s++)i(n[s]);return i}({"./index":[function(require,module,exports){module.exports=require("jPUIy0")},{}],jPUIy0:[function(require,module,exports){module.exports=require("./lib/js-yaml.js")},{"./lib/js-yaml.js":1}],1:[function(require,module,exports){"use strict";var loader=require("./js-yaml/loader");var dumper=require("./js-yaml/dumper");function deprecated(name){return function(){throw new Error("Function "+name+" is deprecated and cannot be used.")}}module.exports.NIL=require("./js-yaml/common").NIL;module.exports.Type=require("./js-yaml/type");module.exports.Schema=require("./js-yaml/schema");module.exports.FAILSAFE_SCHEMA=require("./js-yaml/schema/failsafe");module.exports.JSON_SCHEMA=require("./js-yaml/schema/json");module.exports.CORE_SCHEMA=require("./js-yaml/schema/core");module.exports.DEFAULT_SAFE_SCHEMA=require("./js-yaml/schema/default_safe");module.exports.DEFAULT_FULL_SCHEMA=require("./js-yaml/schema/default_full");module.exports.load=loader.load;module.exports.loadAll=loader.loadAll;module.exports.safeLoad=loader.safeLoad;module.exports.safeLoadAll=loader.safeLoadAll;module.exports.dump=dumper.dump;module.exports.safeDump=dumper.safeDump;module.exports.YAMLException=require("./js-yaml/exception");module.exports.MINIMAL_SCHEMA=require("./js-yaml/schema/failsafe");module.exports.SAFE_SCHEMA=require("./js-yaml/schema/default_safe");module.exports.DEFAULT_SCHEMA=require("./js-yaml/schema/default_full");module.exports.scan=deprecated("scan");module.exports.parse=deprecated("parse");module.exports.compose=deprecated("compose");module.exports.addConstructor=deprecated("addConstructor");require("./js-yaml/require")},{"./js-yaml/loader":2,"./js-yaml/dumper":3,"./js-yaml/type":4,"./js-yaml/schema/failsafe":5,"./js-yaml/schema/json":6,"./js-yaml/schema/core":7,"./js-yaml/schema/default_safe":8,"./js-yaml/schema/default_full":9,"./js-yaml/require":10,"./js-yaml/schema":11,"./js-yaml/common":12,"./js-yaml/exception":13}],14:[function(require,module,exports){},{}],2:[function(require,module,exports){"use strict";var common=require("./common");var YAMLException=require("./exception");var Mark=require("./mark");var NIL=common.NIL;var DEFAULT_SAFE_SCHEMA=require("./schema/default_safe");var DEFAULT_FULL_SCHEMA=require("./schema/default_full");var _hasOwnProperty=Object.prototype.hasOwnProperty;var KIND_STRING="string";var KIND_ARRAY="array";var KIND_OBJECT="object";var CONTEXT_FLOW_IN=1;var CONTEXT_FLOW_OUT=2;var CONTEXT_BLOCK_IN=3;var CONTEXT_BLOCK_OUT=4;var CHOMPING_CLIP=1;var CHOMPING_STRIP=2;var CHOMPING_KEEP=3;var CHAR_TAB=9;var CHAR_LINE_FEED=10;var CHAR_CARRIAGE_RETURN=13;var CHAR_SPACE=32;var CHAR_EXCLAMATION=33;var CHAR_DOUBLE_QUOTE=34;var CHAR_SHARP=35;var CHAR_PERCENT=37;var CHAR_AMPERSAND=38;var CHAR_SINGLE_QUOTE=39;var CHAR_ASTERISK=42;var CHAR_PLUS=43;var CHAR_COMMA=44;var CHAR_MINUS=45;var CHAR_DOT=46;var CHAR_SLASH=47;var CHAR_DIGIT_ZERO=48;var CHAR_DIGIT_ONE=49;var CHAR_DIGIT_NINE=57;var CHAR_COLON=58;var CHAR_LESS_THAN=60;var CHAR_GREATER_THAN=62;var CHAR_QUESTION=63;var CHAR_COMMERCIAL_AT=64;var CHAR_CAPITAL_A=65;var CHAR_CAPITAL_F=70;var CHAR_CAPITAL_L=76;var CHAR_CAPITAL_N=78;var CHAR_CAPITAL_P=80;var CHAR_CAPITAL_U=85;var CHAR_LEFT_SQUARE_BRACKET=91;var CHAR_BACKSLASH=92;var CHAR_RIGHT_SQUARE_BRACKET=93;var CHAR_UNDERSCORE=95;var CHAR_GRAVE_ACCENT=96;var CHAR_SMALL_A=97;var CHAR_SMALL_B=98;var CHAR_SMALL_E=101;var CHAR_SMALL_F=102;var CHAR_SMALL_N=110;var CHAR_SMALL_R=114;var CHAR_SMALL_T=116;var CHAR_SMALL_U=117;var CHAR_SMALL_V=118;var CHAR_SMALL_X=120;var CHAR_LEFT_CURLY_BRACKET=123;var CHAR_VERTICAL_LINE=124;var CHAR_RIGHT_CURLY_BRACKET=125;var SIMPLE_ESCAPE_SEQUENCES={};SIMPLE_ESCAPE_SEQUENCES[CHAR_DIGIT_ZERO]="\0";SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_A]="";SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_B]="\b";SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_T]="	";SIMPLE_ESCAPE_SEQUENCES[CHAR_TAB]="	";SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_N]="\n";SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_V]="";SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_F]="\f";SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_R]="\r";SIMPLE_ESCAPE_SEQUENCES[CHAR_SMALL_E]="";SIMPLE_ESCAPE_SEQUENCES[CHAR_SPACE]=" ";SIMPLE_ESCAPE_SEQUENCES[CHAR_DOUBLE_QUOTE]='"';SIMPLE_ESCAPE_SEQUENCES[CHAR_SLASH]="/";SIMPLE_ESCAPE_SEQUENCES[CHAR_BACKSLASH]="\\";SIMPLE_ESCAPE_SEQUENCES[CHAR_CAPITAL_N]="";SIMPLE_ESCAPE_SEQUENCES[CHAR_UNDERSCORE]=" ";SIMPLE_ESCAPE_SEQUENCES[CHAR_CAPITAL_L]="\u2028";SIMPLE_ESCAPE_SEQUENCES[CHAR_CAPITAL_P]="\u2029";var HEXADECIMAL_ESCAPE_SEQUENCES={};HEXADECIMAL_ESCAPE_SEQUENCES[CHAR_SMALL_X]=2;HEXADECIMAL_ESCAPE_SEQUENCES[CHAR_SMALL_U]=4;HEXADECIMAL_ESCAPE_SEQUENCES[CHAR_CAPITAL_U]=8;var PATTERN_NON_PRINTABLE=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uD800-\uDFFF\uFFFE\uFFFF]/;var PATTERN_NON_ASCII_LINE_BREAKS=/[\x85\u2028\u2029]/;var PATTERN_FLOW_INDICATORS=/[,\[\]\{\}]/;var PATTERN_TAG_HANDLE=/^(?:!|!!|![a-z\-]+!)$/i;var PATTERN_TAG_URI=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function loadAll(input,output,options){options=options||{};var filename=options["filename"]||null,schema=options["schema"]||DEFAULT_FULL_SCHEMA,resolve=options["resolve"]||true,validate=options["validate"]||true,strict=options["strict"]||false,legacy=options["legacy"]||false,directiveHandlers={},implicitTypes=schema.compiledImplicit,typeMap=schema.compiledTypeMap,length=input.length,position=0,line=0,lineStart=0,lineIndent=0,character=input.charCodeAt(position),version,checkLineBreaks,tagMap,anchorMap,tag,anchor,kind,result;function generateError(message){return new YAMLException(message,new Mark(filename,input,position,line,position-lineStart))}function throwError(message){throw generateError(message)}function throwWarning(message){var error=generateError(message);if(strict){throw error}else{console.warn(error.toString())}}directiveHandlers["YAML"]=function handleYamlDirective(name,args){var match,major,minor;if(null!==version){throwError("duplication of %YAML directive")}if(1!==args.length){throwError("YAML directive accepts exactly one argument")}match=/^([0-9]+)\.([0-9]+)$/.exec(args[0]);if(null===match){throwError("ill-formed argument of the YAML directive")}major=parseInt(match[1],10);minor=parseInt(match[2],10);if(1!==major){throwError("unacceptable YAML version of the document")}version=args[0];checkLineBreaks=minor<2;if(1!==minor&&2!==minor){throwWarning("unsupported YAML version of the document")}};directiveHandlers["TAG"]=function handleTagDirective(name,args){var handle,prefix;if(2!==args.length){throwError("TAG directive accepts exactly two arguments")}handle=args[0];prefix=args[1];if(!PATTERN_TAG_HANDLE.test(handle)){throwError("ill-formed tag handle (first argument) of the TAG directive")}if(_hasOwnProperty.call(tagMap,handle)){throwError('there is a previously declared suffix for "'+handle+'" tag handle')}if(!PATTERN_TAG_URI.test(prefix)){throwError("ill-formed tag prefix (second argument) of the TAG directive")}tagMap[handle]=prefix};function captureSegment(start,end,checkJson){var _position,_length,_character,_result;if(start<end){_result=input.slice(start,end);if(checkJson&&validate){for(_position=0,_length=_result.length;_position<_length;_position+=1){_character=_result.charCodeAt(_position);if(!(9===_character||32<=_character&&_character<=1114111)){throwError("expected valid JSON character")}}}result+=_result}}function mergeMappings(destination,source){var sourceKeys,key,index,quantity;if(!common.isObject(source)){throwError("cannot merge mappings; the provided source object is unacceptable")}sourceKeys=Object.keys(source);for(index=0,quantity=sourceKeys.length;index<quantity;index+=1){key=sourceKeys[index];if(!_hasOwnProperty.call(destination,key)){destination[key]=source[key]}}}function storeMappingPair(_result,keyTag,keyNode,valueNode){var index,quantity;keyNode=String(keyNode);if(null===_result){_result={}}if("tag:yaml.org,2002:merge"===keyTag){if(Array.isArray(valueNode)){for(index=0,quantity=valueNode.length;index<quantity;index+=1){mergeMappings(_result,valueNode[index])}}else{mergeMappings(_result,valueNode)}}else{_result[keyNode]=valueNode}return _result}function readLineBreak(){if(CHAR_LINE_FEED===character){position+=1}else if(CHAR_CARRIAGE_RETURN===character){if(CHAR_LINE_FEED===input.charCodeAt(position+1)){position+=2}else{position+=1}}else{throwError("a line break is expected")}line+=1;lineStart=position;character=input.charCodeAt(position)}function skipSeparationSpace(allowComments,checkIndent){var lineBreaks=0;while(position<length){while(CHAR_SPACE===character||CHAR_TAB===character){character=input.charCodeAt(++position)}if(allowComments&&CHAR_SHARP===character){do{character=input.charCodeAt(++position)}while(position<length&&CHAR_LINE_FEED!==character&&CHAR_CARRIAGE_RETURN!==character)}if(CHAR_LINE_FEED===character||CHAR_CARRIAGE_RETURN===character){readLineBreak();lineBreaks+=1;lineIndent=0;while(CHAR_SPACE===character){lineIndent+=1;character=input.charCodeAt(++position)}if(lineIndent<checkIndent){throwWarning("deficient indentation")}}else{break}}return lineBreaks}function testDocumentSeparator(){var _position,_character;if(position===lineStart&&(CHAR_MINUS===character||CHAR_DOT===character)&&input.charCodeAt(position+1)===character&&input.charCodeAt(position+2)===character){_position=position+3;_character=input.charCodeAt(_position);if(_position>=length||CHAR_SPACE===_character||CHAR_TAB===_character||CHAR_LINE_FEED===_character||CHAR_CARRIAGE_RETURN===_character){return true}}return false}function writeFoldedLines(count){if(1===count){result+=" "}else if(count>1){result+=common.repeat("\n",count-1)}}function readPlainScalar(nodeIndent,withinFlowCollection){var preceding,following,captureStart,captureEnd,hasPendingContent,_line,_lineStart,_lineIndent,_kind=kind,_result=result;if(CHAR_SPACE===character||CHAR_TAB===character||CHAR_LINE_FEED===character||CHAR_CARRIAGE_RETURN===character||CHAR_COMMA===character||CHAR_LEFT_SQUARE_BRACKET===character||CHAR_RIGHT_SQUARE_BRACKET===character||CHAR_LEFT_CURLY_BRACKET===character||CHAR_RIGHT_CURLY_BRACKET===character||CHAR_SHARP===character||CHAR_AMPERSAND===character||CHAR_ASTERISK===character||CHAR_EXCLAMATION===character||CHAR_VERTICAL_LINE===character||CHAR_GREATER_THAN===character||CHAR_SINGLE_QUOTE===character||CHAR_DOUBLE_QUOTE===character||CHAR_PERCENT===character||CHAR_COMMERCIAL_AT===character||CHAR_GRAVE_ACCENT===character){return false}if(CHAR_QUESTION===character||CHAR_MINUS===character){following=input.charCodeAt(position+1);if(CHAR_SPACE===following||CHAR_TAB===following||CHAR_LINE_FEED===following||CHAR_CARRIAGE_RETURN===following||withinFlowCollection&&(CHAR_COMMA===following||CHAR_LEFT_SQUARE_BRACKET===following||CHAR_RIGHT_SQUARE_BRACKET===following||CHAR_LEFT_CURLY_BRACKET===following||CHAR_RIGHT_CURLY_BRACKET===following)){return false}}kind=KIND_STRING;result="";captureStart=captureEnd=position;hasPendingContent=false;while(position<length){if(CHAR_COLON===character){following=input.charCodeAt(position+1);if(CHAR_SPACE===following||CHAR_TAB===following||CHAR_LINE_FEED===following||CHAR_CARRIAGE_RETURN===following||withinFlowCollection&&(CHAR_COMMA===following||CHAR_LEFT_SQUARE_BRACKET===following||CHAR_RIGHT_SQUARE_BRACKET===following||CHAR_LEFT_CURLY_BRACKET===following||CHAR_RIGHT_CURLY_BRACKET===following)){break}}else if(CHAR_SHARP===character){preceding=input.charCodeAt(position-1);if(CHAR_SPACE===preceding||CHAR_TAB===preceding||CHAR_LINE_FEED===preceding||CHAR_CARRIAGE_RETURN===preceding){break}}else if(position===lineStart&&testDocumentSeparator()||withinFlowCollection&&(CHAR_COMMA===character||CHAR_LEFT_SQUARE_BRACKET===character||CHAR_RIGHT_SQUARE_BRACKET===character||CHAR_LEFT_CURLY_BRACKET===character||CHAR_RIGHT_CURLY_BRACKET===character)){break}else if(CHAR_LINE_FEED===character||CHAR_CARRIAGE_RETURN===character){_line=line;_lineStart=lineStart;_lineIndent=lineIndent;skipSeparationSpace(false,-1);if(lineIndent>=nodeIndent){hasPendingContent=true;continue}else{position=captureEnd;line=_line;lineStart=_lineStart;lineIndent=_lineIndent;character=input.charCodeAt(position);break}}if(hasPendingContent){captureSegment(captureStart,captureEnd,false);writeFoldedLines(line-_line);captureStart=captureEnd=position;hasPendingContent=false}if(CHAR_SPACE!==character&&CHAR_TAB!==character){captureEnd=position+1}character=input.charCodeAt(++position)}captureSegment(captureStart,captureEnd,false);if(result){return true}else{kind=_kind;result=_result;return false}}function readSingleQuotedScalar(nodeIndent){var captureStart,captureEnd;if(CHAR_SINGLE_QUOTE!==character){return false}kind=KIND_STRING;result="";character=input.charCodeAt(++position);captureStart=captureEnd=position;while(position<length){if(CHAR_SINGLE_QUOTE===character){captureSegment(captureStart,position,true);character=input.charCodeAt(++position);if(CHAR_SINGLE_QUOTE===character){captureStart=captureEnd=position;character=input.charCodeAt(++position)}else{return true}}else if(CHAR_LINE_FEED===character||CHAR_CARRIAGE_RETURN===character){captureSegment(captureStart,captureEnd,true);writeFoldedLines(skipSeparationSpace(false,nodeIndent));captureStart=captureEnd=position;character=input.charCodeAt(position)}else if(position===lineStart&&testDocumentSeparator()){throwError("unexpected end of the document within a single quoted scalar")}else{character=input.charCodeAt(++position);captureEnd=position}}throwError("unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(nodeIndent){var captureStart,captureEnd,hexLength,hexIndex,hexOffset,hexResult;if(CHAR_DOUBLE_QUOTE!==character){return false}kind=KIND_STRING;result="";character=input.charCodeAt(++position);captureStart=captureEnd=position;while(position<length){if(CHAR_DOUBLE_QUOTE===character){captureSegment(captureStart,position,true);character=input.charCodeAt(++position);return true}else if(CHAR_BACKSLASH===character){captureSegment(captureStart,position,true);character=input.charCodeAt(++position);if(CHAR_LINE_FEED===character||CHAR_CARRIAGE_RETURN===character){skipSeparationSpace(false,nodeIndent)}else if(SIMPLE_ESCAPE_SEQUENCES[character]){result+=SIMPLE_ESCAPE_SEQUENCES[character];character=input.charCodeAt(++position)}else if(HEXADECIMAL_ESCAPE_SEQUENCES[character]){hexLength=HEXADECIMAL_ESCAPE_SEQUENCES[character];hexResult=0;for(hexIndex=1;hexIndex<=hexLength;hexIndex+=1){hexOffset=(hexLength-hexIndex)*4;character=input.charCodeAt(++position);if(CHAR_DIGIT_ZERO<=character&&character<=CHAR_DIGIT_NINE){hexResult|=character-CHAR_DIGIT_ZERO<<hexOffset}else if(CHAR_CAPITAL_A<=character&&character<=CHAR_CAPITAL_F){hexResult|=character-CHAR_CAPITAL_A+10<<hexOffset}else if(CHAR_SMALL_A<=character&&character<=CHAR_SMALL_F){hexResult|=character-CHAR_SMALL_A+10<<hexOffset}else{throwError("expected hexadecimal character")}}result+=String.fromCharCode(hexResult);character=input.charCodeAt(++position)}else{throwError("unknown escape sequence")}captureStart=captureEnd=position}else if(CHAR_LINE_FEED===character||CHAR_CARRIAGE_RETURN===character){captureSegment(captureStart,captureEnd,true);writeFoldedLines(skipSeparationSpace(false,nodeIndent));captureStart=captureEnd=position;character=input.charCodeAt(position)}else if(position===lineStart&&testDocumentSeparator()){throwError("unexpected end of the document within a double quoted scalar")}else{character=input.charCodeAt(++position);captureEnd=position}}throwError("unexpected end of the stream within a double quoted scalar")}function readFlowCollection(nodeIndent){var readNext=true,_line,_tag=tag,_result,following,terminator,isPair,isExplicitPair,isMapping,keyNode,keyTag,valueNode;switch(character){case CHAR_LEFT_SQUARE_BRACKET:terminator=CHAR_RIGHT_SQUARE_BRACKET;isMapping=false;_result=[];break;case CHAR_LEFT_CURLY_BRACKET:terminator=CHAR_RIGHT_CURLY_BRACKET;isMapping=true;_result={};break;default:return false}if(null!==anchor){anchorMap[anchor]=_result}character=input.charCodeAt(++position);while(position<length){skipSeparationSpace(true,nodeIndent);if(character===terminator){character=input.charCodeAt(++position);tag=_tag;kind=isMapping?KIND_OBJECT:KIND_ARRAY;result=_result;return true}else if(!readNext){throwError("missed comma between flow collection entries")}keyTag=keyNode=valueNode=null;isPair=isExplicitPair=false;if(CHAR_QUESTION===character){following=input.charCodeAt(position+1);if(CHAR_SPACE===following||CHAR_TAB===following||CHAR_LINE_FEED===following||CHAR_CARRIAGE_RETURN===following){isPair=isExplicitPair=true;position+=1;character=following;skipSeparationSpace(true,nodeIndent)}}_line=line;composeNode(nodeIndent,CONTEXT_FLOW_IN,false,true);keyTag=tag;keyNode=result;if((isExplicitPair||line===_line)&&CHAR_COLON===character){isPair=true;character=input.charCodeAt(++position);skipSeparationSpace(true,nodeIndent);composeNode(nodeIndent,CONTEXT_FLOW_IN,false,true);valueNode=result}if(isMapping){storeMappingPair(_result,keyTag,keyNode,valueNode)}else if(isPair){_result.push(storeMappingPair(null,keyTag,keyNode,valueNode))}else{_result.push(keyNode)}skipSeparationSpace(true,nodeIndent);if(CHAR_COMMA===character){readNext=true;character=input.charCodeAt(++position)}else{readNext=false}}throwError("unexpected end of the stream within a flow collection")}function readBlockScalar(nodeIndent){var captureStart,folding,chomping=CHOMPING_CLIP,detectedIndent=false,textIndent=nodeIndent,emptyLines=-1;switch(character){case CHAR_VERTICAL_LINE:folding=false;break;case CHAR_GREATER_THAN:folding=true;break;default:return false}kind=KIND_STRING;result="";while(position<length){character=input.charCodeAt(++position);if(CHAR_PLUS===character||CHAR_MINUS===character){if(CHOMPING_CLIP===chomping){chomping=CHAR_PLUS===character?CHOMPING_KEEP:CHOMPING_STRIP}else{throwError("repeat of a chomping mode identifier")}}else if(CHAR_DIGIT_ZERO<=character&&character<=CHAR_DIGIT_NINE){if(CHAR_DIGIT_ZERO===character){throwError("bad explicit indentation width of a block scalar; it cannot be less than one")}else if(!detectedIndent){textIndent=nodeIndent+(character-CHAR_DIGIT_ONE);detectedIndent=true}else{throwError("repeat of an indentation width identifier")}}else{break}}if(CHAR_SPACE===character||CHAR_TAB===character){do{character=input.charCodeAt(++position)}while(CHAR_SPACE===character||CHAR_TAB===character);if(CHAR_SHARP===character){do{character=input.charCodeAt(++position)}while(position<length&&CHAR_LINE_FEED!==character&&CHAR_CARRIAGE_RETURN!==character)}}while(position<length){readLineBreak();lineIndent=0;while((!detectedIndent||lineIndent<textIndent)&&CHAR_SPACE===character){lineIndent+=1;character=input.charCodeAt(++position)}if(!detectedIndent&&lineIndent>textIndent){textIndent=lineIndent}if(CHAR_LINE_FEED===character||CHAR_CARRIAGE_RETURN===character){emptyLines+=1;continue}if(lineIndent<textIndent){if(CHOMPING_KEEP===chomping){result+=common.repeat("\n",emptyLines+1)}else if(CHOMPING_CLIP===chomping){result+="\n"}break}detectedIndent=true;if(folding){if(CHAR_SPACE===character||CHAR_TAB===character){result+=common.repeat("\n",emptyLines+1);emptyLines=1}else if(0===emptyLines){result+=" ";emptyLines=0}else{result+=common.repeat("\n",emptyLines);emptyLines=0}}else{result+=common.repeat("\n",emptyLines+1);emptyLines=0}captureStart=position;do{character=input.charCodeAt(++position)}while(position<length&&CHAR_LINE_FEED!==character&&CHAR_CARRIAGE_RETURN!==character);captureSegment(captureStart,position,false)}return true}function readBlockSequence(nodeIndent){var _line,_tag=tag,_result=[],following,detected=false;if(null!==anchor){anchorMap[anchor]=_result}while(position<length){if(CHAR_MINUS!==character){break}following=input.charCodeAt(position+1);if(CHAR_SPACE!==following&&CHAR_TAB!==following&&CHAR_LINE_FEED!==following&&CHAR_CARRIAGE_RETURN!==following){break}detected=true;position+=1;character=following;if(skipSeparationSpace(true,-1)){if(lineIndent<=nodeIndent){_result.push(null);continue}}_line=line;composeNode(nodeIndent,CONTEXT_BLOCK_IN,false,true);_result.push(result);skipSeparationSpace(true,-1);if((line===_line||lineIndent>nodeIndent)&&position<length){throwError("bad indentation of a sequence entry")}else if(lineIndent<nodeIndent){break}}if(detected){tag=_tag;kind=KIND_ARRAY;result=_result;return true}else{return false}}function readBlockMapping(nodeIndent){var following,allowCompact,_line,_tag=tag,_result={},keyTag=null,keyNode=null,valueNode=null,atExplicitKey=false,detected=false;if(null!==anchor){anchorMap[anchor]=_result}while(position<length){following=input.charCodeAt(position+1);_line=line;if((CHAR_QUESTION===character||CHAR_COLON===character)&&(CHAR_SPACE===following||CHAR_TAB===following||CHAR_LINE_FEED===following||CHAR_CARRIAGE_RETURN===following)){if(CHAR_QUESTION===character){if(atExplicitKey){storeMappingPair(_result,keyTag,keyNode,null);keyTag=keyNode=valueNode=null}detected=true;atExplicitKey=true;allowCompact=true}else if(atExplicitKey){atExplicitKey=false;allowCompact=true}else{throwError("incomplete explicit mapping pair; a key node is missed")}position+=1;character=following}else if(composeNode(nodeIndent,CONTEXT_FLOW_OUT,false,true)){if(line===_line){while(CHAR_SPACE===character||CHAR_TAB===character){character=input.charCodeAt(++position)}if(CHAR_COLON===character){character=input.charCodeAt(++position);if(CHAR_SPACE!==character&&CHAR_TAB!==character&&CHAR_LINE_FEED!==character&&CHAR_CARRIAGE_RETURN!==character){throwError("a whitespace character is expected after the key-value separator within a block mapping")}if(atExplicitKey){storeMappingPair(_result,keyTag,keyNode,null);keyTag=keyNode=valueNode=null}detected=true;atExplicitKey=false;allowCompact=false;keyTag=tag;keyNode=result}else if(detected){throwError("can not read an implicit mapping pair; a colon is missed")}else{tag=_tag;return true}}else if(detected){throwError("can not read a block mapping entry; a multiline key may not be an implicit key")}else{tag=_tag;return true}}else{break}if(line===_line||lineIndent>nodeIndent){if(composeNode(nodeIndent,CONTEXT_BLOCK_OUT,true,allowCompact)){if(atExplicitKey){keyNode=result}else{valueNode=result}}if(!atExplicitKey){storeMappingPair(_result,keyTag,keyNode,valueNode);keyTag=keyNode=valueNode=null}skipSeparationSpace(true,-1)}if(lineIndent>nodeIndent&&position<length){throwError("bad indentation of a mapping entry")}else if(lineIndent<nodeIndent){break}}if(atExplicitKey){storeMappingPair(_result,keyTag,keyNode,null)}if(detected){tag=_tag;kind=KIND_OBJECT;result=_result}return detected}function readTagProperty(){var _position,isVerbatim=false,isNamed=false,tagHandle,tagName;if(CHAR_EXCLAMATION!==character){return false}if(null!==tag){throwError("duplication of a tag property")}character=input.charCodeAt(++position);if(CHAR_LESS_THAN===character){isVerbatim=true;character=input.charCodeAt(++position)}else if(CHAR_EXCLAMATION===character){isNamed=true;tagHandle="!!";character=input.charCodeAt(++position)}else{tagHandle="!"}_position=position;if(isVerbatim){do{character=input.charCodeAt(++position)}while(position<length&&CHAR_GREATER_THAN!==character);if(position<length){tagName=input.slice(_position,position);character=input.charCodeAt(++position)}else{throwError("unexpected end of the stream within a verbatim tag")}}else{while(position<length&&CHAR_SPACE!==character&&CHAR_TAB!==character&&CHAR_LINE_FEED!==character&&CHAR_CARRIAGE_RETURN!==character){if(CHAR_EXCLAMATION===character){if(!isNamed){tagHandle=input.slice(_position-1,position+1);if(validate&&!PATTERN_TAG_HANDLE.test(tagHandle)){throwError("named tag handle cannot contain such characters")}isNamed=true;_position=position+1}else{throwError("tag suffix cannot contain exclamation marks")}}character=input.charCodeAt(++position)}tagName=input.slice(_position,position);if(validate&&PATTERN_FLOW_INDICATORS.test(tagName)){throwError("tag suffix cannot contain flow indicator characters")}}if(validate&&tagName&&!PATTERN_TAG_URI.test(tagName)){throwError("tag name cannot contain such characters: "+tagName)}if(isVerbatim){tag=tagName}else if(_hasOwnProperty.call(tagMap,tagHandle)){tag=tagMap[tagHandle]+tagName}else if("!"===tagHandle){tag="!"+tagName}else if("!!"===tagHandle){tag="tag:yaml.org,2002:"+tagName}else{throwError('undeclared tag handle "'+tagHandle+'"')}return true}function readAnchorProperty(){var _position;if(CHAR_AMPERSAND!==character){return false}if(null!==anchor){throwError("duplication of an anchor property")}character=input.charCodeAt(++position);_position=position;while(position<length&&CHAR_SPACE!==character&&CHAR_TAB!==character&&CHAR_LINE_FEED!==character&&CHAR_CARRIAGE_RETURN!==character&&CHAR_COMMA!==character&&CHAR_LEFT_SQUARE_BRACKET!==character&&CHAR_RIGHT_SQUARE_BRACKET!==character&&CHAR_LEFT_CURLY_BRACKET!==character&&CHAR_RIGHT_CURLY_BRACKET!==character){character=input.charCodeAt(++position)}if(position===_position){throwError("name of an anchor node must contain at least one character")}anchor=input.slice(_position,position);return true}function readAlias(){var _position,alias;if(CHAR_ASTERISK!==character){return false}character=input.charCodeAt(++position);_position=position;while(position<length&&CHAR_SPACE!==character&&CHAR_TAB!==character&&CHAR_LINE_FEED!==character&&CHAR_CARRIAGE_RETURN!==character&&CHAR_COMMA!==character&&CHAR_LEFT_SQUARE_BRACKET!==character&&CHAR_RIGHT_SQUARE_BRACKET!==character&&CHAR_LEFT_CURLY_BRACKET!==character&&CHAR_RIGHT_CURLY_BRACKET!==character){character=input.charCodeAt(++position)}if(position===_position){throwError("name of an alias node must contain at least one character")}alias=input.slice(_position,position);if(!anchorMap.hasOwnProperty(alias)){throwError('unidentified alias "'+alias+'"')}result=anchorMap[alias];skipSeparationSpace(true,-1);return true}function composeNode(parentIndent,nodeContext,allowToSeek,allowCompact){var allowBlockStyles,allowBlockScalars,allowBlockCollections,atNewLine=false,isIndented=true,hasContent=false,typeIndex,typeQuantity,type,typeLoader,flowIndent,blockIndent,_result;tag=null;anchor=null;kind=null;result=null;allowBlockStyles=allowBlockScalars=allowBlockCollections=CONTEXT_BLOCK_OUT===nodeContext||CONTEXT_BLOCK_IN===nodeContext;if(allowToSeek){if(skipSeparationSpace(true,-1)){atNewLine=true;if(lineIndent===parentIndent){isIndented=false}else if(lineIndent>parentIndent){isIndented=true}else{return false}}}if(isIndented){while(readTagProperty()||readAnchorProperty()){if(skipSeparationSpace(true,-1)){atNewLine=true;if(lineIndent>parentIndent){isIndented=true;allowBlockCollections=allowBlockStyles}else if(lineIndent===parentIndent){isIndented=false;allowBlockCollections=allowBlockStyles}else{return true}}else{allowBlockCollections=false}}}if(allowBlockCollections){allowBlockCollections=atNewLine||allowCompact}if(isIndented||CONTEXT_BLOCK_OUT===nodeContext){if(CONTEXT_FLOW_IN===nodeContext||CONTEXT_FLOW_OUT===nodeContext){flowIndent=parentIndent}else{flowIndent=parentIndent+1}blockIndent=position-lineStart;if(isIndented){if(allowBlockCollections&&(readBlockSequence(blockIndent)||readBlockMapping(blockIndent))||readFlowCollection(flowIndent)){hasContent=true}else{if(allowBlockScalars&&readBlockScalar(flowIndent)||readSingleQuotedScalar(flowIndent)||readDoubleQuotedScalar(flowIndent)){hasContent=true}else if(readAlias()){hasContent=true;if(null!==tag||null!==anchor){throwError("alias node should not have any properties")}}else if(readPlainScalar(flowIndent,CONTEXT_FLOW_IN===nodeContext)){hasContent=true;if(null===tag){tag="?"}}if(null!==anchor){anchorMap[anchor]=result}}}else{hasContent=allowBlockCollections&&readBlockSequence(blockIndent)}}if(null!==tag&&"!"!==tag){if("?"===tag){if(resolve){for(typeIndex=0,typeQuantity=implicitTypes.length;typeIndex<typeQuantity;typeIndex+=1){type=implicitTypes[typeIndex];_result=type.loader.resolver(result,false);if(NIL!==_result){tag=type.tag;result=_result;break}}}}else if(_hasOwnProperty.call(typeMap,tag)){typeLoader=typeMap[tag].loader;if(null!==result&&typeLoader.kind!==kind){throwError("unacceptable node kind for !<"+tag+'> tag; it should be "'+typeLoader.kind+'", not "'+kind+'"')}if(typeLoader.resolver){_result=typeLoader.resolver(result,true);if(NIL!==_result){result=_result}else{throwError("cannot resolve a node with !<"+tag+"> explicit tag")}}}else{throwWarning("unknown tag !<"+tag+">")}}return null!==tag||null!==anchor||hasContent}function readDocument(){var documentStart=position,_position,directiveName,directiveArgs,hasDirectives=false;version=null;checkLineBreaks=legacy;tagMap={};anchorMap={};while(position<length){skipSeparationSpace(true,-1);if(lineIndent>0||CHAR_PERCENT!==character){break}hasDirectives=true;character=input.charCodeAt(++position);_position=position;while(position<length&&CHAR_SPACE!==character&&CHAR_TAB!==character&&CHAR_LINE_FEED!==character&&CHAR_CARRIAGE_RETURN!==character){character=input.charCodeAt(++position)}directiveName=input.slice(_position,position);directiveArgs=[];if(directiveName.length<1){throwError("directive name must not be less than one character in length")}while(position<length){while(CHAR_SPACE===character||CHAR_TAB===character){character=input.charCodeAt(++position)}if(CHAR_SHARP===character){do{character=input.charCodeAt(++position)}while(position<length&&CHAR_LINE_FEED!==character&&CHAR_CARRIAGE_RETURN!==character);break}if(CHAR_LINE_FEED===character||CHAR_CARRIAGE_RETURN===character){break}_position=position;while(position<length&&CHAR_SPACE!==character&&CHAR_TAB!==character&&CHAR_LINE_FEED!==character&&CHAR_CARRIAGE_RETURN!==character){character=input.charCodeAt(++position)}directiveArgs.push(input.slice(_position,position))}if(position<length){readLineBreak()}if(_hasOwnProperty.call(directiveHandlers,directiveName)){directiveHandlers[directiveName](directiveName,directiveArgs)}else{throwWarning('unknown document directive "'+directiveName+'"')}}skipSeparationSpace(true,-1);if(0===lineIndent&&CHAR_MINUS===character&&CHAR_MINUS===input.charCodeAt(position+1)&&CHAR_MINUS===input.charCodeAt(position+2)){position+=3;character=input.charCodeAt(position);skipSeparationSpace(true,-1)}else if(hasDirectives){throwError("directives end mark is expected")}composeNode(lineIndent-1,CONTEXT_BLOCK_OUT,false,true);skipSeparationSpace(true,-1);if(validate&&checkLineBreaks&&PATTERN_NON_ASCII_LINE_BREAKS.test(input.slice(documentStart,position))){throwWarning("non-ASCII line breaks are interpreted as content")}output(result);if(position===lineStart&&testDocumentSeparator()){if(CHAR_DOT===character){position+=3;character=input.charCodeAt(position);skipSeparationSpace(true,-1)}return}if(position<length){throwError("end of the stream or a document separator is expected")}else{return}}if(validate&&PATTERN_NON_PRINTABLE.test(input)){throwError("the stream contains non-printable characters")}while(CHAR_SPACE===character){lineIndent+=1;character=input.charCodeAt(++position)}while(position<length){readDocument()}}function load(input,options){var result=null,received=false;function callback(data){if(!received){result=data;received=true}else{throw new YAMLException("expected a single document in the stream, but found more")}}loadAll(input,callback,options);return result}function safeLoadAll(input,output,options){loadAll(input,output,common.extend({schema:DEFAULT_SAFE_SCHEMA},options))}function safeLoad(input,options){return load(input,common.extend({schema:DEFAULT_SAFE_SCHEMA},options))}module.exports.loadAll=loadAll;module.exports.load=load;module.exports.safeLoadAll=safeLoadAll;module.exports.safeLoad=safeLoad},{"./common":12,"./exception":13,"./mark":15,"./schema/default_safe":8,"./schema/default_full":9}],3:[function(require,module,exports){(function(){"use strict";
var common=require("./common");var NIL=common.NIL;var YAMLException=require("./exception");var DEFAULT_FULL_SCHEMA=require("./schema/default_full");var DEFAULT_SAFE_SCHEMA=require("./schema/default_safe");var _hasOwnProperty=Object.prototype.hasOwnProperty;var CHAR_TAB=9;var CHAR_LINE_FEED=10;var CHAR_CARRIAGE_RETURN=13;var CHAR_SPACE=32;var CHAR_EXCLAMATION=33;var CHAR_DOUBLE_QUOTE=34;var CHAR_SHARP=35;var CHAR_PERCENT=37;var CHAR_AMPERSAND=38;var CHAR_SINGLE_QUOTE=39;var CHAR_ASTERISK=42;var CHAR_COMMA=44;var CHAR_MINUS=45;var CHAR_COLON=58;var CHAR_GREATER_THAN=62;var CHAR_QUESTION=63;var CHAR_COMMERCIAL_AT=64;var CHAR_LEFT_SQUARE_BRACKET=91;var CHAR_RIGHT_SQUARE_BRACKET=93;var CHAR_GRAVE_ACCENT=96;var CHAR_LEFT_CURLY_BRACKET=123;var CHAR_VERTICAL_LINE=124;var CHAR_RIGHT_CURLY_BRACKET=125;var ESCAPE_SEQUENCES={};ESCAPE_SEQUENCES[0]="\\0";ESCAPE_SEQUENCES[7]="\\a";ESCAPE_SEQUENCES[8]="\\b";ESCAPE_SEQUENCES[9]="\\t";ESCAPE_SEQUENCES[10]="\\n";ESCAPE_SEQUENCES[11]="\\v";ESCAPE_SEQUENCES[12]="\\f";ESCAPE_SEQUENCES[13]="\\r";ESCAPE_SEQUENCES[27]="\\e";ESCAPE_SEQUENCES[34]='\\"';ESCAPE_SEQUENCES[92]="\\\\";ESCAPE_SEQUENCES[133]="\\N";ESCAPE_SEQUENCES[160]="\\_";ESCAPE_SEQUENCES[8232]="\\L";ESCAPE_SEQUENCES[8233]="\\P";function kindOf(object){var kind=typeof object;if(null===object){return"null"}else if("number"===kind){return 0===object%1?"integer":"float"}else if("object"===kind&&Array.isArray(object)){return"array"}else{return kind}}function compileStyleMap(schema,map){var result,keys,index,length,tag,style,type;if(null===map){return{}}result={};keys=Object.keys(map);for(index=0,length=keys.length;index<length;index+=1){tag=keys[index];style=String(map[tag]);if("!!"===tag.slice(0,2)){tag="tag:yaml.org,2002:"+tag.slice(2)}type=schema.compiledTypeMap[tag];if(type&&type.dumper){if(_hasOwnProperty.call(type.dumper.styleAliases,style)){style=type.dumper.styleAliases[style]}}result[tag]=style}return result}function encodeHex(character){var string,handle,length;string=character.toString(16).toUpperCase();if(character<=255){handle="x";length=2}else if(character<=65535){handle="u";length=4}else if(character<=4294967295){handle="U";length=8}else{throw new YAMLException("code point within a string may not be greater than 0xFFFFFFFF")}return"\\"+handle+common.repeat("0",length-string.length)+string}function dump(input,options){options=options||{};var schema=options["schema"]||DEFAULT_FULL_SCHEMA,indent=Math.max(1,options["indent"]||2),skipInvalid=options["skipInvalid"]||false,flowLevel=common.isNothing(options["flowLevel"])?-1:options["flowLevel"],styleMap=compileStyleMap(schema,options["styles"]||null),implicitTypes=schema.compiledImplicit,explicitTypes=schema.compiledExplicit,kind,tag,result;function generateNextLine(level){return"\n"+common.repeat(" ",indent*level)}function testImplicitResolving(object){var index,length,type;for(index=0,length=implicitTypes.length;index<length;index+=1){type=implicitTypes[index];if(null!==type.loader&&NIL!==type.loader.resolver(object,false)){return true}}return false}function writeScalar(object){var isQuoted,checkpoint,position,length,character;result="";isQuoted=false;checkpoint=0;if(0===object.length||CHAR_SPACE===object.charCodeAt(0)||CHAR_SPACE===object.charCodeAt(object.length-1)){isQuoted=true}for(position=0,length=object.length;position<length;position+=1){character=object.charCodeAt(position);if(!isQuoted){if(CHAR_TAB===character||CHAR_LINE_FEED===character||CHAR_CARRIAGE_RETURN===character||CHAR_COMMA===character||CHAR_LEFT_SQUARE_BRACKET===character||CHAR_RIGHT_SQUARE_BRACKET===character||CHAR_LEFT_CURLY_BRACKET===character||CHAR_RIGHT_CURLY_BRACKET===character||CHAR_SHARP===character||CHAR_AMPERSAND===character||CHAR_ASTERISK===character||CHAR_EXCLAMATION===character||CHAR_VERTICAL_LINE===character||CHAR_GREATER_THAN===character||CHAR_SINGLE_QUOTE===character||CHAR_DOUBLE_QUOTE===character||CHAR_PERCENT===character||CHAR_COMMERCIAL_AT===character||CHAR_GRAVE_ACCENT===character||CHAR_QUESTION===character||CHAR_COLON===character||CHAR_MINUS===character){isQuoted=true}}if(ESCAPE_SEQUENCES[character]||!(32<=character&&character<=126||133===character||160<=character&&character<=55295||57344<=character&&character<=65533||65536<=character&&character<=1114111)){result+=object.slice(checkpoint,position);result+=ESCAPE_SEQUENCES[character]||encodeHex(character);checkpoint=position+1;isQuoted=true}}if(checkpoint<position){result+=object.slice(checkpoint,position)}if(!isQuoted&&testImplicitResolving(result)){isQuoted=true}if(isQuoted){result='"'+result+'"'}}function writeFlowSequence(level,object){var _result="",_tag=tag,index,length;for(index=0,length=object.length;index<length;index+=1){if(writeNode(level,object[index],false,false)){if(0!==index){_result+=", "}_result+=result}}tag=_tag;result="["+_result+"]"}function writeBlockSequence(level,object,compact){var _result="",_tag=tag,index,length;for(index=0,length=object.length;index<length;index+=1){if(writeNode(level+1,object[index],true,true)){if(!compact||0!==index){_result+=generateNextLine(level)}_result+="- "+result}}tag=_tag;result=_result||"[]"}function writeFlowMapping(level,object){var _result="",_tag=tag,objectKeyList=Object.keys(object),index,length,objectKey,objectValue,pairBuffer;for(index=0,length=objectKeyList.length;index<length;index+=1){pairBuffer="";if(0!==index){pairBuffer+=", "}objectKey=objectKeyList[index];objectValue=object[objectKey];if(!writeNode(level,objectKey,false,false)){continue}if(result.length>1024){pairBuffer+="? "}pairBuffer+=result+": ";if(!writeNode(level,objectValue,false,false)){continue}pairBuffer+=result;_result+=pairBuffer}tag=_tag;result="{"+_result+"}"}function writeBlockMapping(level,object,compact){var _result="",_tag=tag,objectKeyList=Object.keys(object),index,length,objectKey,objectValue,explicitPair,pairBuffer;for(index=0,length=objectKeyList.length;index<length;index+=1){pairBuffer="";if(!compact||0!==index){pairBuffer+=generateNextLine(level)}objectKey=objectKeyList[index];objectValue=object[objectKey];if(!writeNode(level+1,objectKey,true,true)){continue}explicitPair=null!==tag&&"?"!==tag&&result.length<=1024;if(explicitPair){pairBuffer+="? "}pairBuffer+=result;if(explicitPair){pairBuffer+=generateNextLine(level)}if(!writeNode(level+1,objectValue,true,explicitPair)){continue}pairBuffer+=": "+result;_result+=pairBuffer}tag=_tag;result=_result||"{}"}function detectType(object,explicit){var _result,typeList,index,length,type,style;typeList=explicit?explicitTypes:implicitTypes;kind=kindOf(object);for(index=0,length=typeList.length;index<length;index+=1){type=typeList[index];if(null!==type.dumper&&(null===type.dumper.kind||kind===type.dumper.kind)&&(null===type.dumper.instanceOf||object instanceof type.dumper.instanceOf)&&(null===type.dumper.predicate||type.dumper.predicate(object))){tag=explicit?type.tag:"?";if(null!==type.dumper.representer){style=styleMap[type.tag]||type.dumper.defaultStyle;if("function"===typeof type.dumper.representer){_result=type.dumper.representer(object,style)}else if(_hasOwnProperty.call(type.dumper.representer,style)){_result=type.dumper.representer[style](object,style)}else{throw new YAMLException("!<"+type.tag+'> tag resolver accepts not "'+style+'" style')}if(NIL!==_result){kind=kindOf(_result);result=_result}else{if(explicit){throw new YAMLException("cannot represent an object of !<"+type.tag+"> type")}else{continue}}}return true}}return false}function writeNode(level,object,block,compact){tag=null;result=object;if(!detectType(object,false)){detectType(object,true)}if(block){block=0>flowLevel||flowLevel>level}if(null!==tag&&"?"!==tag||2!==indent&&level>0){compact=false}if("object"===kind){if(block&&0!==Object.keys(result).length){writeBlockMapping(level,result,compact)}else{writeFlowMapping(level,result)}}else if("array"===kind){if(block&&0!==result.length){writeBlockSequence(level,result,compact)}else{writeFlowSequence(level,result)}}else if("string"===kind){if("?"!==tag){writeScalar(result)}}else if(skipInvalid){return false}else{throw new YAMLException("unacceptabe kind of an object to dump ("+kind+")")}if(null!==tag&&"?"!==tag){result="!<"+tag+"> "+result}return true}if(writeNode(0,input,true,true)){return result+"\n"}else{return""}}function safeDump(input,options){return dump(input,common.extend({schema:DEFAULT_SAFE_SCHEMA},options))}module.exports.dump=dump;module.exports.safeDump=safeDump})()},{"./common":12,"./exception":13,"./schema/default_full":9,"./schema/default_safe":8}],4:[function(require,module,exports){"use strict";var YAMLException=require("./exception");function Type(tag,options){options=options||{};this.tag=tag;this.loader=options["loader"]||null;this.dumper=options["dumper"]||null;if(null===this.loader&&null===this.dumper){throw new YAMLException('Incomplete YAML type definition. "loader" or "dumper" setting must be specified.')}if(null!==this.loader){this.loader=new Type.Loader(this.loader)}if(null!==this.dumper){this.dumper=new Type.Dumper(this.dumper)}}Type.Loader=function TypeLoader(options){options=options||{};this.kind=options["kind"]||null;this.resolver=options["resolver"]||null;if("string"!==this.kind&&"array"!==this.kind&&"object"!==this.kind){throw new YAMLException('Unacceptable "kind" setting of a type loader.')}};function compileAliases(map){var result={};if(null!==map){Object.keys(map).forEach(function(style){map[style].forEach(function(alias){result[String(alias)]=style})})}return result}Type.Dumper=function TypeDumper(options){options=options||{};this.kind=options["kind"]||null;this.defaultStyle=options["defaultStyle"]||null;this.instanceOf=options["instanceOf"]||null;this.predicate=options["predicate"]||null;this.representer=options["representer"]||null;this.styleAliases=compileAliases(options["styleAliases"]||null);if("undefined"!==this.kind&&"null"!==this.kind&&"boolean"!==this.kind&&"integer"!==this.kind&&"float"!==this.kind&&"string"!==this.kind&&"array"!==this.kind&&"object"!==this.kind&&"function"!==this.kind){throw new YAMLException('Unacceptable "kind" setting of a type dumper.')}};module.exports=Type},{"./exception":13}],10:[function(require,module,exports){"use strict";var fs=require("fs");var loader=require("./loader");function yamlRequireHandler(module,filename){var content=fs.readFileSync(filename,"utf8");module.exports=loader.safeLoad(content,{filename:filename})}if(undefined!==require.extensions){require.extensions[".yml"]=yamlRequireHandler;require.extensions[".yaml"]=yamlRequireHandler}module.exports=require},{fs:14,"./loader":2}],12:[function(require,module,exports){"use strict";var NIL={};function isNothing(subject){return undefined===subject||null===subject}function isObject(subject){return"object"===typeof subject&&null!==subject}function toArray(sequence){if(Array.isArray(sequence)){return sequence}else if(isNothing(sequence)){return[]}else{return[sequence]}}function extend(target,source){var index,length,key,sourceKeys;if(source){sourceKeys=Object.keys(source);for(index=0,length=sourceKeys.length;index<length;index+=1){key=sourceKeys[index];target[key]=source[key]}}return target}function repeat(string,count){var result="",cycle;for(cycle=0;cycle<count;cycle+=1){result+=string}return result}module.exports.NIL=NIL;module.exports.isNothing=isNothing;module.exports.isObject=isObject;module.exports.toArray=toArray;module.exports.repeat=repeat;module.exports.extend=extend},{}],13:[function(require,module,exports){"use strict";function YAMLException(reason,mark){this.name="YAMLException";this.reason=reason;this.mark=mark;this.message=this.toString(false)}YAMLException.prototype.toString=function toString(compact){var result;result="JS-YAML: "+(this.reason||"(unknown reason)");if(!compact&&this.mark){result+=" "+this.mark.toString()}return result};module.exports=YAMLException},{}],5:[function(require,module,exports){"use strict";var Schema=require("../schema");module.exports=new Schema({explicit:[require("../type/str"),require("../type/seq"),require("../type/map")]})},{"../schema":11,"../type/str":16,"../type/seq":17,"../type/map":18}],6:[function(require,module,exports){"use strict";var Schema=require("../schema");module.exports=new Schema({include:[require("./failsafe")],implicit:[require("../type/null"),require("../type/bool"),require("../type/int"),require("../type/float")]})},{"../schema":11,"./failsafe":5,"../type/null":19,"../type/bool":20,"../type/int":21,"../type/float":22}],7:[function(require,module,exports){"use strict";var Schema=require("../schema");module.exports=new Schema({include:[require("./json")]})},{"../schema":11,"./json":6}],8:[function(require,module,exports){"use strict";var Schema=require("../schema");module.exports=new Schema({include:[require("./core")],implicit:[require("../type/timestamp"),require("../type/merge")],explicit:[require("../type/binary"),require("../type/omap"),require("../type/pairs"),require("../type/set")]})},{"../schema":11,"./core":7,"../type/timestamp":23,"../type/merge":24,"../type/binary":25,"../type/omap":26,"../type/pairs":27,"../type/set":28}],9:[function(require,module,exports){"use strict";var Schema=require("../schema");module.exports=Schema.DEFAULT=new Schema({include:[require("./default_safe")],explicit:[require("../type/js/undefined"),require("../type/js/regexp"),require("../type/js/function")]})},{"../schema":11,"./default_safe":8,"../type/js/undefined":29,"../type/js/regexp":30,"../type/js/function":31}],11:[function(require,module,exports){"use strict";var common=require("./common");var YAMLException=require("./exception");var Type=require("./type");function compileList(schema,name,result){var exclude=[];schema.include.forEach(function(includedSchema){result=compileList(includedSchema,name,result)});schema[name].forEach(function(currentType){result.forEach(function(previousType,previousIndex){if(previousType.tag===currentType.tag){exclude.push(previousIndex)}});result.push(currentType)});return result.filter(function(type,index){return-1===exclude.indexOf(index)})}function compileMap(){var result={},index,length;function collectType(type){result[type.tag]=type}for(index=0,length=arguments.length;index<length;index+=1){arguments[index].forEach(collectType)}return result}function Schema(definition){this.include=definition.include||[];this.implicit=definition.implicit||[];this.explicit=definition.explicit||[];this.implicit.forEach(function(type){if(null!==type.loader&&"string"!==type.loader.kind){throw new YAMLException("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}});this.compiledImplicit=compileList(this,"implicit",[]);this.compiledExplicit=compileList(this,"explicit",[]);this.compiledTypeMap=compileMap(this.compiledImplicit,this.compiledExplicit)}Schema.DEFAULT=null;Schema.create=function createSchema(){var schemas,types;switch(arguments.length){case 1:schemas=Schema.DEFAULT;types=arguments[0];break;case 2:schemas=arguments[0];types=arguments[1];break;default:throw new YAMLException("Wrong number of arguments for Schema.create function")}schemas=common.toArray(schemas);types=common.toArray(types);if(!schemas.every(function(schema){return schema instanceof Schema})){throw new YAMLException("Specified list of super schemas (or a single Schema object) contains a non-Schema object.")}if(!types.every(function(type){return type instanceof Type})){throw new YAMLException("Specified list of YAML types (or a single Type object) contains a non-Type object.")}return new Schema({include:schemas,explicit:types})};module.exports=Schema},{"./common":12,"./exception":13,"./type":4}],15:[function(require,module,exports){"use strict";var common=require("./common");function Mark(name,buffer,position,line,column){this.name=name;this.buffer=buffer;this.position=position;this.line=line;this.column=column}Mark.prototype.getSnippet=function getSnippet(indent,maxLength){var head,start,tail,end,snippet;if(!this.buffer){return null}indent=indent||4;maxLength=maxLength||75;head="";start=this.position;while(start>0&&-1==="\0\r\n\u2028\u2029".indexOf(this.buffer.charAt(start-1))){start-=1;if(this.position-start>maxLength/2-1){head=" ... ";start+=5;break}}tail="";end=this.position;while(end<this.buffer.length&&-1==="\0\r\n\u2028\u2029".indexOf(this.buffer.charAt(end))){end+=1;if(end-this.position>maxLength/2-1){tail=" ... ";end-=5;break}}snippet=this.buffer.slice(start,end);return common.repeat(" ",indent)+head+snippet+tail+"\n"+common.repeat(" ",indent+this.position-start+head.length)+"^"};Mark.prototype.toString=function toString(compact){var snippet,where="";if(this.name){where+='in "'+this.name+'" '}where+="at line "+(this.line+1)+", column "+(this.column+1);if(!compact){snippet=this.getSnippet();if(snippet){where+=":\n"+snippet}}return where};module.exports=Mark},{"./common":12}],32:[function(require,module,exports){(function(){var util=require("util");var Buffer=require("buffer").Buffer;var pSlice=Array.prototype.slice;function objectKeys(object){if(Object.keys)return Object.keys(object);var result=[];for(var name in object){if(Object.prototype.hasOwnProperty.call(object,name)){result.push(name)}}return result}var assert=module.exports=ok;assert.AssertionError=function AssertionError(options){this.name="AssertionError";this.message=options.message;this.actual=options.actual;this.expected=options.expected;this.operator=options.operator;var stackStartFunction=options.stackStartFunction||fail;if(Error.captureStackTrace){Error.captureStackTrace(this,stackStartFunction)}};util.inherits(assert.AssertionError,Error);function replacer(key,value){if(value===undefined){return""+value}if(typeof value==="number"&&(isNaN(value)||!isFinite(value))){return value.toString()}if(typeof value==="function"||value instanceof RegExp){return value.toString()}return value}function truncate(s,n){if(typeof s=="string"){return s.length<n?s:s.slice(0,n)}else{return s}}assert.AssertionError.prototype.toString=function(){if(this.message){return[this.name+":",this.message].join(" ")}else{return[this.name+":",truncate(JSON.stringify(this.actual,replacer),128),this.operator,truncate(JSON.stringify(this.expected,replacer),128)].join(" ")}};assert.AssertionError.__proto__=Error.prototype;function fail(actual,expected,message,operator,stackStartFunction){throw new assert.AssertionError({message:message,actual:actual,expected:expected,operator:operator,stackStartFunction:stackStartFunction})}assert.fail=fail;function ok(value,message){if(!!!value)fail(value,true,message,"==",assert.ok)}assert.ok=ok;assert.equal=function equal(actual,expected,message){if(actual!=expected)fail(actual,expected,message,"==",assert.equal)};assert.notEqual=function notEqual(actual,expected,message){if(actual==expected){fail(actual,expected,message,"!=",assert.notEqual)}};assert.deepEqual=function deepEqual(actual,expected,message){if(!_deepEqual(actual,expected)){fail(actual,expected,message,"deepEqual",assert.deepEqual)}};function _deepEqual(actual,expected){if(actual===expected){return true}else if(Buffer.isBuffer(actual)&&Buffer.isBuffer(expected)){if(actual.length!=expected.length)return false;for(var i=0;i<actual.length;i++){if(actual[i]!==expected[i])return false}return true}else if(actual instanceof Date&&expected instanceof Date){return actual.getTime()===expected.getTime()}else if(typeof actual!="object"&&typeof expected!="object"){return actual==expected}else{return objEquiv(actual,expected)}}function isUndefinedOrNull(value){return value===null||value===undefined}function isArguments(object){return Object.prototype.toString.call(object)=="[object Arguments]"}function objEquiv(a,b){if(isUndefinedOrNull(a)||isUndefinedOrNull(b))return false;if(a.prototype!==b.prototype)return false;if(isArguments(a)){if(!isArguments(b)){return false}a=pSlice.call(a);b=pSlice.call(b);return _deepEqual(a,b)}try{var ka=objectKeys(a),kb=objectKeys(b),key,i}catch(e){return false}if(ka.length!=kb.length)return false;ka.sort();kb.sort();for(i=ka.length-1;i>=0;i--){if(ka[i]!=kb[i])return false}for(i=ka.length-1;i>=0;i--){key=ka[i];if(!_deepEqual(a[key],b[key]))return false}return true}assert.notDeepEqual=function notDeepEqual(actual,expected,message){if(_deepEqual(actual,expected)){fail(actual,expected,message,"notDeepEqual",assert.notDeepEqual)}};assert.strictEqual=function strictEqual(actual,expected,message){if(actual!==expected){fail(actual,expected,message,"===",assert.strictEqual)}};assert.notStrictEqual=function notStrictEqual(actual,expected,message){if(actual===expected){fail(actual,expected,message,"!==",assert.notStrictEqual)}};function expectedException(actual,expected){if(!actual||!expected){return false}if(expected instanceof RegExp){return expected.test(actual)}else if(actual instanceof expected){return true}else if(expected.call({},actual)===true){return true}return false}function _throws(shouldThrow,block,expected,message){var actual;if(typeof expected==="string"){message=expected;expected=null}try{block()}catch(e){actual=e}message=(expected&&expected.name?" ("+expected.name+").":".")+(message?" "+message:".");if(shouldThrow&&!actual){fail("Missing expected exception"+message)}if(!shouldThrow&&expectedException(actual,expected)){fail("Got unwanted exception"+message)}if(shouldThrow&&actual&&expected&&!expectedException(actual,expected)||!shouldThrow&&actual){throw actual}}assert.throws=function(block,error,message){_throws.apply(this,[true].concat(pSlice.call(arguments)))};assert.doesNotThrow=function(block,error,message){_throws.apply(this,[false].concat(pSlice.call(arguments)))};assert.ifError=function(err){if(err){throw err}}})()},{util:33,buffer:34}],16:[function(require,module,exports){"use strict";var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:str",{loader:{kind:"string"}})},{"../type":4}],17:[function(require,module,exports){"use strict";var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:seq",{loader:{kind:"array"}})},{"../type":4}],18:[function(require,module,exports){"use strict";var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:map",{loader:{kind:"object"}})},{"../type":4}],19:[function(require,module,exports){"use strict";var NIL=require("../common").NIL;var Type=require("../type");var YAML_NULL_MAP={"~":true,"null":true,Null:true,NULL:true};function resolveYamlNull(object){return YAML_NULL_MAP[object]?null:NIL}module.exports=new Type("tag:yaml.org,2002:null",{loader:{kind:"string",resolver:resolveYamlNull},dumper:{kind:"null",defaultStyle:"lowercase",representer:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}}}})},{"../common":12,"../type":4}],20:[function(require,module,exports){"use strict";var NIL=require("../common").NIL;var Type=require("../type");var YAML_IMPLICIT_BOOLEAN_MAP={"true":true,True:true,TRUE:true,"false":false,False:false,FALSE:false};var YAML_EXPLICIT_BOOLEAN_MAP={"true":true,True:true,TRUE:true,"false":false,False:false,FALSE:false,y:true,Y:true,yes:true,Yes:true,YES:true,n:false,N:false,no:false,No:false,NO:false,on:true,On:true,ON:true,off:false,Off:false,OFF:false};function resolveYamlBoolean(object,explicit){if(explicit){if(YAML_EXPLICIT_BOOLEAN_MAP.hasOwnProperty(object)){return YAML_EXPLICIT_BOOLEAN_MAP[object]}else{return NIL}}else{if(YAML_IMPLICIT_BOOLEAN_MAP.hasOwnProperty(object)){return YAML_IMPLICIT_BOOLEAN_MAP[object]}else{return NIL}}}module.exports=new Type("tag:yaml.org,2002:bool",{loader:{kind:"string",resolver:resolveYamlBoolean},dumper:{kind:"boolean",defaultStyle:"lowercase",representer:{lowercase:function(object){return object?"true":"false"},uppercase:function(object){return object?"TRUE":"FALSE"},camelcase:function(object){return object?"True":"False"}}}})},{"../common":12,"../type":4}],21:[function(require,module,exports){"use strict";var NIL=require("../common").NIL;var Type=require("../type");var YAML_INTEGER_PATTERN=new RegExp("^(?:[-+]?0b[0-1_]+"+"|[-+]?0[0-7_]+"+"|[-+]?(?:0|[1-9][0-9_]*)"+"|[-+]?0x[0-9a-fA-F_]+"+"|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)$");function resolveYamlInteger(object){var value,sign,base,digits;if(!YAML_INTEGER_PATTERN.test(object)){return NIL}value=object.replace(/_/g,"");sign="-"===value[0]?-1:1;digits=[];if(0<="+-".indexOf(value[0])){value=value.slice(1)}if("0"===value){return 0}else if(/^0b/.test(value)){return sign*parseInt(value.slice(2),2)}else if(/^0x/.test(value)){return sign*parseInt(value,16)}else if("0"===value[0]){return sign*parseInt(value,8)}else if(0<=value.indexOf(":")){value.split(":").forEach(function(v){digits.unshift(parseInt(v,10))});value=0;base=1;digits.forEach(function(d){value+=d*base;base*=60});return sign*value}else{return sign*parseInt(value,10)}}module.exports=new Type("tag:yaml.org,2002:int",{loader:{kind:"string",resolver:resolveYamlInteger},dumper:{kind:"integer",defaultStyle:"decimal",representer:{binary:function(object){return"0b"+object.toString(2)},octal:function(object){return"0"+object.toString(8)},decimal:function(object){return object.toString(10)},hexadecimal:function(object){return"0x"+object.toString(16).toUpperCase()}},styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}})},{"../common":12,"../type":4}],22:[function(require,module,exports){"use strict";var NIL=require("../common").NIL;var Type=require("../type");var YAML_FLOAT_PATTERN=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)\\.[0-9_]*(?:[eE][-+][0-9]+)?"+"|\\.[0-9_]+(?:[eE][-+][0-9]+)?"+"|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*"+"|[-+]?\\.(?:inf|Inf|INF)"+"|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat(object){var value,sign,base,digits;if(!YAML_FLOAT_PATTERN.test(object)){return NIL}value=object.replace(/_/g,"").toLowerCase();sign="-"===value[0]?-1:1;digits=[];if(0<="+-".indexOf(value[0])){value=value.slice(1)}if(".inf"===value){return 1===sign?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY}else if(".nan"===value){return NaN}else if(0<=value.indexOf(":")){value.split(":").forEach(function(v){digits.unshift(parseFloat(v,10))});value=0;base=1;digits.forEach(function(d){value+=d*base;base*=60});return sign*value}else{return sign*parseFloat(value,10)}}function representYamlFloat(object,style){if(isNaN(object)){switch(style){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}}else if(Number.POSITIVE_INFINITY===object){switch(style){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}}else if(Number.NEGATIVE_INFINITY===object){switch(style){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}else{return object.toString(10)}}module.exports=new Type("tag:yaml.org,2002:float",{loader:{kind:"string",resolver:resolveYamlFloat},dumper:{kind:"float",defaultStyle:"lowercase",representer:representYamlFloat}})},{"../common":12,"../type":4}],23:[function(require,module,exports){"use strict";var NIL=require("../common").NIL;var Type=require("../type");var YAML_TIMESTAMP_REGEXP=new RegExp("^([0-9][0-9][0-9][0-9])"+"-([0-9][0-9]?)"+"-([0-9][0-9]?)"+"(?:(?:[Tt]|[ \\t]+)"+"([0-9][0-9]?)"+":([0-9][0-9])"+":([0-9][0-9])"+"(?:\\.([0-9]*))?"+"(?:[ \\t]*(Z|([-+])([0-9][0-9]?)"+"(?::([0-9][0-9]))?))?)?$");function resolveYamlTimestamp(object){var match,year,month,day,hour,minute,second,fraction=0,delta=null,tz_hour,tz_minute,data;match=YAML_TIMESTAMP_REGEXP.exec(object);if(null===match){return NIL}year=+match[1];month=+match[2]-1;day=+match[3];if(!match[4]){return new Date(Date.UTC(year,month,day))}hour=+match[4];minute=+match[5];second=+match[6];if(match[7]){fraction=match[7].slice(0,3);while(fraction.length<3){fraction+="0"}fraction=+fraction}if(match[9]){tz_hour=+match[10];tz_minute=+(match[11]||0);delta=(tz_hour*60+tz_minute)*6e4;if("-"===match[9]){delta=-delta}}data=new Date(Date.UTC(year,month,day,hour,minute,second,fraction));if(delta){data.setTime(data.getTime()-delta)}return data}function representYamlTimestamp(object){return object.toISOString()}module.exports=new Type("tag:yaml.org,2002:timestamp",{loader:{kind:"string",resolver:resolveYamlTimestamp},dumper:{kind:"object",instanceOf:Date,representer:representYamlTimestamp}})},{"../common":12,"../type":4}],24:[function(require,module,exports){"use strict";var NIL=require("../common").NIL;var Type=require("../type");function resolveYamlMerge(object){return"<<"===object?object:NIL}module.exports=new Type("tag:yaml.org,2002:merge",{loader:{kind:"string",resolver:resolveYamlMerge}})},{"../common":12,"../type":4}],25:[function(require,module,exports){(function(){"use strict";var NodeBuffer=require("buffer").Buffer;var common=require("../common");var NIL=common.NIL;var Type=require("../type");var BASE64_PADDING="=";var BASE64_BINTABLE=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,0,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1];var BASE64_CHARTABLE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");function resolveYamlBinary(object){var value,code,idx=0,result=[],leftbits,leftdata;leftbits=0;leftdata=0;for(idx=0;idx<object.length;idx+=1){code=object.charCodeAt(idx);value=BASE64_BINTABLE[code&127];if(10!==code&&13!==code){if(-1===value){return NIL}leftdata=leftdata<<6|value;leftbits+=6;if(leftbits>=8){leftbits-=8;if(BASE64_PADDING!==object.charAt(idx)){result.push(leftdata>>leftbits&255)}leftdata&=(1<<leftbits)-1}}}if(leftbits){return NIL}else{return new NodeBuffer(result)}}function representYamlBinary(object){var result="",index,length,rest;for(index=0,length=object.length-2;index<length;index+=3){result+=BASE64_CHARTABLE[object[index+0]>>2];result+=BASE64_CHARTABLE[((object[index+0]&3)<<4)+(object[index+1]>>4)];result+=BASE64_CHARTABLE[((object[index+1]&15)<<2)+(object[index+2]>>6)];result+=BASE64_CHARTABLE[object[index+2]&63]}rest=object.length%3;if(0!==rest){index=object.length-rest;result+=BASE64_CHARTABLE[object[index+0]>>2];if(2===rest){result+=BASE64_CHARTABLE[((object[index+0]&3)<<4)+(object[index+1]>>4)];result+=BASE64_CHARTABLE[(object[index+1]&15)<<2];result+=BASE64_PADDING}else{result+=BASE64_CHARTABLE[(object[index+0]&3)<<4];result+=BASE64_PADDING+BASE64_PADDING}}return result}module.exports=new Type("tag:yaml.org,2002:binary",{loader:{kind:"string",resolver:resolveYamlBinary},dumper:{kind:"object",instanceOf:NodeBuffer,representer:representYamlBinary}})})()},{buffer:34,"../common":12,"../type":4}],26:[function(require,module,exports){"use strict";var NIL=require("../common").NIL;var Type=require("../type");var _hasOwnProperty=Object.prototype.hasOwnProperty;var _toString=Object.prototype.toString;function resolveYamlOmap(object){var objectKeys=[],index,length,pair,pairKey,pairHasKey;for(index=0,length=object.length;index<length;index+=1){pair=object[index];pairHasKey=false;if("[object Object]"!==_toString.call(pair)){return NIL}for(pairKey in pair){if(_hasOwnProperty.call(pair,pairKey)){if(!pairHasKey){pairHasKey=true}else{return NIL}}}if(!pairHasKey){return NIL}if(-1===objectKeys.indexOf(pairKey)){objectKeys.push(pairKey)}else{return NIL}}return object}module.exports=new Type("tag:yaml.org,2002:omap",{loader:{kind:"array",resolver:resolveYamlOmap}})},{"../common":12,"../type":4}],27:[function(require,module,exports){"use strict";var NIL=require("../common").NIL;var Type=require("../type");var _toString=Object.prototype.toString;function resolveYamlPairs(object){var index,length,pair,keys,result;result=new Array(object.length);for(index=0,length=object.length;index<length;index+=1){pair=object[index];if("[object Object]"!==_toString.call(pair)){return NIL}keys=Object.keys(pair);if(1!==keys.length){return NIL}result[index]=[keys[0],pair[keys[0]]]}return result}module.exports=new Type("tag:yaml.org,2002:pairs",{loader:{kind:"array",resolver:resolveYamlPairs}})
},{"../common":12,"../type":4}],28:[function(require,module,exports){"use strict";var NIL=require("../common").NIL;var Type=require("../type");var _hasOwnProperty=Object.prototype.hasOwnProperty;function resolveYamlSet(object){var key;for(key in object){if(_hasOwnProperty.call(object,key)){if(null!==object[key]){return NIL}}}return object}module.exports=new Type("tag:yaml.org,2002:set",{loader:{kind:"object",resolver:resolveYamlSet}})},{"../common":12,"../type":4}],29:[function(require,module,exports){"use strict";var Type=require("../../type");function resolveJavascriptUndefined(){var undef;return undef}function representJavascriptUndefined(){return""}module.exports=new Type("tag:yaml.org,2002:js/undefined",{loader:{kind:"string",resolver:resolveJavascriptUndefined},dumper:{kind:"undefined",representer:representJavascriptUndefined}})},{"../../type":4}],30:[function(require,module,exports){(function(){"use strict";var NIL=require("../../common").NIL;var Type=require("../../type");function resolveJavascriptRegExp(object){var regexp=object,tail=/\/([gim]*)$/.exec(object),modifiers;if("/"===regexp[0]&&tail&&4>=tail[0].length){regexp=regexp.slice(1,regexp.length-tail[0].length);modifiers=tail[1]}try{return new RegExp(regexp,modifiers)}catch(error){return NIL}}function representJavascriptRegExp(object){var result="/"+object.source+"/";if(object.global){result+="g"}if(object.multiline){result+="m"}if(object.ignoreCase){result+="i"}return result}module.exports=new Type("tag:yaml.org,2002:js/regexp",{loader:{kind:"string",resolver:resolveJavascriptRegExp},dumper:{kind:"object",instanceOf:RegExp,representer:representJavascriptRegExp}})})()},{"../../common":12,"../../type":4}],35:[function(require,module,exports){exports.readIEEE754=function(buffer,offset,isBE,mLen,nBytes){var e,m,eLen=nBytes*8-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,nBits=-7,i=isBE?0:nBytes-1,d=isBE?1:-1,s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8);m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8);if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.writeIEEE754=function(buffer,value,offset,isBE,mLen,nBytes){var e,m,c,eLen=nBytes*8-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0,i=isBE?nBytes-1:0,d=isBE?-1:1,s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8);e=e<<mLen|m;eLen+=mLen;for(;eLen>0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8);buffer[offset+i-d]|=s*128}},{}],33:[function(require,module,exports){var events=require("events");exports.isArray=isArray;exports.isDate=function(obj){return Object.prototype.toString.call(obj)==="[object Date]"};exports.isRegExp=function(obj){return Object.prototype.toString.call(obj)==="[object RegExp]"};exports.print=function(){};exports.puts=function(){};exports.debug=function(){};exports.inspect=function(obj,showHidden,depth,colors){var seen=[];var stylize=function(str,styleType){var styles={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};var style={special:"cyan",number:"blue","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"}[styleType];if(style){return"["+styles[style][0]+"m"+str+"["+styles[style][1]+"m"}else{return str}};if(!colors){stylize=function(str,styleType){return str}}function format(value,recurseTimes){if(value&&typeof value.inspect==="function"&&value!==exports&&!(value.constructor&&value.constructor.prototype===value)){return value.inspect(recurseTimes)}switch(typeof value){case"undefined":return stylize("undefined","undefined");case"string":var simple="'"+JSON.stringify(value).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return stylize(simple,"string");case"number":return stylize(""+value,"number");case"boolean":return stylize(""+value,"boolean")}if(value===null){return stylize("null","null")}var visible_keys=Object_keys(value);var keys=showHidden?Object_getOwnPropertyNames(value):visible_keys;if(typeof value==="function"&&keys.length===0){if(isRegExp(value)){return stylize(""+value,"regexp")}else{var name=value.name?": "+value.name:"";return stylize("[Function"+name+"]","special")}}if(isDate(value)&&keys.length===0){return stylize(value.toUTCString(),"date")}var base,type,braces;if(isArray(value)){type="Array";braces=["[","]"]}else{type="Object";braces=["{","}"]}if(typeof value==="function"){var n=value.name?": "+value.name:"";base=isRegExp(value)?" "+value:" [Function"+n+"]"}else{base=""}if(isDate(value)){base=" "+value.toUTCString()}if(keys.length===0){return braces[0]+base+braces[1]}if(recurseTimes<0){if(isRegExp(value)){return stylize(""+value,"regexp")}else{return stylize("[Object]","special")}}seen.push(value);var output=keys.map(function(key){var name,str;if(value.__lookupGetter__){if(value.__lookupGetter__(key)){if(value.__lookupSetter__(key)){str=stylize("[Getter/Setter]","special")}else{str=stylize("[Getter]","special")}}else{if(value.__lookupSetter__(key)){str=stylize("[Setter]","special")}}}if(visible_keys.indexOf(key)<0){name="["+key+"]"}if(!str){if(seen.indexOf(value[key])<0){if(recurseTimes===null){str=format(value[key])}else{str=format(value[key],recurseTimes-1)}if(str.indexOf("\n")>-1){if(isArray(value)){str=str.split("\n").map(function(line){return"  "+line}).join("\n").substr(2)}else{str="\n"+str.split("\n").map(function(line){return"   "+line}).join("\n")}}}else{str=stylize("[Circular]","special")}}if(typeof name==="undefined"){if(type==="Array"&&key.match(/^\d+$/)){return str}name=JSON.stringify(""+key);if(name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)){name=name.substr(1,name.length-2);name=stylize(name,"name")}else{name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'");name=stylize(name,"string")}}return name+": "+str});seen.pop();var numLinesEst=0;var length=output.reduce(function(prev,cur){numLinesEst++;if(cur.indexOf("\n")>=0)numLinesEst++;return prev+cur.length+1},0);if(length>50){output=braces[0]+(base===""?"":base+"\n ")+" "+output.join(",\n  ")+" "+braces[1]}else{output=braces[0]+base+" "+output.join(", ")+" "+braces[1]}return output}return format(obj,typeof depth==="undefined"?2:depth)};function isArray(ar){return ar instanceof Array||Array.isArray(ar)||ar&&ar!==Object.prototype&&isArray(ar.__proto__)}function isRegExp(re){return re instanceof RegExp||typeof re==="object"&&Object.prototype.toString.call(re)==="[object RegExp]"}function isDate(d){if(d instanceof Date)return true;if(typeof d!=="object")return false;var properties=Date.prototype&&Object_getOwnPropertyNames(Date.prototype);var proto=d.__proto__&&Object_getOwnPropertyNames(d.__proto__);return JSON.stringify(proto)===JSON.stringify(properties)}function pad(n){return n<10?"0"+n.toString(10):n.toString(10)}var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function timestamp(){var d=new Date;var time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(":");return[d.getDate(),months[d.getMonth()],time].join(" ")}exports.log=function(msg){};exports.pump=null;var Object_keys=Object.keys||function(obj){var res=[];for(var key in obj)res.push(key);return res};var Object_getOwnPropertyNames=Object.getOwnPropertyNames||function(obj){var res=[];for(var key in obj){if(Object.hasOwnProperty.call(obj,key))res.push(key)}return res};var Object_create=Object.create||function(prototype,properties){var object;if(prototype===null){object={__proto__:null}}else{if(typeof prototype!=="object"){throw new TypeError("typeof prototype["+typeof prototype+"] != 'object'")}var Type=function(){};Type.prototype=prototype;object=new Type;object.__proto__=prototype}if(typeof properties!=="undefined"&&Object.defineProperties){Object.defineProperties(object,properties)}return object};exports.inherits=function(ctor,superCtor){ctor.super_=superCtor;ctor.prototype=Object_create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})};var formatRegExp=/%[sdj%]/g;exports.format=function(f){if(typeof f!=="string"){var objects=[];for(var i=0;i<arguments.length;i++){objects.push(exports.inspect(arguments[i]))}return objects.join(" ")}var i=1;var args=arguments;var len=args.length;var str=String(f).replace(formatRegExp,function(x){if(x==="%%")return"%";if(i>=len)return x;switch(x){case"%s":return String(args[i++]);case"%d":return Number(args[i++]);case"%j":return JSON.stringify(args[i++]);default:return x}});for(var x=args[i];i<len;x=args[++i]){if(x===null||typeof x!=="object"){str+=" "+x}else{str+=" "+exports.inspect(x)}}return str}},{events:36}],34:[function(require,module,exports){(function(){function SlowBuffer(size){this.length=size}var assert=require("assert");exports.INSPECT_MAX_BYTES=50;function toHex(n){if(n<16)return"0"+n.toString(16);return n.toString(16)}function utf8ToBytes(str){var byteArray=[];for(var i=0;i<str.length;i++)if(str.charCodeAt(i)<=127)byteArray.push(str.charCodeAt(i));else{var h=encodeURIComponent(str.charAt(i)).substr(1).split("%");for(var j=0;j<h.length;j++)byteArray.push(parseInt(h[j],16))}return byteArray}function asciiToBytes(str){var byteArray=[];for(var i=0;i<str.length;i++)byteArray.push(str.charCodeAt(i)&255);return byteArray}function base64ToBytes(str){return require("base64-js").toByteArray(str)}SlowBuffer.byteLength=function(str,encoding){switch(encoding||"utf8"){case"hex":return str.length/2;case"utf8":case"utf-8":return utf8ToBytes(str).length;case"ascii":case"binary":return str.length;case"base64":return base64ToBytes(str).length;default:throw new Error("Unknown encoding")}};function blitBuffer(src,dst,offset,length){var pos,i=0;while(i<length){if(i+offset>=dst.length||i>=src.length)break;dst[i+offset]=src[i];i++}return i}SlowBuffer.prototype.utf8Write=function(string,offset,length){var bytes,pos;return SlowBuffer._charsWritten=blitBuffer(utf8ToBytes(string),this,offset,length)};SlowBuffer.prototype.asciiWrite=function(string,offset,length){var bytes,pos;return SlowBuffer._charsWritten=blitBuffer(asciiToBytes(string),this,offset,length)};SlowBuffer.prototype.binaryWrite=SlowBuffer.prototype.asciiWrite;SlowBuffer.prototype.base64Write=function(string,offset,length){var bytes,pos;return SlowBuffer._charsWritten=blitBuffer(base64ToBytes(string),this,offset,length)};SlowBuffer.prototype.base64Slice=function(start,end){var bytes=Array.prototype.slice.apply(this,arguments);return require("base64-js").fromByteArray(bytes)};function decodeUtf8Char(str){try{return decodeURIComponent(str)}catch(err){return String.fromCharCode(65533)}}SlowBuffer.prototype.utf8Slice=function(){var bytes=Array.prototype.slice.apply(this,arguments);var res="";var tmp="";var i=0;while(i<bytes.length){if(bytes[i]<=127){res+=decodeUtf8Char(tmp)+String.fromCharCode(bytes[i]);tmp=""}else tmp+="%"+bytes[i].toString(16);i++}return res+decodeUtf8Char(tmp)};SlowBuffer.prototype.asciiSlice=function(){var bytes=Array.prototype.slice.apply(this,arguments);var ret="";for(var i=0;i<bytes.length;i++)ret+=String.fromCharCode(bytes[i]);return ret};SlowBuffer.prototype.binarySlice=SlowBuffer.prototype.asciiSlice;SlowBuffer.prototype.inspect=function(){var out=[],len=this.length;for(var i=0;i<len;i++){out[i]=toHex(this[i]);if(i==exports.INSPECT_MAX_BYTES){out[i+1]="...";break}}return"<SlowBuffer "+out.join(" ")+">"};SlowBuffer.prototype.hexSlice=function(start,end){var len=this.length;if(!start||start<0)start=0;if(!end||end<0||end>len)end=len;var out="";for(var i=start;i<end;i++){out+=toHex(this[i])}return out};SlowBuffer.prototype.toString=function(encoding,start,end){encoding=String(encoding||"utf8").toLowerCase();start=+start||0;if(typeof end=="undefined")end=this.length;if(+end==start){return""}switch(encoding){case"hex":return this.hexSlice(start,end);case"utf8":case"utf-8":return this.utf8Slice(start,end);case"ascii":return this.asciiSlice(start,end);case"binary":return this.binarySlice(start,end);case"base64":return this.base64Slice(start,end);case"ucs2":case"ucs-2":return this.ucs2Slice(start,end);default:throw new Error("Unknown encoding")}};SlowBuffer.prototype.hexWrite=function(string,offset,length){offset=+offset||0;var remaining=this.length-offset;if(!length){length=remaining}else{length=+length;if(length>remaining){length=remaining}}var strLen=string.length;if(strLen%2){throw new Error("Invalid hex string")}if(length>strLen/2){length=strLen/2}for(var i=0;i<length;i++){var byte=parseInt(string.substr(i*2,2),16);if(isNaN(byte))throw new Error("Invalid hex string");this[offset+i]=byte}SlowBuffer._charsWritten=i*2;return i};SlowBuffer.prototype.write=function(string,offset,length,encoding){if(isFinite(offset)){if(!isFinite(length)){encoding=length;length=undefined}}else{var swap=encoding;encoding=offset;offset=length;length=swap}offset=+offset||0;var remaining=this.length-offset;if(!length){length=remaining}else{length=+length;if(length>remaining){length=remaining}}encoding=String(encoding||"utf8").toLowerCase();switch(encoding){case"hex":return this.hexWrite(string,offset,length);case"utf8":case"utf-8":return this.utf8Write(string,offset,length);case"ascii":return this.asciiWrite(string,offset,length);case"binary":return this.binaryWrite(string,offset,length);case"base64":return this.base64Write(string,offset,length);case"ucs2":case"ucs-2":return this.ucs2Write(string,offset,length);default:throw new Error("Unknown encoding")}};SlowBuffer.prototype.slice=function(start,end){if(end===undefined)end=this.length;if(end>this.length){throw new Error("oob")}if(start>end){throw new Error("oob")}return new Buffer(this,end-start,+start)};SlowBuffer.prototype.copy=function(target,targetstart,sourcestart,sourceend){var temp=[];for(var i=sourcestart;i<sourceend;i++){assert.ok(typeof this[i]!=="undefined","copying undefined buffer bytes!");temp.push(this[i])}for(var i=targetstart;i<targetstart+temp.length;i++){target[i]=temp[i-targetstart]}};SlowBuffer.prototype.fill=function(value,start,end){if(end>this.length){throw new Error("oob")}if(start>end){throw new Error("oob")}for(var i=start;i<end;i++){this[i]=value}};function coerce(length){length=~~Math.ceil(+length);return length<0?0:length}function Buffer(subject,encoding,offset){if(!(this instanceof Buffer)){return new Buffer(subject,encoding,offset)}var type;if(typeof offset==="number"){this.length=coerce(encoding);this.parent=subject;this.offset=offset}else{switch(type=typeof subject){case"number":this.length=coerce(subject);break;case"string":this.length=Buffer.byteLength(subject,encoding);break;case"object":this.length=coerce(subject.length);break;default:throw new Error("First argument needs to be a number, "+"array or string.")}if(this.length>Buffer.poolSize){this.parent=new SlowBuffer(this.length);this.offset=0}else{if(!pool||pool.length-pool.used<this.length)allocPool();this.parent=pool;this.offset=pool.used;pool.used+=this.length}if(isArrayIsh(subject)){for(var i=0;i<this.length;i++){if(subject instanceof Buffer){this.parent[i+this.offset]=subject.readUInt8(i)}else{this.parent[i+this.offset]=subject[i]}}}else if(type=="string"){this.length=this.write(subject,0,encoding)}}}function isArrayIsh(subject){return Array.isArray(subject)||Buffer.isBuffer(subject)||subject&&typeof subject==="object"&&typeof subject.length==="number"}exports.SlowBuffer=SlowBuffer;exports.Buffer=Buffer;Buffer.poolSize=8*1024;var pool;function allocPool(){pool=new SlowBuffer(Buffer.poolSize);pool.used=0}Buffer.isBuffer=function isBuffer(b){return b instanceof Buffer||b instanceof SlowBuffer};Buffer.concat=function(list,totalLength){if(!Array.isArray(list)){throw new Error("Usage: Buffer.concat(list, [totalLength])\n       list should be an Array.")}if(list.length===0){return new Buffer(0)}else if(list.length===1){return list[0]}if(typeof totalLength!=="number"){totalLength=0;for(var i=0;i<list.length;i++){var buf=list[i];totalLength+=buf.length}}var buffer=new Buffer(totalLength);var pos=0;for(var i=0;i<list.length;i++){var buf=list[i];buf.copy(buffer,pos);pos+=buf.length}return buffer};Buffer.prototype.inspect=function inspect(){var out=[],len=this.length;for(var i=0;i<len;i++){out[i]=toHex(this.parent[i+this.offset]);if(i==exports.INSPECT_MAX_BYTES){out[i+1]="...";break}}return"<Buffer "+out.join(" ")+">"};Buffer.prototype.get=function get(i){if(i<0||i>=this.length)throw new Error("oob");return this.parent[this.offset+i]};Buffer.prototype.set=function set(i,v){if(i<0||i>=this.length)throw new Error("oob");return this.parent[this.offset+i]=v};Buffer.prototype.write=function(string,offset,length,encoding){if(isFinite(offset)){if(!isFinite(length)){encoding=length;length=undefined}}else{var swap=encoding;encoding=offset;offset=length;length=swap}offset=+offset||0;var remaining=this.length-offset;if(!length){length=remaining}else{length=+length;if(length>remaining){length=remaining}}encoding=String(encoding||"utf8").toLowerCase();var ret;switch(encoding){case"hex":ret=this.parent.hexWrite(string,this.offset+offset,length);break;case"utf8":case"utf-8":ret=this.parent.utf8Write(string,this.offset+offset,length);break;case"ascii":ret=this.parent.asciiWrite(string,this.offset+offset,length);break;case"binary":ret=this.parent.binaryWrite(string,this.offset+offset,length);break;case"base64":ret=this.parent.base64Write(string,this.offset+offset,length);break;case"ucs2":case"ucs-2":ret=this.parent.ucs2Write(string,this.offset+offset,length);break;default:throw new Error("Unknown encoding")}Buffer._charsWritten=SlowBuffer._charsWritten;return ret};Buffer.prototype.toString=function(encoding,start,end){encoding=String(encoding||"utf8").toLowerCase();if(typeof start=="undefined"||start<0){start=0}else if(start>this.length){start=this.length}if(typeof end=="undefined"||end>this.length){end=this.length}else if(end<0){end=0}start=start+this.offset;end=end+this.offset;switch(encoding){case"hex":return this.parent.hexSlice(start,end);case"utf8":case"utf-8":return this.parent.utf8Slice(start,end);case"ascii":return this.parent.asciiSlice(start,end);case"binary":return this.parent.binarySlice(start,end);case"base64":return this.parent.base64Slice(start,end);case"ucs2":case"ucs-2":return this.parent.ucs2Slice(start,end);default:throw new Error("Unknown encoding")}};Buffer.byteLength=SlowBuffer.byteLength;Buffer.prototype.fill=function fill(value,start,end){value||(value=0);start||(start=0);end||(end=this.length);if(typeof value==="string"){value=value.charCodeAt(0)}if(!(typeof value==="number")||isNaN(value)){throw new Error("value is not a number")}if(end<start)throw new Error("end < start");if(end===start)return 0;if(this.length==0)return 0;if(start<0||start>=this.length){throw new Error("start out of bounds")}if(end<0||end>this.length){throw new Error("end out of bounds")}return this.parent.fill(value,start+this.offset,end+this.offset)};Buffer.prototype.copy=function(target,target_start,start,end){var source=this;start||(start=0);end||(end=this.length);target_start||(target_start=0);if(end<start)throw new Error("sourceEnd < sourceStart");if(end===start)return 0;if(target.length==0||source.length==0)return 0;if(target_start<0||target_start>=target.length){throw new Error("targetStart out of bounds")}if(start<0||start>=source.length){throw new Error("sourceStart out of bounds")}if(end<0||end>source.length){throw new Error("sourceEnd out of bounds")}if(end>this.length){end=this.length}if(target.length-target_start<end-start){end=target.length-target_start+start}return this.parent.copy(target.parent,target_start+target.offset,start+this.offset,end+this.offset)};Buffer.prototype.slice=function(start,end){if(end===undefined)end=this.length;if(end>this.length)throw new Error("oob");if(start>end)throw new Error("oob");return new Buffer(this.parent,end-start,+start+this.offset)};Buffer.prototype.utf8Slice=function(start,end){return this.toString("utf8",start,end)};Buffer.prototype.binarySlice=function(start,end){return this.toString("binary",start,end)};Buffer.prototype.asciiSlice=function(start,end){return this.toString("ascii",start,end)};Buffer.prototype.utf8Write=function(string,offset){return this.write(string,offset,"utf8")};Buffer.prototype.binaryWrite=function(string,offset){return this.write(string,offset,"binary")};Buffer.prototype.asciiWrite=function(string,offset){return this.write(string,offset,"ascii")};Buffer.prototype.readUInt8=function(offset,noAssert){var buffer=this;if(!noAssert){assert.ok(offset!==undefined&&offset!==null,"missing offset");assert.ok(offset<buffer.length,"Trying to read beyond buffer length")}if(offset>=buffer.length)return;return buffer.parent[buffer.offset+offset]};function readUInt16(buffer,offset,isBigEndian,noAssert){var val=0;if(!noAssert){assert.ok(typeof isBigEndian==="boolean","missing or invalid endian");assert.ok(offset!==undefined&&offset!==null,"missing offset");assert.ok(offset+1<buffer.length,"Trying to read beyond buffer length")}if(offset>=buffer.length)return 0;if(isBigEndian){val=buffer.parent[buffer.offset+offset]<<8;if(offset+1<buffer.length){val|=buffer.parent[buffer.offset+offset+1]}}else{val=buffer.parent[buffer.offset+offset];if(offset+1<buffer.length){val|=buffer.parent[buffer.offset+offset+1]<<8}}return val}Buffer.prototype.readUInt16LE=function(offset,noAssert){return readUInt16(this,offset,false,noAssert)};Buffer.prototype.readUInt16BE=function(offset,noAssert){return readUInt16(this,offset,true,noAssert)};function readUInt32(buffer,offset,isBigEndian,noAssert){var val=0;if(!noAssert){assert.ok(typeof isBigEndian==="boolean","missing or invalid endian");assert.ok(offset!==undefined&&offset!==null,"missing offset");assert.ok(offset+3<buffer.length,"Trying to read beyond buffer length")}if(offset>=buffer.length)return 0;if(isBigEndian){if(offset+1<buffer.length)val=buffer.parent[buffer.offset+offset+1]<<16;if(offset+2<buffer.length)val|=buffer.parent[buffer.offset+offset+2]<<8;if(offset+3<buffer.length)val|=buffer.parent[buffer.offset+offset+3];val=val+(buffer.parent[buffer.offset+offset]<<24>>>0)}else{if(offset+2<buffer.length)val=buffer.parent[buffer.offset+offset+2]<<16;if(offset+1<buffer.length)val|=buffer.parent[buffer.offset+offset+1]<<8;val|=buffer.parent[buffer.offset+offset];if(offset+3<buffer.length)val=val+(buffer.parent[buffer.offset+offset+3]<<24>>>0)}return val}Buffer.prototype.readUInt32LE=function(offset,noAssert){return readUInt32(this,offset,false,noAssert)};Buffer.prototype.readUInt32BE=function(offset,noAssert){return readUInt32(this,offset,true,noAssert)};Buffer.prototype.readInt8=function(offset,noAssert){var buffer=this;var neg;if(!noAssert){assert.ok(offset!==undefined&&offset!==null,"missing offset");assert.ok(offset<buffer.length,"Trying to read beyond buffer length")}if(offset>=buffer.length)return;neg=buffer.parent[buffer.offset+offset]&128;if(!neg){return buffer.parent[buffer.offset+offset]}return(255-buffer.parent[buffer.offset+offset]+1)*-1};function readInt16(buffer,offset,isBigEndian,noAssert){var neg,val;if(!noAssert){assert.ok(typeof isBigEndian==="boolean","missing or invalid endian");assert.ok(offset!==undefined&&offset!==null,"missing offset");assert.ok(offset+1<buffer.length,"Trying to read beyond buffer length")}val=readUInt16(buffer,offset,isBigEndian,noAssert);neg=val&32768;if(!neg){return val}return(65535-val+1)*-1}Buffer.prototype.readInt16LE=function(offset,noAssert){return readInt16(this,offset,false,noAssert)};Buffer.prototype.readInt16BE=function(offset,noAssert){return readInt16(this,offset,true,noAssert)};function readInt32(buffer,offset,isBigEndian,noAssert){var neg,val;if(!noAssert){assert.ok(typeof isBigEndian==="boolean","missing or invalid endian");assert.ok(offset!==undefined&&offset!==null,"missing offset");assert.ok(offset+3<buffer.length,"Trying to read beyond buffer length")}val=readUInt32(buffer,offset,isBigEndian,noAssert);neg=val&2147483648;if(!neg){return val}return(4294967295-val+1)*-1}Buffer.prototype.readInt32LE=function(offset,noAssert){return readInt32(this,offset,false,noAssert)};Buffer.prototype.readInt32BE=function(offset,noAssert){return readInt32(this,offset,true,noAssert)};function readFloat(buffer,offset,isBigEndian,noAssert){if(!noAssert){assert.ok(typeof isBigEndian==="boolean","missing or invalid endian");assert.ok(offset+3<buffer.length,"Trying to read beyond buffer length")}return require("./buffer_ieee754").readIEEE754(buffer,offset,isBigEndian,23,4)}Buffer.prototype.readFloatLE=function(offset,noAssert){return readFloat(this,offset,false,noAssert)};Buffer.prototype.readFloatBE=function(offset,noAssert){return readFloat(this,offset,true,noAssert)};function readDouble(buffer,offset,isBigEndian,noAssert){if(!noAssert){assert.ok(typeof isBigEndian==="boolean","missing or invalid endian");assert.ok(offset+7<buffer.length,"Trying to read beyond buffer length")}return require("./buffer_ieee754").readIEEE754(buffer,offset,isBigEndian,52,8)}Buffer.prototype.readDoubleLE=function(offset,noAssert){return readDouble(this,offset,false,noAssert)};Buffer.prototype.readDoubleBE=function(offset,noAssert){return readDouble(this,offset,true,noAssert)};function verifuint(value,max){assert.ok(typeof value=="number","cannot write a non-number as a number");assert.ok(value>=0,"specified a negative value for writing an unsigned value");assert.ok(value<=max,"value is larger than maximum value for type");assert.ok(Math.floor(value)===value,"value has a fractional component")}Buffer.prototype.writeUInt8=function(value,offset,noAssert){var buffer=this;if(!noAssert){assert.ok(value!==undefined&&value!==null,"missing value");assert.ok(offset!==undefined&&offset!==null,"missing offset");assert.ok(offset<buffer.length,"trying to write beyond buffer length");verifuint(value,255)}if(offset<buffer.length){buffer.parent[buffer.offset+offset]=value}};function writeUInt16(buffer,value,offset,isBigEndian,noAssert){if(!noAssert){assert.ok(value!==undefined&&value!==null,"missing value");assert.ok(typeof isBigEndian==="boolean","missing or invalid endian");assert.ok(offset!==undefined&&offset!==null,"missing offset");assert.ok(offset+1<buffer.length,"trying to write beyond buffer length");verifuint(value,65535)}for(var i=0;i<Math.min(buffer.length-offset,2);i++){buffer.parent[buffer.offset+offset+i]=(value&255<<8*(isBigEndian?1-i:i))>>>(isBigEndian?1-i:i)*8}}Buffer.prototype.writeUInt16LE=function(value,offset,noAssert){writeUInt16(this,value,offset,false,noAssert)};Buffer.prototype.writeUInt16BE=function(value,offset,noAssert){writeUInt16(this,value,offset,true,noAssert)};function writeUInt32(buffer,value,offset,isBigEndian,noAssert){if(!noAssert){assert.ok(value!==undefined&&value!==null,"missing value");assert.ok(typeof isBigEndian==="boolean","missing or invalid endian");assert.ok(offset!==undefined&&offset!==null,"missing offset");assert.ok(offset+3<buffer.length,"trying to write beyond buffer length");verifuint(value,4294967295)}for(var i=0;i<Math.min(buffer.length-offset,4);i++){buffer.parent[buffer.offset+offset+i]=value>>>(isBigEndian?3-i:i)*8&255}}Buffer.prototype.writeUInt32LE=function(value,offset,noAssert){writeUInt32(this,value,offset,false,noAssert)};Buffer.prototype.writeUInt32BE=function(value,offset,noAssert){writeUInt32(this,value,offset,true,noAssert)};function verifsint(value,max,min){assert.ok(typeof value=="number","cannot write a non-number as a number");assert.ok(value<=max,"value larger than maximum allowed value");assert.ok(value>=min,"value smaller than minimum allowed value");assert.ok(Math.floor(value)===value,"value has a fractional component")}function verifIEEE754(value,max,min){assert.ok(typeof value=="number","cannot write a non-number as a number");assert.ok(value<=max,"value larger than maximum allowed value");assert.ok(value>=min,"value smaller than minimum allowed value")}Buffer.prototype.writeInt8=function(value,offset,noAssert){var buffer=this;if(!noAssert){assert.ok(value!==undefined&&value!==null,"missing value");assert.ok(offset!==undefined&&offset!==null,"missing offset");assert.ok(offset<buffer.length,"Trying to write beyond buffer length");verifsint(value,127,-128)}if(value>=0){buffer.writeUInt8(value,offset,noAssert)}else{buffer.writeUInt8(255+value+1,offset,noAssert)}};function writeInt16(buffer,value,offset,isBigEndian,noAssert){if(!noAssert){assert.ok(value!==undefined&&value!==null,"missing value");assert.ok(typeof isBigEndian==="boolean","missing or invalid endian");assert.ok(offset!==undefined&&offset!==null,"missing offset");assert.ok(offset+1<buffer.length,"Trying to write beyond buffer length");verifsint(value,32767,-32768)}if(value>=0){writeUInt16(buffer,value,offset,isBigEndian,noAssert)}else{writeUInt16(buffer,65535+value+1,offset,isBigEndian,noAssert)}}Buffer.prototype.writeInt16LE=function(value,offset,noAssert){writeInt16(this,value,offset,false,noAssert)};Buffer.prototype.writeInt16BE=function(value,offset,noAssert){writeInt16(this,value,offset,true,noAssert)};function writeInt32(buffer,value,offset,isBigEndian,noAssert){if(!noAssert){assert.ok(value!==undefined&&value!==null,"missing value");assert.ok(typeof isBigEndian==="boolean","missing or invalid endian");assert.ok(offset!==undefined&&offset!==null,"missing offset");assert.ok(offset+3<buffer.length,"Trying to write beyond buffer length");verifsint(value,2147483647,-2147483648)}if(value>=0){writeUInt32(buffer,value,offset,isBigEndian,noAssert)}else{writeUInt32(buffer,4294967295+value+1,offset,isBigEndian,noAssert)}}Buffer.prototype.writeInt32LE=function(value,offset,noAssert){writeInt32(this,value,offset,false,noAssert)};Buffer.prototype.writeInt32BE=function(value,offset,noAssert){writeInt32(this,value,offset,true,noAssert)};function writeFloat(buffer,value,offset,isBigEndian,noAssert){if(!noAssert){assert.ok(value!==undefined&&value!==null,"missing value");assert.ok(typeof isBigEndian==="boolean","missing or invalid endian");assert.ok(offset!==undefined&&offset!==null,"missing offset");assert.ok(offset+3<buffer.length,"Trying to write beyond buffer length");verifIEEE754(value,3.4028234663852886e38,-3.4028234663852886e38)}require("./buffer_ieee754").writeIEEE754(buffer,value,offset,isBigEndian,23,4)}Buffer.prototype.writeFloatLE=function(value,offset,noAssert){writeFloat(this,value,offset,false,noAssert)};Buffer.prototype.writeFloatBE=function(value,offset,noAssert){writeFloat(this,value,offset,true,noAssert)};function writeDouble(buffer,value,offset,isBigEndian,noAssert){if(!noAssert){assert.ok(value!==undefined&&value!==null,"missing value");assert.ok(typeof isBigEndian==="boolean","missing or invalid endian");assert.ok(offset!==undefined&&offset!==null,"missing offset");assert.ok(offset+7<buffer.length,"Trying to write beyond buffer length");verifIEEE754(value,1.7976931348623157e308,-1.7976931348623157e308)}require("./buffer_ieee754").writeIEEE754(buffer,value,offset,isBigEndian,52,8)}Buffer.prototype.writeDoubleLE=function(value,offset,noAssert){writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.writeDoubleBE=function(value,offset,noAssert){writeDouble(this,value,offset,true,noAssert)};SlowBuffer.prototype.readUInt8=Buffer.prototype.readUInt8;SlowBuffer.prototype.readUInt16LE=Buffer.prototype.readUInt16LE;SlowBuffer.prototype.readUInt16BE=Buffer.prototype.readUInt16BE;SlowBuffer.prototype.readUInt32LE=Buffer.prototype.readUInt32LE;SlowBuffer.prototype.readUInt32BE=Buffer.prototype.readUInt32BE;SlowBuffer.prototype.readInt8=Buffer.prototype.readInt8;
SlowBuffer.prototype.readInt16LE=Buffer.prototype.readInt16LE;SlowBuffer.prototype.readInt16BE=Buffer.prototype.readInt16BE;SlowBuffer.prototype.readInt32LE=Buffer.prototype.readInt32LE;SlowBuffer.prototype.readInt32BE=Buffer.prototype.readInt32BE;SlowBuffer.prototype.readFloatLE=Buffer.prototype.readFloatLE;SlowBuffer.prototype.readFloatBE=Buffer.prototype.readFloatBE;SlowBuffer.prototype.readDoubleLE=Buffer.prototype.readDoubleLE;SlowBuffer.prototype.readDoubleBE=Buffer.prototype.readDoubleBE;SlowBuffer.prototype.writeUInt8=Buffer.prototype.writeUInt8;SlowBuffer.prototype.writeUInt16LE=Buffer.prototype.writeUInt16LE;SlowBuffer.prototype.writeUInt16BE=Buffer.prototype.writeUInt16BE;SlowBuffer.prototype.writeUInt32LE=Buffer.prototype.writeUInt32LE;SlowBuffer.prototype.writeUInt32BE=Buffer.prototype.writeUInt32BE;SlowBuffer.prototype.writeInt8=Buffer.prototype.writeInt8;SlowBuffer.prototype.writeInt16LE=Buffer.prototype.writeInt16LE;SlowBuffer.prototype.writeInt16BE=Buffer.prototype.writeInt16BE;SlowBuffer.prototype.writeInt32LE=Buffer.prototype.writeInt32LE;SlowBuffer.prototype.writeInt32BE=Buffer.prototype.writeInt32BE;SlowBuffer.prototype.writeFloatLE=Buffer.prototype.writeFloatLE;SlowBuffer.prototype.writeFloatBE=Buffer.prototype.writeFloatBE;SlowBuffer.prototype.writeDoubleLE=Buffer.prototype.writeDoubleLE;SlowBuffer.prototype.writeDoubleBE=Buffer.prototype.writeDoubleBE})()},{assert:32,"./buffer_ieee754":35,"base64-js":37}],38:[function(require,module,exports){var process=module.exports={};process.nextTick=function(){var canSetImmediate=typeof window!=="undefined"&&window.setImmediate;var canPost=typeof window!=="undefined"&&window.postMessage&&window.addEventListener;if(canSetImmediate){return function(f){return window.setImmediate(f)}}if(canPost){var queue=[];window.addEventListener("message",function(ev){if(ev.source===window&&ev.data==="process-tick"){ev.stopPropagation();if(queue.length>0){var fn=queue.shift();fn()}}},true);return function nextTick(fn){queue.push(fn);window.postMessage("process-tick","*")}}return function nextTick(fn){setTimeout(fn,0)}}();process.title="browser";process.browser=true;process.env={};process.argv=[];process.binding=function(name){throw new Error("process.binding is not supported")};process.cwd=function(){return"/"};process.chdir=function(dir){throw new Error("process.chdir is not supported")}},{}],36:[function(require,module,exports){(function(process){if(!process.EventEmitter)process.EventEmitter=function(){};var EventEmitter=exports.EventEmitter=process.EventEmitter;var isArray=typeof Array.isArray==="function"?Array.isArray:function(xs){return Object.prototype.toString.call(xs)==="[object Array]"};function indexOf(xs,x){if(xs.indexOf)return xs.indexOf(x);for(var i=0;i<xs.length;i++){if(x===xs[i])return i}return-1}var defaultMaxListeners=10;EventEmitter.prototype.setMaxListeners=function(n){if(!this._events)this._events={};this._events.maxListeners=n};EventEmitter.prototype.emit=function(type){if(type==="error"){if(!this._events||!this._events.error||isArray(this._events.error)&&!this._events.error.length){if(arguments[1]instanceof Error){throw arguments[1]}else{throw new Error("Uncaught, unspecified 'error' event.")}return false}}if(!this._events)return false;var handler=this._events[type];if(!handler)return false;if(typeof handler=="function"){switch(arguments.length){case 1:handler.call(this);break;case 2:handler.call(this,arguments[1]);break;case 3:handler.call(this,arguments[1],arguments[2]);break;default:var args=Array.prototype.slice.call(arguments,1);handler.apply(this,args)}return true}else if(isArray(handler)){var args=Array.prototype.slice.call(arguments,1);var listeners=handler.slice();for(var i=0,l=listeners.length;i<l;i++){listeners[i].apply(this,args)}return true}else{return false}};EventEmitter.prototype.addListener=function(type,listener){if("function"!==typeof listener){throw new Error("addListener only takes instances of Function")}if(!this._events)this._events={};this.emit("newListener",type,listener);if(!this._events[type]){this._events[type]=listener}else if(isArray(this._events[type])){if(!this._events[type].warned){var m;if(this._events.maxListeners!==undefined){m=this._events.maxListeners}else{m=defaultMaxListeners}if(m&&m>0&&this._events[type].length>m){this._events[type].warned=true;console.error("(node) warning: possible EventEmitter memory "+"leak detected. %d listeners added. "+"Use emitter.setMaxListeners() to increase limit.",this._events[type].length);console.trace()}}this._events[type].push(listener)}else{this._events[type]=[this._events[type],listener]}return this};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.once=function(type,listener){var self=this;self.on(type,function g(){self.removeListener(type,g);listener.apply(this,arguments)});return this};EventEmitter.prototype.removeListener=function(type,listener){if("function"!==typeof listener){throw new Error("removeListener only takes instances of Function")}if(!this._events||!this._events[type])return this;var list=this._events[type];if(isArray(list)){var i=indexOf(list,listener);if(i<0)return this;list.splice(i,1);if(list.length==0)delete this._events[type]}else if(this._events[type]===listener){delete this._events[type]}return this};EventEmitter.prototype.removeAllListeners=function(type){if(arguments.length===0){this._events={};return this}if(type&&this._events&&this._events[type])this._events[type]=null;return this};EventEmitter.prototype.listeners=function(type){if(!this._events)this._events={};if(!this._events[type])this._events[type]=[];if(!isArray(this._events[type])){this._events[type]=[this._events[type]]}return this._events[type]}})(require("__browserify_process"))},{__browserify_process:38}],37:[function(require,module,exports){(function(exports){"use strict";var lookup="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function b64ToByteArray(b64){var i,j,l,tmp,placeHolders,arr;if(b64.length%4>0){throw"Invalid string. Length must be a multiple of 4"}placeHolders=b64.indexOf("=");placeHolders=placeHolders>0?b64.length-placeHolders:0;arr=[];l=placeHolders>0?b64.length-4:b64.length;for(i=0,j=0;i<l;i+=4,j+=3){tmp=lookup.indexOf(b64[i])<<18|lookup.indexOf(b64[i+1])<<12|lookup.indexOf(b64[i+2])<<6|lookup.indexOf(b64[i+3]);arr.push((tmp&16711680)>>16);arr.push((tmp&65280)>>8);arr.push(tmp&255)}if(placeHolders===2){tmp=lookup.indexOf(b64[i])<<2|lookup.indexOf(b64[i+1])>>4;arr.push(tmp&255)}else if(placeHolders===1){tmp=lookup.indexOf(b64[i])<<10|lookup.indexOf(b64[i+1])<<4|lookup.indexOf(b64[i+2])>>2;arr.push(tmp>>8&255);arr.push(tmp&255)}return arr}function uint8ToBase64(uint8){var i,extraBytes=uint8.length%3,output="",temp,length;function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}for(i=0,length=uint8.length-extraBytes;i<length;i+=3){temp=(uint8[i]<<16)+(uint8[i+1]<<8)+uint8[i+2];output+=tripletToBase64(temp)}switch(extraBytes){case 1:temp=uint8[uint8.length-1];output+=lookup[temp>>2];output+=lookup[temp<<4&63];output+="==";break;case 2:temp=(uint8[uint8.length-2]<<8)+uint8[uint8.length-1];output+=lookup[temp>>10];output+=lookup[temp>>4&63];output+=lookup[temp<<2&63];output+="=";break}return output}module.exports.toByteArray=b64ToByteArray;module.exports.fromByteArray=uint8ToBase64})()},{}],31:[function(require,module,exports){"use strict";var esprima=require("esprima");var NIL=require("../../common").NIL;var Type=require("../../type");function resolveJavascriptFunction(object){try{var source="("+object+")",ast=esprima.parse(source,{range:true}),params=[],body;if("Program"!==ast.type||1!==ast.body.length||"ExpressionStatement"!==ast.body[0].type||"FunctionExpression"!==ast.body[0].expression.type){return NIL}ast.body[0].expression.params.forEach(function(param){params.push(param.name)});body=ast.body[0].expression.body.range;return new Function(params,source.slice(body[0]+1,body[1]-1))}catch(err){return NIL}}function representJavascriptFunction(object){return object.toString()}module.exports=new Type("tag:yaml.org,2002:js/function",{loader:{kind:"string",resolver:resolveJavascriptFunction},dumper:{kind:"function",representer:representJavascriptFunction}})},{"../../common":12,"../../type":4,esprima:39}],39:[function(require,module,exports){(function(){(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,Syntax,PropertyKind,Messages,Regex,source,strict,index,lineNumber,lineStart,length,buffer,state,extra;Token={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8};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";Syntax={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",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",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"};PropertyKind={Data:1,Get:2,Set:4};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.",StrictDuplicateProperty:"Duplicate data property in object literal not allowed in strict mode",AccessorDataProperty:"Object literal may not have data and accessor property with the same name",AccessorGetSet:"Object literal may not have multiple get/set accessors with the same name",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"};Regex={NonAsciiIdentifierStart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ﬀ-ﬆﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼＡ-Ｚａ-ｚｦ-ﾾￂ-ￇￊ-ￏￒ-ￗￚ-ￜ]"),NonAsciiIdentifierPart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԧԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ-࠭ࡀ-࡛ࢠࢢ-ࢬࣤ-ࣾऀ-ॣ०-९ॱ-ॷॹ-ॿঁ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-ৱਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍ୖୗଡ଼ଢ଼ୟ-ୣ୦-୯ୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఁ-ఃఅ-ఌఎ-ఐఒ-నప-ళవ-హఽ-ౄె-ైొ-్ౕౖౘౙౠ-ౣ౦-౯ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೞೠ-ೣ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൎൗൠ-ൣ൦-൯ൺ-ൿංඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟෲෳก-ฺเ-๎๐-๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៓ៗៜ៝០-៩᠋-᠍᠐-᠙ᠠ-ᡷᢀ-ᢪᢰ-ᣵᤀ-ᤜᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧙ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽ᳐-᳔᳒-ᳶᴀ-ᷦ᷼-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‌‍‿⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙゚ゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-ꚗꚟ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠧꡀ-ꡳꢀ-꣄꣐-꣙꣠-ꣷꣻ꤀-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺꩻꪀ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯪ꯬꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ﬀ-ﬆﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ︀-️︠-︦︳︴﹍-﹏ﹰ-ﹴﹶ-ﻼ０-９Ａ-Ｚ＿ａ-ｚｦ-ﾾￂ-ￇￊ-ￏￒ-ￗￚ-ￜ]")};function assert(condition,message){if(!condition){throw new Error("ASSERT: "+message)}}function sliceSource(from,to){return source.slice(from,to)}if(typeof"esprima"[0]==="undefined"){sliceSource=function sliceArraySource(from,to){return source.slice(from,to).join("")}}function isDecimalDigit(ch){return"0123456789".indexOf(ch)>=0}function isHexDigit(ch){return"0123456789abcdefABCDEF".indexOf(ch)>=0}function isOctalDigit(ch){return"01234567".indexOf(ch)>=0}function isWhiteSpace(ch){return ch===" "||ch==="	"||ch===""||ch==="\f"||ch===" "||ch.charCodeAt(0)>=5760&&" ᠎             　﻿".indexOf(ch)>=0}function isLineTerminator(ch){return ch==="\n"||ch==="\r"||ch==="\u2028"||ch==="\u2029"}function isIdentifierStart(ch){return ch==="$"||ch==="_"||ch==="\\"||ch>="a"&&ch<="z"||ch>="A"&&ch<="Z"||ch.charCodeAt(0)>=128&&Regex.NonAsciiIdentifierStart.test(ch)}function isIdentifierPart(ch){return ch==="$"||ch==="_"||ch==="\\"||ch>="a"&&ch<="z"||ch>="A"&&ch<="Z"||ch>="0"&&ch<="9"||ch.charCodeAt(0)>=128&&Regex.NonAsciiIdentifierPart.test(ch)}function isFutureReservedWord(id){switch(id){case"class":case"enum":case"export":case"extends":case"import":case"super":return true}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}return false}function isRestrictedWord(id){return id==="eval"||id==="arguments"}function isKeyword(id){var keyword=false;switch(id.length){case 2:keyword=id==="if"||id==="in"||id==="do";break;case 3:keyword=id==="var"||id==="for"||id==="new"||id==="try";break;case 4:keyword=id==="this"||id==="else"||id==="case"||id==="void"||id==="with";break;case 5:keyword=id==="while"||id==="break"||id==="catch"||id==="throw";break;case 6:keyword=id==="return"||id==="typeof"||id==="delete"||id==="switch";break;case 7:keyword=id==="default"||id==="finally";break;case 8:keyword=id==="function"||id==="continue"||id==="debugger";break;case 10:keyword=id==="instanceof";break}if(keyword){return true}switch(id){case"const":return true;case"yield":case"let":return true}if(strict&&isStrictModeReservedWord(id)){return true}return isFutureReservedWord(id)}function skipComment(){var ch,blockComment,lineComment;blockComment=false;lineComment=false;while(index<length){ch=source[index];if(lineComment){ch=source[index++];if(isLineTerminator(ch)){lineComment=false;if(ch==="\r"&&source[index]==="\n"){++index}++lineNumber;lineStart=index}}else if(blockComment){if(isLineTerminator(ch)){if(ch==="\r"&&source[index+1]==="\n"){++index}++lineNumber;++index;lineStart=index;if(index>=length){throwError({},Messages.UnexpectedToken,"ILLEGAL")}}else{ch=source[index++];if(index>=length){throwError({},Messages.UnexpectedToken,"ILLEGAL")}if(ch==="*"){ch=source[index];if(ch==="/"){++index;blockComment=false}}}}else if(ch==="/"){ch=source[index+1];if(ch==="/"){index+=2;lineComment=true}else if(ch==="*"){index+=2;blockComment=true;if(index>=length){throwError({},Messages.UnexpectedToken,"ILLEGAL")}}else{break}}else if(isWhiteSpace(ch)){++index}else if(isLineTerminator(ch)){++index;if(ch==="\r"&&source[index]==="\n"){++index}++lineNumber;lineStart=index}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 scanIdentifier(){var ch,start,id,restore;ch=source[index];if(!isIdentifierStart(ch)){return}start=index;if(ch==="\\"){++index;if(source[index]!=="u"){return}++index;restore=index;ch=scanHexEscape("u");if(ch){if(ch==="\\"||!isIdentifierStart(ch)){return}id=ch}else{index=restore;id="u"}}else{id=source[index++]}while(index<length){ch=source[index];if(!isIdentifierPart(ch)){break}if(ch==="\\"){++index;if(source[index]!=="u"){return}++index;restore=index;ch=scanHexEscape("u");if(ch){if(ch==="\\"||!isIdentifierPart(ch)){return}id+=ch}else{index=restore;id+="u"}}else{id+=source[index++]}}if(id.length===1){return{type:Token.Identifier,value:id,lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}if(isKeyword(id)){return{type:Token.Keyword,value:id,lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}if(id==="null"){return{type:Token.NullLiteral,value:id,lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}if(id==="true"||id==="false"){return{type:Token.BooleanLiteral,value:id,lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}return{type:Token.Identifier,value:id,lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}function scanPunctuator(){var start=index,ch1=source[index],ch2,ch3,ch4;if(ch1===";"||ch1==="{"||ch1==="}"){++index;return{type:Token.Punctuator,value:ch1,lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}if(ch1===","||ch1==="("||ch1===")"){++index;return{type:Token.Punctuator,value:ch1,lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}ch2=source[index+1];if(ch1==="."&&!isDecimalDigit(ch2)){return{type:Token.Punctuator,value:source[index++],lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}ch3=source[index+2];ch4=source[index+3];if(ch1===">"&&ch2===">"&&ch3===">"){if(ch4==="="){index+=4;return{type:Token.Punctuator,value:">>>=",lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}}if(ch1==="="&&ch2==="="&&ch3==="="){index+=3;return{type:Token.Punctuator,value:"===",lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}if(ch1==="!"&&ch2==="="&&ch3==="="){index+=3;return{type:Token.Punctuator,value:"!==",lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}if(ch1===">"&&ch2===">"&&ch3===">"){index+=3;return{type:Token.Punctuator,value:">>>",lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}if(ch1==="<"&&ch2==="<"&&ch3==="="){index+=3;return{type:Token.Punctuator,value:"<<=",lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}if(ch1===">"&&ch2===">"&&ch3==="="){index+=3;return{type:Token.Punctuator,value:">>=",lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}if(ch2==="="){if("<>=!+-*%&|^/".indexOf(ch1)>=0){index+=2;return{type:Token.Punctuator,value:ch1+ch2,lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}}if(ch1===ch2&&"+-<>&|".indexOf(ch1)>=0){if("+-<>&|".indexOf(ch2)>=0){index+=2;return{type:Token.Punctuator,value:ch1+ch2,lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}}if("[]<>+-*%&|^!~?:=/".indexOf(ch1)>=0){return{type:Token.Punctuator,value:source[index++],lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}}function scanNumericLiteral(){var number,start,ch;ch=source[index];assert(isDecimalDigit(ch)||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"){number+=source[index++];while(index<length){ch=source[index];if(!isHexDigit(ch)){break}number+=source[index++]}if(number.length<=2){throwError({},Messages.UnexpectedToken,"ILLEGAL")}if(index<length){ch=source[index];if(isIdentifierStart(ch)){throwError({},Messages.UnexpectedToken,"ILLEGAL")}}return{type:Token.NumericLiteral,value:parseInt(number,16),lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}else if(isOctalDigit(ch)){number+=source[index++];while(index<length){ch=source[index];if(!isOctalDigit(ch)){break}number+=source[index++]}if(index<length){ch=source[index];if(isIdentifierStart(ch)||isDecimalDigit(ch)){throwError({},Messages.UnexpectedToken,"ILLEGAL")}}return{type:Token.NumericLiteral,value:parseInt(number,8),octal:true,lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}if(isDecimalDigit(ch)){throwError({},Messages.UnexpectedToken,"ILLEGAL")}}while(index<length){ch=source[index];if(!isDecimalDigit(ch)){break}number+=source[index++]}}if(ch==="."){number+=source[index++];while(index<length){ch=source[index];if(!isDecimalDigit(ch)){break}number+=source[index++]}}if(ch==="e"||ch==="E"){number+=source[index++];ch=source[index];if(ch==="+"||ch==="-"){number+=source[index++]}ch=source[index];if(isDecimalDigit(ch)){number+=source[index++];while(index<length){ch=source[index];if(!isDecimalDigit(ch)){break}number+=source[index++]}}else{ch="character "+ch;if(index>=length){ch="<end>"}throwError({},Messages.UnexpectedToken,"ILLEGAL")}}if(index<length){ch=source[index];if(isIdentifierStart(ch)){throwError({},Messages.UnexpectedToken,"ILLEGAL")}}return{type:Token.NumericLiteral,value:parseFloat(number),lineNumber:lineNumber,lineStart:lineStart,range:[start,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(!isLineTerminator(ch)){switch(ch){case"n":str+="\n";break;case"r":str+="\r";break;case"t":str+="	";break;case"u":case"x":restore=index;unescaped=scanHexEscape(ch);if(unescaped){str+=unescaped}else{index=restore;str+=ch}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}}}else if(isLineTerminator(ch)){break}else{str+=ch}}if(quote!==""){throwError({},Messages.UnexpectedToken,"ILLEGAL")}return{type:Token.StringLiteral,value:str,octal:octal,lineNumber:lineNumber,lineStart:lineStart,range:[start,index]}}function scanRegExp(){var str,ch,start,pattern,flags,value,classMarker=false,restore,terminated=false;buffer=null;skipComment();start=index;ch=source[index];assert(ch==="/","Regular expression literal must start with a slash");str=source[index++];while(index<length){ch=source[index++];str+=ch;if(classMarker){if(ch==="]"){classMarker=false}}else{if(ch==="\\"){ch=source[index++];if(isLineTerminator(ch)){throwError({},Messages.UnterminatedRegExp)}str+=ch}else if(ch==="/"){terminated=true;break}else if(ch==="["){classMarker=true}else if(isLineTerminator(ch)){throwError({},Messages.UnterminatedRegExp)}}}if(!terminated){throwError({},Messages.UnterminatedRegExp)}pattern=str.substr(1,str.length-2);flags="";while(index<length){ch=source[index];if(!isIdentifierPart(ch)){break}++index;if(ch==="\\"&&index<length){ch=source[index];if(ch==="u"){++index;restore=index;ch=scanHexEscape("u");if(ch){flags+=ch;str+="\\u";for(;restore<index;++restore){str+=source[restore]}}else{index=restore;flags+="u";str+="\\u"}}else{str+="\\"}}else{flags+=ch;str+=ch}}try{value=new RegExp(pattern,flags)}catch(e){throwError({},Messages.InvalidRegExp)}return{literal:str,value:value,range:[start,index]}}function isIdentifierName(token){return token.type===Token.Identifier||token.type===Token.Keyword||token.type===Token.BooleanLiteral||token.type===Token.NullLiteral}function advance(){var ch,token;skipComment();if(index>=length){return{type:Token.EOF,lineNumber:lineNumber,lineStart:lineStart,range:[index,index]}}token=scanPunctuator();if(typeof token!=="undefined"){return token}ch=source[index];if(ch==="'"||ch==='"'){return scanStringLiteral()}if(ch==="."||isDecimalDigit(ch)){return scanNumericLiteral()}token=scanIdentifier();if(typeof token!=="undefined"){return token}throwError({},Messages.UnexpectedToken,"ILLEGAL")}function lex(){var token;if(buffer){index=buffer.range[1];lineNumber=buffer.lineNumber;lineStart=buffer.lineStart;token=buffer;buffer=null;return token}buffer=null;return advance()}function lookahead(){var pos,line,start;if(buffer!==null){return buffer}pos=index;line=lineNumber;start=lineStart;buffer=advance();index=pos;lineNumber=line;lineStart=start;return buffer}function peekLineTerminator(){var pos,line,start,found;pos=index;line=lineNumber;start=lineStart;skipComment();found=lineNumber!==line;index=pos;lineNumber=line;lineStart=start;return found}function throwError(token,messageFormat){var error,args=Array.prototype.slice.call(arguments,2),msg=messageFormat.replace(/%(\d)/g,function(whole,index){return args[index]||""});if(typeof token.lineNumber==="number"){error=new Error("Line "+token.lineNumber+": "+msg);error.index=token.range[0];error.lineNumber=token.lineNumber;error.column=token.range[0]-lineStart+1}else{error=new Error("Line "+lineNumber+": "+msg);error.index=index;error.lineNumber=lineNumber;error.column=index-lineStart+1}throw error}function throwErrorTolerant(){try{throwError.apply(null,arguments)}catch(e){if(extra.errors){extra.errors.push(e)}else{throw e}}}function throwUnexpected(token){if(token.type===Token.EOF){throwError(token,Messages.UnexpectedEOS)}if(token.type===Token.NumericLiteral){throwError(token,Messages.UnexpectedNumber)}if(token.type===Token.StringLiteral){throwError(token,Messages.UnexpectedString)}if(token.type===Token.Identifier){throwError(token,Messages.UnexpectedIdentifier)}if(token.type===Token.Keyword){if(isFutureReservedWord(token.value)){throwError(token,Messages.UnexpectedReserved)}else if(strict&&isStrictModeReservedWord(token.value)){throwErrorTolerant(token,Messages.StrictReservedWord);return}throwError(token,Messages.UnexpectedToken,token.value)}throwError(token,Messages.UnexpectedToken,token.value)}function expect(value){var token=lex();if(token.type!==Token.Punctuator||token.value!==value){throwUnexpected(token)}}function expectKeyword(keyword){var token=lex();if(token.type!==Token.Keyword||token.value!==keyword){throwUnexpected(token)}}function match(value){var token=lookahead();return token.type===Token.Punctuator&&token.value===value}function matchKeyword(keyword){var token=lookahead();return token.type===Token.Keyword&&token.value===keyword}function matchAssign(){var token=lookahead(),op=token.value;if(token.type!==Token.Punctuator){return false}return op==="="||op==="*="||op==="/="||op==="%="||op==="+="||op==="-="||op==="<<="||op===">>="||op===">>>="||op==="&="||op==="^="||op==="|="}function consumeSemicolon(){var token,line;if(source[index]===";"){lex();return}line=lineNumber;skipComment();if(lineNumber!==line){return}if(match(";")){lex();return}token=lookahead();if(token.type!==Token.EOF&&!match("}")){throwUnexpected(token)}}function isLeftHandSide(expr){return expr.type===Syntax.Identifier||expr.type===Syntax.MemberExpression}function parseArrayInitialiser(){var elements=[];expect("[");while(!match("]")){if(match(",")){lex();elements.push(null)}else{elements.push(parseAssignmentExpression());if(!match("]")){expect(",")}}}expect("]");return{type:Syntax.ArrayExpression,elements:elements}}function parsePropertyFunction(param,first){var previousStrict,body;previousStrict=strict;body=parseFunctionSourceElements();if(first&&strict&&isRestrictedWord(param[0].name)){throwErrorTolerant(first,Messages.StrictParamName)}strict=previousStrict;return{type:Syntax.FunctionExpression,id:null,params:param,defaults:[],body:body,rest:null,generator:false,expression:false}}function parseObjectPropertyKey(){var token=lex();if(token.type===Token.StringLiteral||token.type===Token.NumericLiteral){if(strict&&token.octal){throwErrorTolerant(token,Messages.StrictOctalLiteral)}return createLiteral(token)}return{type:Syntax.Identifier,name:token.value}}function parseObjectProperty(){var token,key,id,param;token=lookahead();if(token.type===Token.Identifier){id=parseObjectPropertyKey();if(token.value==="get"&&!match(":")){key=parseObjectPropertyKey();expect("(");expect(")");return{type:Syntax.Property,key:key,value:parsePropertyFunction([]),kind:"get"}}else if(token.value==="set"&&!match(":")){key=parseObjectPropertyKey();expect("(");token=lookahead();if(token.type!==Token.Identifier){throwUnexpected(lex())}param=[parseVariableIdentifier()];expect(")");return{type:Syntax.Property,key:key,value:parsePropertyFunction(param,token),kind:"set"}}else{expect(":");return{type:Syntax.Property,key:id,value:parseAssignmentExpression(),kind:"init"}}}else if(token.type===Token.EOF||token.type===Token.Punctuator){throwUnexpected(token)}else{key=parseObjectPropertyKey();expect(":");return{type:Syntax.Property,key:key,value:parseAssignmentExpression(),kind:"init"}}}function parseObjectInitialiser(){var properties=[],property,name,kind,map={},toString=String;expect("{");while(!match("}")){property=parseObjectProperty();if(property.key.type===Syntax.Identifier){name=property.key.name}else{name=toString(property.key.value)}kind=property.kind==="init"?PropertyKind.Data:property.kind==="get"?PropertyKind.Get:PropertyKind.Set;if(Object.prototype.hasOwnProperty.call(map,name)){if(map[name]===PropertyKind.Data){if(strict&&kind===PropertyKind.Data){throwErrorTolerant({},Messages.StrictDuplicateProperty)}else if(kind!==PropertyKind.Data){throwErrorTolerant({},Messages.AccessorDataProperty)}}else{if(kind===PropertyKind.Data){throwErrorTolerant({},Messages.AccessorDataProperty)}else if(map[name]&kind){throwErrorTolerant({},Messages.AccessorGetSet)}}map[name]|=kind
}else{map[name]=kind}properties.push(property);if(!match("}")){expect(",")}}expect("}");return{type:Syntax.ObjectExpression,properties:properties}}function parseGroupExpression(){var expr;expect("(");expr=parseExpression();expect(")");return expr}function parsePrimaryExpression(){var token=lookahead(),type=token.type;if(type===Token.Identifier){return{type:Syntax.Identifier,name:lex().value}}if(type===Token.StringLiteral||type===Token.NumericLiteral){if(strict&&token.octal){throwErrorTolerant(token,Messages.StrictOctalLiteral)}return createLiteral(lex())}if(type===Token.Keyword){if(matchKeyword("this")){lex();return{type:Syntax.ThisExpression}}if(matchKeyword("function")){return parseFunctionExpression()}}if(type===Token.BooleanLiteral){lex();token.value=token.value==="true";return createLiteral(token)}if(type===Token.NullLiteral){lex();token.value=null;return createLiteral(token)}if(match("[")){return parseArrayInitialiser()}if(match("{")){return parseObjectInitialiser()}if(match("(")){return parseGroupExpression()}if(match("/")||match("/=")){return createLiteral(scanRegExp())}return throwUnexpected(lex())}function parseArguments(){var args=[];expect("(");if(!match(")")){while(index<length){args.push(parseAssignmentExpression());if(match(")")){break}expect(",")}}expect(")");return args}function parseNonComputedProperty(){var token=lex();if(!isIdentifierName(token)){throwUnexpected(token)}return{type:Syntax.Identifier,name:token.value}}function parseNonComputedMember(){expect(".");return parseNonComputedProperty()}function parseComputedMember(){var expr;expect("[");expr=parseExpression();expect("]");return expr}function parseNewExpression(){var expr;expectKeyword("new");expr={type:Syntax.NewExpression,callee:parseLeftHandSideExpression(),arguments:[]};if(match("(")){expr["arguments"]=parseArguments()}return expr}function parseLeftHandSideExpressionAllowCall(){var expr;expr=matchKeyword("new")?parseNewExpression():parsePrimaryExpression();while(match(".")||match("[")||match("(")){if(match("(")){expr={type:Syntax.CallExpression,callee:expr,arguments:parseArguments()}}else if(match("[")){expr={type:Syntax.MemberExpression,computed:true,object:expr,property:parseComputedMember()}}else{expr={type:Syntax.MemberExpression,computed:false,object:expr,property:parseNonComputedMember()}}}return expr}function parseLeftHandSideExpression(){var expr;expr=matchKeyword("new")?parseNewExpression():parsePrimaryExpression();while(match(".")||match("[")){if(match("[")){expr={type:Syntax.MemberExpression,computed:true,object:expr,property:parseComputedMember()}}else{expr={type:Syntax.MemberExpression,computed:false,object:expr,property:parseNonComputedMember()}}}return expr}function parsePostfixExpression(){var expr=parseLeftHandSideExpressionAllowCall(),token;token=lookahead();if(token.type!==Token.Punctuator){return expr}if((match("++")||match("--"))&&!peekLineTerminator()){if(strict&&expr.type===Syntax.Identifier&&isRestrictedWord(expr.name)){throwErrorTolerant({},Messages.StrictLHSPostfix)}if(!isLeftHandSide(expr)){throwError({},Messages.InvalidLHSInAssignment)}expr={type:Syntax.UpdateExpression,operator:lex().value,argument:expr,prefix:false}}return expr}function parseUnaryExpression(){var token,expr;token=lookahead();if(token.type!==Token.Punctuator&&token.type!==Token.Keyword){return parsePostfixExpression()}if(match("++")||match("--")){token=lex();expr=parseUnaryExpression();if(strict&&expr.type===Syntax.Identifier&&isRestrictedWord(expr.name)){throwErrorTolerant({},Messages.StrictLHSPrefix)}if(!isLeftHandSide(expr)){throwError({},Messages.InvalidLHSInAssignment)}expr={type:Syntax.UpdateExpression,operator:token.value,argument:expr,prefix:true};return expr}if(match("+")||match("-")||match("~")||match("!")){expr={type:Syntax.UnaryExpression,operator:lex().value,argument:parseUnaryExpression()};return expr}if(matchKeyword("delete")||matchKeyword("void")||matchKeyword("typeof")){expr={type:Syntax.UnaryExpression,operator:lex().value,argument:parseUnaryExpression()};if(strict&&expr.operator==="delete"&&expr.argument.type===Syntax.Identifier){throwErrorTolerant({},Messages.StrictDelete)}return expr}return parsePostfixExpression()}function parseMultiplicativeExpression(){var expr=parseUnaryExpression();while(match("*")||match("/")||match("%")){expr={type:Syntax.BinaryExpression,operator:lex().value,left:expr,right:parseUnaryExpression()}}return expr}function parseAdditiveExpression(){var expr=parseMultiplicativeExpression();while(match("+")||match("-")){expr={type:Syntax.BinaryExpression,operator:lex().value,left:expr,right:parseMultiplicativeExpression()}}return expr}function parseShiftExpression(){var expr=parseAdditiveExpression();while(match("<<")||match(">>")||match(">>>")){expr={type:Syntax.BinaryExpression,operator:lex().value,left:expr,right:parseAdditiveExpression()}}return expr}function parseRelationalExpression(){var expr,previousAllowIn;previousAllowIn=state.allowIn;state.allowIn=true;expr=parseShiftExpression();while(match("<")||match(">")||match("<=")||match(">=")||previousAllowIn&&matchKeyword("in")||matchKeyword("instanceof")){expr={type:Syntax.BinaryExpression,operator:lex().value,left:expr,right:parseShiftExpression()}}state.allowIn=previousAllowIn;return expr}function parseEqualityExpression(){var expr=parseRelationalExpression();while(match("==")||match("!=")||match("===")||match("!==")){expr={type:Syntax.BinaryExpression,operator:lex().value,left:expr,right:parseRelationalExpression()}}return expr}function parseBitwiseANDExpression(){var expr=parseEqualityExpression();while(match("&")){lex();expr={type:Syntax.BinaryExpression,operator:"&",left:expr,right:parseEqualityExpression()}}return expr}function parseBitwiseXORExpression(){var expr=parseBitwiseANDExpression();while(match("^")){lex();expr={type:Syntax.BinaryExpression,operator:"^",left:expr,right:parseBitwiseANDExpression()}}return expr}function parseBitwiseORExpression(){var expr=parseBitwiseXORExpression();while(match("|")){lex();expr={type:Syntax.BinaryExpression,operator:"|",left:expr,right:parseBitwiseXORExpression()}}return expr}function parseLogicalANDExpression(){var expr=parseBitwiseORExpression();while(match("&&")){lex();expr={type:Syntax.LogicalExpression,operator:"&&",left:expr,right:parseBitwiseORExpression()}}return expr}function parseLogicalORExpression(){var expr=parseLogicalANDExpression();while(match("||")){lex();expr={type:Syntax.LogicalExpression,operator:"||",left:expr,right:parseLogicalANDExpression()}}return expr}function parseConditionalExpression(){var expr,previousAllowIn,consequent;expr=parseLogicalORExpression();if(match("?")){lex();previousAllowIn=state.allowIn;state.allowIn=true;consequent=parseAssignmentExpression();state.allowIn=previousAllowIn;expect(":");expr={type:Syntax.ConditionalExpression,test:expr,consequent:consequent,alternate:parseAssignmentExpression()}}return expr}function parseAssignmentExpression(){var token,expr;token=lookahead();expr=parseConditionalExpression();if(matchAssign()){if(!isLeftHandSide(expr)){throwError({},Messages.InvalidLHSInAssignment)}if(strict&&expr.type===Syntax.Identifier&&isRestrictedWord(expr.name)){throwErrorTolerant(token,Messages.StrictLHSAssignment)}expr={type:Syntax.AssignmentExpression,operator:lex().value,left:expr,right:parseAssignmentExpression()}}return expr}function parseExpression(){var expr=parseAssignmentExpression();if(match(",")){expr={type:Syntax.SequenceExpression,expressions:[expr]};while(index<length){if(!match(",")){break}lex();expr.expressions.push(parseAssignmentExpression())}}return expr}function parseStatementList(){var list=[],statement;while(index<length){if(match("}")){break}statement=parseSourceElement();if(typeof statement==="undefined"){break}list.push(statement)}return list}function parseBlock(){var block;expect("{");block=parseStatementList();expect("}");return{type:Syntax.BlockStatement,body:block}}function parseVariableIdentifier(){var token=lex();if(token.type!==Token.Identifier){throwUnexpected(token)}return{type:Syntax.Identifier,name:token.value}}function parseVariableDeclaration(kind){var id=parseVariableIdentifier(),init=null;if(strict&&isRestrictedWord(id.name)){throwErrorTolerant({},Messages.StrictVarName)}if(kind==="const"){expect("=");init=parseAssignmentExpression()}else if(match("=")){lex();init=parseAssignmentExpression()}return{type:Syntax.VariableDeclarator,id:id,init:init}}function parseVariableDeclarationList(kind){var list=[];while(index<length){list.push(parseVariableDeclaration(kind));if(!match(",")){break}lex()}return list}function parseVariableStatement(){var declarations;expectKeyword("var");declarations=parseVariableDeclarationList();consumeSemicolon();return{type:Syntax.VariableDeclaration,declarations:declarations,kind:"var"}}function parseConstLetDeclaration(kind){var declarations;expectKeyword(kind);declarations=parseVariableDeclarationList(kind);consumeSemicolon();return{type:Syntax.VariableDeclaration,declarations:declarations,kind:kind}}function parseEmptyStatement(){expect(";");return{type:Syntax.EmptyStatement}}function parseExpressionStatement(){var expr=parseExpression();consumeSemicolon();return{type:Syntax.ExpressionStatement,expression:expr}}function parseIfStatement(){var test,consequent,alternate;expectKeyword("if");expect("(");test=parseExpression();expect(")");consequent=parseStatement();if(matchKeyword("else")){lex();alternate=parseStatement()}else{alternate=null}return{type:Syntax.IfStatement,test:test,consequent:consequent,alternate:alternate}}function parseDoWhileStatement(){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{type:Syntax.DoWhileStatement,body:body,test:test}}function parseWhileStatement(){var test,body,oldInIteration;expectKeyword("while");expect("(");test=parseExpression();expect(")");oldInIteration=state.inIteration;state.inIteration=true;body=parseStatement();state.inIteration=oldInIteration;return{type:Syntax.WhileStatement,test:test,body:body}}function parseForVariableDeclaration(){var token=lex();return{type:Syntax.VariableDeclaration,declarations:parseVariableDeclarationList(),kind:token.value}}function parseForStatement(){var init,test,update,left,right,body,oldInIteration;init=test=update=null;expectKeyword("for");expect("(");if(match(";")){lex()}else{if(matchKeyword("var")||matchKeyword("let")){state.allowIn=false;init=parseForVariableDeclaration();state.allowIn=true;if(init.declarations.length===1&&matchKeyword("in")){lex();left=init;right=parseExpression();init=null}}else{state.allowIn=false;init=parseExpression();state.allowIn=true;if(matchKeyword("in")){if(!isLeftHandSide(init)){throwError({},Messages.InvalidLHSInForIn)}lex();left=init;right=parseExpression();init=null}}if(typeof left==="undefined"){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;if(typeof left==="undefined"){return{type:Syntax.ForStatement,init:init,test:test,update:update,body:body}}return{type:Syntax.ForInStatement,left:left,right:right,body:body,each:false}}function parseContinueStatement(){var token,label=null;expectKeyword("continue");if(source[index]===";"){lex();if(!state.inIteration){throwError({},Messages.IllegalContinue)}return{type:Syntax.ContinueStatement,label:null}}if(peekLineTerminator()){if(!state.inIteration){throwError({},Messages.IllegalContinue)}return{type:Syntax.ContinueStatement,label:null}}token=lookahead();if(token.type===Token.Identifier){label=parseVariableIdentifier();if(!Object.prototype.hasOwnProperty.call(state.labelSet,label.name)){throwError({},Messages.UnknownLabel,label.name)}}consumeSemicolon();if(label===null&&!state.inIteration){throwError({},Messages.IllegalContinue)}return{type:Syntax.ContinueStatement,label:label}}function parseBreakStatement(){var token,label=null;expectKeyword("break");if(source[index]===";"){lex();if(!(state.inIteration||state.inSwitch)){throwError({},Messages.IllegalBreak)}return{type:Syntax.BreakStatement,label:null}}if(peekLineTerminator()){if(!(state.inIteration||state.inSwitch)){throwError({},Messages.IllegalBreak)}return{type:Syntax.BreakStatement,label:null}}token=lookahead();if(token.type===Token.Identifier){label=parseVariableIdentifier();if(!Object.prototype.hasOwnProperty.call(state.labelSet,label.name)){throwError({},Messages.UnknownLabel,label.name)}}consumeSemicolon();if(label===null&&!(state.inIteration||state.inSwitch)){throwError({},Messages.IllegalBreak)}return{type:Syntax.BreakStatement,label:label}}function parseReturnStatement(){var token,argument=null;expectKeyword("return");if(!state.inFunctionBody){throwErrorTolerant({},Messages.IllegalReturn)}if(source[index]===" "){if(isIdentifierStart(source[index+1])){argument=parseExpression();consumeSemicolon();return{type:Syntax.ReturnStatement,argument:argument}}}if(peekLineTerminator()){return{type:Syntax.ReturnStatement,argument:null}}if(!match(";")){token=lookahead();if(!match("}")&&token.type!==Token.EOF){argument=parseExpression()}}consumeSemicolon();return{type:Syntax.ReturnStatement,argument:argument}}function parseWithStatement(){var object,body;if(strict){throwErrorTolerant({},Messages.StrictModeWith)}expectKeyword("with");expect("(");object=parseExpression();expect(")");body=parseStatement();return{type:Syntax.WithStatement,object:object,body:body}}function parseSwitchCase(){var test,consequent=[],statement;if(matchKeyword("default")){lex();test=null}else{expectKeyword("case");test=parseExpression()}expect(":");while(index<length){if(match("}")||matchKeyword("default")||matchKeyword("case")){break}statement=parseStatement();if(typeof statement==="undefined"){break}consequent.push(statement)}return{type:Syntax.SwitchCase,test:test,consequent:consequent}}function parseSwitchStatement(){var discriminant,cases,clause,oldInSwitch,defaultFound;expectKeyword("switch");expect("(");discriminant=parseExpression();expect(")");expect("{");if(match("}")){lex();return{type:Syntax.SwitchStatement,discriminant:discriminant}}cases=[];oldInSwitch=state.inSwitch;state.inSwitch=true;defaultFound=false;while(index<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{type:Syntax.SwitchStatement,discriminant:discriminant,cases:cases}}function parseThrowStatement(){var argument;expectKeyword("throw");if(peekLineTerminator()){throwError({},Messages.NewlineAfterThrow)}argument=parseExpression();consumeSemicolon();return{type:Syntax.ThrowStatement,argument:argument}}function parseCatchClause(){var param;expectKeyword("catch");expect("(");if(!match(")")){param=parseExpression();if(strict&&param.type===Syntax.Identifier&&isRestrictedWord(param.name)){throwErrorTolerant({},Messages.StrictCatchVariable)}}expect(")");return{type:Syntax.CatchClause,param:param,body:parseBlock()}}function parseTryStatement(){var block,handlers=[],finalizer=null;expectKeyword("try");block=parseBlock();if(matchKeyword("catch")){handlers.push(parseCatchClause())}if(matchKeyword("finally")){lex();finalizer=parseBlock()}if(handlers.length===0&&!finalizer){throwError({},Messages.NoCatchOrFinally)}return{type:Syntax.TryStatement,block:block,guardedHandlers:[],handlers:handlers,finalizer:finalizer}}function parseDebuggerStatement(){expectKeyword("debugger");consumeSemicolon();return{type:Syntax.DebuggerStatement}}function parseStatement(){var token=lookahead(),expr,labeledBody;if(token.type===Token.EOF){throwUnexpected(token)}if(token.type===Token.Punctuator){switch(token.value){case";":return parseEmptyStatement();case"{":return parseBlock();case"(":return parseExpressionStatement();default:break}}if(token.type===Token.Keyword){switch(token.value){case"break":return parseBreakStatement();case"continue":return parseContinueStatement();case"debugger":return parseDebuggerStatement();case"do":return parseDoWhileStatement();case"for":return parseForStatement();case"function":return parseFunctionDeclaration();case"if":return parseIfStatement();case"return":return parseReturnStatement();case"switch":return parseSwitchStatement();case"throw":return parseThrowStatement();case"try":return parseTryStatement();case"var":return parseVariableStatement();case"while":return parseWhileStatement();case"with":return parseWithStatement();default:break}}expr=parseExpression();if(expr.type===Syntax.Identifier&&match(":")){lex();if(Object.prototype.hasOwnProperty.call(state.labelSet,expr.name)){throwError({},Messages.Redeclaration,"Label",expr.name)}state.labelSet[expr.name]=true;labeledBody=parseStatement();delete state.labelSet[expr.name];return{type:Syntax.LabeledStatement,label:expr,body:labeledBody}}consumeSemicolon();return{type:Syntax.ExpressionStatement,expression:expr}}function parseFunctionSourceElements(){var sourceElement,sourceElements=[],token,directive,firstRestricted,oldLabelSet,oldInIteration,oldInSwitch,oldInFunctionBody;expect("{");while(index<length){token=lookahead();if(token.type!==Token.StringLiteral){break}sourceElement=parseSourceElement();sourceElements.push(sourceElement);if(sourceElement.expression.type!==Syntax.Literal){break}directive=sliceSource(token.range[0]+1,token.range[1]-1);if(directive==="use strict"){strict=true;if(firstRestricted){throwErrorTolerant(firstRestricted,Messages.StrictOctalLiteral)}}else{if(!firstRestricted&&token.octal){firstRestricted=token}}}oldLabelSet=state.labelSet;oldInIteration=state.inIteration;oldInSwitch=state.inSwitch;oldInFunctionBody=state.inFunctionBody;state.labelSet={};state.inIteration=false;state.inSwitch=false;state.inFunctionBody=true;while(index<length){if(match("}")){break}sourceElement=parseSourceElement();if(typeof sourceElement==="undefined"){break}sourceElements.push(sourceElement)}expect("}");state.labelSet=oldLabelSet;state.inIteration=oldInIteration;state.inSwitch=oldInSwitch;state.inFunctionBody=oldInFunctionBody;return{type:Syntax.BlockStatement,body:sourceElements}}function parseFunctionDeclaration(){var id,param,params=[],body,token,stricted,firstRestricted,message,previousStrict,paramSet;expectKeyword("function");token=lookahead();id=parseVariableIdentifier();if(strict){if(isRestrictedWord(token.value)){throwErrorTolerant(token,Messages.StrictFunctionName)}}else{if(isRestrictedWord(token.value)){firstRestricted=token;message=Messages.StrictFunctionName}else if(isStrictModeReservedWord(token.value)){firstRestricted=token;message=Messages.StrictReservedWord}}expect("(");if(!match(")")){paramSet={};while(index<length){token=lookahead();param=parseVariableIdentifier();if(strict){if(isRestrictedWord(token.value)){stricted=token;message=Messages.StrictParamName}if(Object.prototype.hasOwnProperty.call(paramSet,token.value)){stricted=token;message=Messages.StrictParamDupe}}else if(!firstRestricted){if(isRestrictedWord(token.value)){firstRestricted=token;message=Messages.StrictParamName}else if(isStrictModeReservedWord(token.value)){firstRestricted=token;message=Messages.StrictReservedWord}else if(Object.prototype.hasOwnProperty.call(paramSet,token.value)){firstRestricted=token;message=Messages.StrictParamDupe}}params.push(param);paramSet[param.name]=true;if(match(")")){break}expect(",")}}expect(")");previousStrict=strict;body=parseFunctionSourceElements();if(strict&&firstRestricted){throwError(firstRestricted,message)}if(strict&&stricted){throwErrorTolerant(stricted,message)}strict=previousStrict;return{type:Syntax.FunctionDeclaration,id:id,params:params,defaults:[],body:body,rest:null,generator:false,expression:false}}function parseFunctionExpression(){var token,id=null,stricted,firstRestricted,message,param,params=[],body,previousStrict,paramSet;expectKeyword("function");if(!match("(")){token=lookahead();id=parseVariableIdentifier();if(strict){if(isRestrictedWord(token.value)){throwErrorTolerant(token,Messages.StrictFunctionName)}}else{if(isRestrictedWord(token.value)){firstRestricted=token;message=Messages.StrictFunctionName}else if(isStrictModeReservedWord(token.value)){firstRestricted=token;message=Messages.StrictReservedWord}}}expect("(");if(!match(")")){paramSet={};while(index<length){token=lookahead();param=parseVariableIdentifier();if(strict){if(isRestrictedWord(token.value)){stricted=token;message=Messages.StrictParamName}if(Object.prototype.hasOwnProperty.call(paramSet,token.value)){stricted=token;message=Messages.StrictParamDupe}}else if(!firstRestricted){if(isRestrictedWord(token.value)){firstRestricted=token;message=Messages.StrictParamName}else if(isStrictModeReservedWord(token.value)){firstRestricted=token;message=Messages.StrictReservedWord}else if(Object.prototype.hasOwnProperty.call(paramSet,token.value)){firstRestricted=token;message=Messages.StrictParamDupe}}params.push(param);paramSet[param.name]=true;if(match(")")){break}expect(",")}}expect(")");previousStrict=strict;body=parseFunctionSourceElements();if(strict&&firstRestricted){throwError(firstRestricted,message)}if(strict&&stricted){throwErrorTolerant(stricted,message)}strict=previousStrict;return{type:Syntax.FunctionExpression,id:id,params:params,defaults:[],body:body,rest:null,generator:false,expression:false}}function parseSourceElement(){var token=lookahead();if(token.type===Token.Keyword){switch(token.value){case"const":case"let":return parseConstLetDeclaration(token.value);case"function":return parseFunctionDeclaration();default:return parseStatement()}}if(token.type!==Token.EOF){return parseStatement()}}function parseSourceElements(){var sourceElement,sourceElements=[],token,directive,firstRestricted;while(index<length){token=lookahead();if(token.type!==Token.StringLiteral){break}sourceElement=parseSourceElement();sourceElements.push(sourceElement);if(sourceElement.expression.type!==Syntax.Literal){break}directive=sliceSource(token.range[0]+1,token.range[1]-1);if(directive==="use strict"){strict=true;if(firstRestricted){throwErrorTolerant(firstRestricted,Messages.StrictOctalLiteral)}}else{if(!firstRestricted&&token.octal){firstRestricted=token}}}while(index<length){sourceElement=parseSourceElement();if(typeof sourceElement==="undefined"){break}sourceElements.push(sourceElement)}return sourceElements}function parseProgram(){var program;strict=false;program={type:Syntax.Program,body:parseSourceElements()};return program}function addComment(type,value,start,end,loc){assert(typeof start==="number","Comment must have valid position");if(extra.comments.length>0){if(extra.comments[extra.comments.length-1].range[1]>start){return}}extra.comments.push({type:type,value:value,range:[start,end],loc:loc})}function scanComment(){var comment,ch,loc,start,blockComment,lineComment;comment="";blockComment=false;lineComment=false;while(index<length){ch=source[index];if(lineComment){ch=source[index++];if(isLineTerminator(ch)){loc.end={line:lineNumber,column:index-lineStart-1};lineComment=false;addComment("Line",comment,start,index-1,loc);if(ch==="\r"&&source[index]==="\n"){++index}++lineNumber;lineStart=index;comment=""}else if(index>=length){lineComment=false;comment+=ch;loc.end={line:lineNumber,column:length-lineStart};addComment("Line",comment,start,length,loc)}else{comment+=ch}}else if(blockComment){if(isLineTerminator(ch)){if(ch==="\r"&&source[index+1]==="\n"){++index;comment+="\r\n"}else{comment+=ch}++lineNumber;++index;lineStart=index;if(index>=length){throwError({},Messages.UnexpectedToken,"ILLEGAL")}}else{ch=source[index++];if(index>=length){throwError({},Messages.UnexpectedToken,"ILLEGAL")}comment+=ch;if(ch==="*"){ch=source[index];if(ch==="/"){comment=comment.substr(0,comment.length-1);blockComment=false;++index;loc.end={line:lineNumber,column:index-lineStart};addComment("Block",comment,start,index,loc);comment=""}}}}else if(ch==="/"){ch=source[index+1];if(ch==="/"){loc={start:{line:lineNumber,column:index-lineStart}};start=index;index+=2;lineComment=true;if(index>=length){loc.end={line:lineNumber,column:index-lineStart};lineComment=false;addComment("Line",comment,start,index,loc)}}else if(ch==="*"){start=index;index+=2;blockComment=true;loc={start:{line:lineNumber,column:index-lineStart-2}};if(index>=length){throwError({},Messages.UnexpectedToken,"ILLEGAL")}}else{break}}else if(isWhiteSpace(ch)){++index}else if(isLineTerminator(ch)){++index;if(ch==="\r"&&source[index]==="\n"){++index}++lineNumber;lineStart=index}else{break}}}function filterCommentLocation(){var i,entry,comment,comments=[];for(i=0;i<extra.comments.length;++i){entry=extra.comments[i];comment={type:entry.type,value:entry.value};if(extra.range){comment.range=entry.range}if(extra.loc){comment.loc=entry.loc}comments.push(comment)}extra.comments=comments}function collectToken(){var start,loc,token,range,value;skipComment();start=index;loc={start:{line:lineNumber,column:index-lineStart}};token=extra.advance();loc.end={line:lineNumber,column:index-lineStart};if(token.type!==Token.EOF){range=[token.range[0],token.range[1]];value=sliceSource(token.range[0],token.range[1]);extra.tokens.push({type:TokenName[token.type],value:value,range:range,loc:loc})}return token}function collectRegex(){var pos,loc,regex,token;skipComment();pos=index;loc={start:{line:lineNumber,column:index-lineStart}};regex=extra.scanRegExp();loc.end={line:lineNumber,column:index-lineStart};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,range:[pos,index],loc:loc});return regex}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(extra.range){token.range=entry.range}if(extra.loc){token.loc=entry.loc}tokens.push(token)}extra.tokens=tokens}function createLiteral(token){return{type:Syntax.Literal,value:token.value}}function createRawLiteral(token){return{type:Syntax.Literal,value:token.value,raw:sliceSource(token.range[0],token.range[1])}}function createLocationMarker(){var marker={};marker.range=[index,index];marker.loc={start:{line:lineNumber,column:index-lineStart},end:{line:lineNumber,column:index-lineStart}};marker.end=function(){this.range[1]=index;this.loc.end.line=lineNumber;this.loc.end.column=index-lineStart};marker.applyGroup=function(node){if(extra.range){node.groupRange=[this.range[0],this.range[1]]}if(extra.loc){node.groupLoc={start:{line:this.loc.start.line,column:this.loc.start.column},end:{line:this.loc.end.line,column:this.loc.end.column}}}};marker.apply=function(node){if(extra.range){node.range=[this.range[0],this.range[1]]}if(extra.loc){node.loc={start:{line:this.loc.start.line,column:this.loc.start.column},end:{line:this.loc.end.line,column:this.loc.end.column}}}};return marker}function trackGroupExpression(){var marker,expr;skipComment();marker=createLocationMarker();expect("(");expr=parseExpression();expect(")");marker.end();marker.applyGroup(expr);return expr}function trackLeftHandSideExpression(){var marker,expr;skipComment();marker=createLocationMarker();expr=matchKeyword("new")?parseNewExpression():parsePrimaryExpression();while(match(".")||match("[")){if(match("[")){expr={type:Syntax.MemberExpression,computed:true,object:expr,property:parseComputedMember()};marker.end();marker.apply(expr)}else{expr={type:Syntax.MemberExpression,computed:false,object:expr,property:parseNonComputedMember()};marker.end();marker.apply(expr)}}return expr}function trackLeftHandSideExpressionAllowCall(){var marker,expr;skipComment();marker=createLocationMarker();expr=matchKeyword("new")?parseNewExpression():parsePrimaryExpression();while(match(".")||match("[")||match("(")){if(match("(")){expr={type:Syntax.CallExpression,callee:expr,arguments:parseArguments()};marker.end();marker.apply(expr)}else if(match("[")){expr={type:Syntax.MemberExpression,computed:true,object:expr,property:parseComputedMember()};marker.end();marker.apply(expr)}else{expr={type:Syntax.MemberExpression,computed:false,object:expr,property:parseNonComputedMember()};marker.end();marker.apply(expr)}}return expr}function filterGroup(node){var n,i,entry;n=Object.prototype.toString.apply(node)==="[object Array]"?[]:{};for(i in node){if(node.hasOwnProperty(i)&&i!=="groupRange"&&i!=="groupLoc"){entry=node[i];if(entry===null||typeof entry!=="object"||entry instanceof RegExp){n[i]=entry}else{n[i]=filterGroup(entry)}}}return n}function wrapTrackingFunction(range,loc){return function(parseFunction){function isBinary(node){return node.type===Syntax.LogicalExpression||node.type===Syntax.BinaryExpression}function visit(node){var start,end;if(isBinary(node.left)){visit(node.left)}if(isBinary(node.right)){visit(node.right)}if(range){if(node.left.groupRange||node.right.groupRange){start=node.left.groupRange?node.left.groupRange[0]:node.left.range[0];end=node.right.groupRange?node.right.groupRange[1]:node.right.range[1];node.range=[start,end]}else if(typeof node.range==="undefined"){start=node.left.range[0];end=node.right.range[1];node.range=[start,end]}}if(loc){if(node.left.groupLoc||node.right.groupLoc){start=node.left.groupLoc?node.left.groupLoc.start:node.left.loc.start;end=node.right.groupLoc?node.right.groupLoc.end:node.right.loc.end;node.loc={start:start,end:end}}else if(typeof node.loc==="undefined"){node.loc={start:node.left.loc.start,end:node.right.loc.end}}}}return function(){var marker,node;skipComment();marker=createLocationMarker();node=parseFunction.apply(null,arguments);marker.end();if(range&&typeof node.range==="undefined"){marker.apply(node)}if(loc&&typeof node.loc==="undefined"){marker.apply(node)}if(isBinary(node)){visit(node)}return node}}}function patch(){var wrapTracking;if(extra.comments){extra.skipComment=skipComment;skipComment=scanComment}if(extra.raw){extra.createLiteral=createLiteral;createLiteral=createRawLiteral}if(extra.range||extra.loc){extra.parseGroupExpression=parseGroupExpression;extra.parseLeftHandSideExpression=parseLeftHandSideExpression;extra.parseLeftHandSideExpressionAllowCall=parseLeftHandSideExpressionAllowCall;parseGroupExpression=trackGroupExpression;parseLeftHandSideExpression=trackLeftHandSideExpression;parseLeftHandSideExpressionAllowCall=trackLeftHandSideExpressionAllowCall;wrapTracking=wrapTrackingFunction(extra.range,extra.loc);extra.parseAdditiveExpression=parseAdditiveExpression;extra.parseAssignmentExpression=parseAssignmentExpression;extra.parseBitwiseANDExpression=parseBitwiseANDExpression;extra.parseBitwiseORExpression=parseBitwiseORExpression;extra.parseBitwiseXORExpression=parseBitwiseXORExpression;extra.parseBlock=parseBlock;extra.parseFunctionSourceElements=parseFunctionSourceElements;extra.parseCatchClause=parseCatchClause;extra.parseComputedMember=parseComputedMember;extra.parseConditionalExpression=parseConditionalExpression;extra.parseConstLetDeclaration=parseConstLetDeclaration;extra.parseEqualityExpression=parseEqualityExpression;extra.parseExpression=parseExpression;extra.parseForVariableDeclaration=parseForVariableDeclaration;extra.parseFunctionDeclaration=parseFunctionDeclaration;extra.parseFunctionExpression=parseFunctionExpression;extra.parseLogicalANDExpression=parseLogicalANDExpression;extra.parseLogicalORExpression=parseLogicalORExpression;extra.parseMultiplicativeExpression=parseMultiplicativeExpression;extra.parseNewExpression=parseNewExpression;extra.parseNonComputedProperty=parseNonComputedProperty;extra.parseObjectProperty=parseObjectProperty;extra.parseObjectPropertyKey=parseObjectPropertyKey;extra.parsePostfixExpression=parsePostfixExpression;extra.parsePrimaryExpression=parsePrimaryExpression;extra.parseProgram=parseProgram;extra.parsePropertyFunction=parsePropertyFunction;
extra.parseRelationalExpression=parseRelationalExpression;extra.parseStatement=parseStatement;extra.parseShiftExpression=parseShiftExpression;extra.parseSwitchCase=parseSwitchCase;extra.parseUnaryExpression=parseUnaryExpression;extra.parseVariableDeclaration=parseVariableDeclaration;extra.parseVariableIdentifier=parseVariableIdentifier;parseAdditiveExpression=wrapTracking(extra.parseAdditiveExpression);parseAssignmentExpression=wrapTracking(extra.parseAssignmentExpression);parseBitwiseANDExpression=wrapTracking(extra.parseBitwiseANDExpression);parseBitwiseORExpression=wrapTracking(extra.parseBitwiseORExpression);parseBitwiseXORExpression=wrapTracking(extra.parseBitwiseXORExpression);parseBlock=wrapTracking(extra.parseBlock);parseFunctionSourceElements=wrapTracking(extra.parseFunctionSourceElements);parseCatchClause=wrapTracking(extra.parseCatchClause);parseComputedMember=wrapTracking(extra.parseComputedMember);parseConditionalExpression=wrapTracking(extra.parseConditionalExpression);parseConstLetDeclaration=wrapTracking(extra.parseConstLetDeclaration);parseEqualityExpression=wrapTracking(extra.parseEqualityExpression);parseExpression=wrapTracking(extra.parseExpression);parseForVariableDeclaration=wrapTracking(extra.parseForVariableDeclaration);parseFunctionDeclaration=wrapTracking(extra.parseFunctionDeclaration);parseFunctionExpression=wrapTracking(extra.parseFunctionExpression);parseLeftHandSideExpression=wrapTracking(parseLeftHandSideExpression);parseLogicalANDExpression=wrapTracking(extra.parseLogicalANDExpression);parseLogicalORExpression=wrapTracking(extra.parseLogicalORExpression);parseMultiplicativeExpression=wrapTracking(extra.parseMultiplicativeExpression);parseNewExpression=wrapTracking(extra.parseNewExpression);parseNonComputedProperty=wrapTracking(extra.parseNonComputedProperty);parseObjectProperty=wrapTracking(extra.parseObjectProperty);parseObjectPropertyKey=wrapTracking(extra.parseObjectPropertyKey);parsePostfixExpression=wrapTracking(extra.parsePostfixExpression);parsePrimaryExpression=wrapTracking(extra.parsePrimaryExpression);parseProgram=wrapTracking(extra.parseProgram);parsePropertyFunction=wrapTracking(extra.parsePropertyFunction);parseRelationalExpression=wrapTracking(extra.parseRelationalExpression);parseStatement=wrapTracking(extra.parseStatement);parseShiftExpression=wrapTracking(extra.parseShiftExpression);parseSwitchCase=wrapTracking(extra.parseSwitchCase);parseUnaryExpression=wrapTracking(extra.parseUnaryExpression);parseVariableDeclaration=wrapTracking(extra.parseVariableDeclaration);parseVariableIdentifier=wrapTracking(extra.parseVariableIdentifier)}if(typeof extra.tokens!=="undefined"){extra.advance=advance;extra.scanRegExp=scanRegExp;advance=collectToken;scanRegExp=collectRegex}}function unpatch(){if(typeof extra.skipComment==="function"){skipComment=extra.skipComment}if(extra.raw){createLiteral=extra.createLiteral}if(extra.range||extra.loc){parseAdditiveExpression=extra.parseAdditiveExpression;parseAssignmentExpression=extra.parseAssignmentExpression;parseBitwiseANDExpression=extra.parseBitwiseANDExpression;parseBitwiseORExpression=extra.parseBitwiseORExpression;parseBitwiseXORExpression=extra.parseBitwiseXORExpression;parseBlock=extra.parseBlock;parseFunctionSourceElements=extra.parseFunctionSourceElements;parseCatchClause=extra.parseCatchClause;parseComputedMember=extra.parseComputedMember;parseConditionalExpression=extra.parseConditionalExpression;parseConstLetDeclaration=extra.parseConstLetDeclaration;parseEqualityExpression=extra.parseEqualityExpression;parseExpression=extra.parseExpression;parseForVariableDeclaration=extra.parseForVariableDeclaration;parseFunctionDeclaration=extra.parseFunctionDeclaration;parseFunctionExpression=extra.parseFunctionExpression;parseGroupExpression=extra.parseGroupExpression;parseLeftHandSideExpression=extra.parseLeftHandSideExpression;parseLeftHandSideExpressionAllowCall=extra.parseLeftHandSideExpressionAllowCall;parseLogicalANDExpression=extra.parseLogicalANDExpression;parseLogicalORExpression=extra.parseLogicalORExpression;parseMultiplicativeExpression=extra.parseMultiplicativeExpression;parseNewExpression=extra.parseNewExpression;parseNonComputedProperty=extra.parseNonComputedProperty;parseObjectProperty=extra.parseObjectProperty;parseObjectPropertyKey=extra.parseObjectPropertyKey;parsePrimaryExpression=extra.parsePrimaryExpression;parsePostfixExpression=extra.parsePostfixExpression;parseProgram=extra.parseProgram;parsePropertyFunction=extra.parsePropertyFunction;parseRelationalExpression=extra.parseRelationalExpression;parseStatement=extra.parseStatement;parseShiftExpression=extra.parseShiftExpression;parseSwitchCase=extra.parseSwitchCase;parseUnaryExpression=extra.parseUnaryExpression;parseVariableDeclaration=extra.parseVariableDeclaration;parseVariableIdentifier=extra.parseVariableIdentifier}if(typeof extra.scanRegExp==="function"){advance=extra.advance;scanRegExp=extra.scanRegExp}}function stringToArray(str){var length=str.length,result=[],i;for(i=0;i<length;++i){result[i]=str.charAt(i)}return result}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;length=source.length;buffer=null;state={allowIn:true,labelSet:{},inFunctionBody:false,inIteration:false,inSwitch:false};extra={};if(typeof options!=="undefined"){extra.range=typeof options.range==="boolean"&&options.range;extra.loc=typeof options.loc==="boolean"&&options.loc;extra.raw=typeof options.raw==="boolean"&&options.raw;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(length>0){if(typeof source[0]==="undefined"){if(code instanceof String){source=code.valueOf()}if(typeof source[0]==="undefined"){source=stringToArray(code)}}}patch();try{program=parseProgram();if(typeof extra.comments!=="undefined"){filterCommentLocation();program.comments=extra.comments}if(typeof extra.tokens!=="undefined"){filterTokenLocation();program.tokens=extra.tokens}if(typeof extra.errors!=="undefined"){program.errors=extra.errors}if(extra.range||extra.loc){program.body=filterGroup(program.body)}}catch(e){throw e}finally{unpatch();extra={}}return program}exports.version="1.0.2";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}()})})()},{}]},{},[]);return require("./index")}();