diff --git a/.eslintrc.js b/.eslintrc.js index 4f8e23aa..bdd3244f 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -6,6 +6,7 @@ module.exports = { ignorePatterns: [ "docs/", "lib/parser.js", // Generated + "lib/compiler/passes/js-imports.js", // Generated "examples/*.js", // Testing examples "test/vendor/", "test/cli/fixtures/bad.js", // Intentionally-invalid diff --git a/docs/js/benchmark-bundle.min.js b/docs/js/benchmark-bundle.min.js index 2e2ddbcb..36afa90e 100644 --- a/docs/js/benchmark-bundle.min.js +++ b/docs/js/benchmark-bundle.min.js @@ -5,4 +5,4 @@ // Copyright (c) 2023- the Peggy authors // Licensed under the MIT License. -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).browser=t()}(this,(function(){var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},browser_stub={},GrammarLocation$4=function(){function e(e,t){this.source=e,this.start=t}return e.prototype.toString=function(){return String(this.source)},e.prototype.offset=function(e){return{line:e.line+this.start.line-1,column:1===e.line?e.column+this.start.column-1:e.column,offset:e.offset+this.start.offset}},e.offsetStart=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.start):e.start},e.offsetEnd=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.end):e.end},e}(),grammarLocation=GrammarLocation$4,__extends=commonjsGlobal&&commonjsGlobal.__extends||(extendStatics=function(e,t){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},extendStatics(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),extendStatics,GrammarLocation$3=grammarLocation,setProtoOf=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},GrammarError$3=function(e){function t(r,n,o){var u=e.call(this,r)||this;return setProtoOf(u,t.prototype),u.name="GrammarError",u.location=n,void 0===o&&(o=[]),u.diagnostics=o,u.stage=null,u.problems=[["error",r,n,o]],u}return __extends(t,e),t.prototype.toString=function(){var t=e.prototype.toString.call(this);this.location&&(t+="\n at ",void 0!==this.location.source&&null!==this.location.source&&(t+="".concat(this.location.source,":")),t+="".concat(this.location.start.line,":").concat(this.location.start.column));for(var r=0,n=this.diagnostics;r1&&e.delimiter&&o(e.delimiter)))},semantic_and:n,semantic_not:n,rule_ref:function(t){var r=asts$8.findRule(e,t.name);return r?o(r):void 0},literal:function(e){return""!==e.value},class:r,any:r});return o(t)},combine:function(e){return e.reduce((function(e,t){return e.topLevelInitializer=combinePossibleArrays(e.topLevelInitializer,t.topLevelInitializer),e.initializer=combinePossibleArrays(e.initializer,t.initializer),e.rules=e.rules.concat(t.rules),e}))}},asts_1=asts$8,opcodes={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,IF_LT:30,IF_GE:31,IF_LT_DYNAMIC:32,IF_GE_DYNAMIC:33,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29,SOURCE_MAP_PUSH:37,SOURCE_MAP_POP:38,SOURCE_MAP_LABEL_PUSH:39,SOURCE_MAP_LABEL_POP:40},opcodes_1=opcodes,visitor$a=visitor_1,asts$7=asts_1,GrammarError$2=grammarError,ALWAYS_MATCH$1=1,SOMETIMES_MATCH$1=0,NEVER_MATCH$1=-1;function inferenceMatchResult$1(e){function t(e){return e.match=SOMETIMES_MATCH$1}function r(e){return u(e.expression),e.match=ALWAYS_MATCH$1}function n(e){return e.match=u(e.expression)}function o(e,t){for(var r=e.length,n=0,o=0,a=0;a0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var u=visitor$a.build({rule:function(e){var t=void 0,r=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(t=e.match,e.match=u(e.expression),++r>6)throw new GrammarError$2("Infinity cycle detected when trying to evaluate node match result",e.location)}while(t!==e.match)}return e.match},named:n,choice:function(e){return e.match=o(e.alternatives,!0)},action:n,sequence:function(e){return e.match=o(e.elements,!1)},labeled:n,text:n,simple_and:n,simple_not:function(e){return e.match=-u(e.expression)},optional:r,zero_or_more:r,one_or_more:n,repeated:function(e){var t=u(e.expression),r=e.delimiter?u(e.delimiter):NEVER_MATCH$1,n=e.min?e.min:e.max;return"constant"!==n.type||"constant"!==e.max.type?e.match=SOMETIMES_MATCH$1:0===e.max.value||null!==e.max.value&&n.value>e.max.value?e.match=NEVER_MATCH$1:t===NEVER_MATCH$1?e.match=0===n.value?ALWAYS_MATCH$1:NEVER_MATCH$1:t===ALWAYS_MATCH$1?e.delimiter&&n.value>=2?e.match=r:e.match=ALWAYS_MATCH$1:e.delimiter&&n.value>=2?e.match=r===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===n.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:n,semantic_and:t,semantic_not:t,rule_ref:function(t){var r=asts$7.findRule(e,t.name);return t.match=u(r)},literal:function(e){var t=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},class:function(e){var t=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},any:t});u(e)}inferenceMatchResult$1.ALWAYS_MATCH=ALWAYS_MATCH$1,inferenceMatchResult$1.SOMETIMES_MATCH=SOMETIMES_MATCH$1,inferenceMatchResult$1.NEVER_MATCH=NEVER_MATCH$1;var inferenceMatchResult_1=inferenceMatchResult$1,__spreadArray$3=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var n,o=0,u=t.length;o1?h(SOMETIMES_MATCH,[op$1.IF_ERROR],f([op$1.POP],e(t.slice(1),r)),[]):[])}(e.alternatives,t)},action:function(e,t){var r=p(t.env),n="sequence"!==e.expression.type||0===e.expression.elements.length,o=C(e.expression,{sp:t.sp+(n?1:0),env:r,action:e}),u=e.expression.match||0,a=n&&u!==NEVER_MATCH?c(!1,Object.keys(r),e):-1;return n?f([op$1.PUSH_CURR_POS],o,h(u,[op$1.IF_NOT_ERROR],f([op$1.LOAD_SAVED_POS,1],d(a,1,r,t.sp+2)),[]),[op$1.NIP]):o},sequence:function(e,t){return f([op$1.PUSH_CURR_POS],function t(r,n){if(r.length>0){var o=e.elements.length-r.length+1;return f(C(r[0],{sp:n.sp,env:n.env,pluck:n.pluck,action:null}),h(r[0].match||0,[op$1.IF_NOT_ERROR],t(r.slice(1),{sp:n.sp+1,env:n.env,pluck:n.pluck,action:n.action}),f(o>1?[op$1.POP_N,o]:[op$1.POP],[op$1.POP_CURR_POS],[op$1.PUSH_FAILED])))}if(n.pluck&&n.pluck.length>0)return f([op$1.PLUCK,e.elements.length+1,n.pluck.length],n.pluck.map((function(e){return n.sp-e})));if(n.action){var u=c(!1,Object.keys(n.env),n.action);return f([op$1.LOAD_SAVED_POS,e.elements.length],d(u,e.elements.length+1,n.env,n.sp))}return f([op$1.WRAP,e.elements.length],[op$1.NIP])}(e.elements,{sp:t.sp+1,env:t.env,pluck:[],action:t.action}))},labeled:function(e,r){var n=r.env,o=e.label,u=r.sp+1;o&&(n=p(r.env),r.env[o]=u),e.pick&&r.pluck.push(u);var a=C(e.expression,{sp:r.sp,env:n,action:null});return o&&e.labelLocation&&t&&"source-and-map"===t.output?f([op$1.SOURCE_MAP_LABEL_PUSH,u,i(o),l(e.labelLocation)],a,[op$1.SOURCE_MAP_LABEL_POP,u]):a},text:function(e,t){return f([op$1.PUSH_CURR_POS],C(e.expression,{sp:t.sp+1,env:p(t.env),action:null}),h(e.match||0,[op$1.IF_NOT_ERROR],f([op$1.POP],[op$1.TEXT]),[op$1.NIP]))},simple_and:function(e,t){return g(e.expression,!1,t)},simple_not:function(e,t){return g(e.expression,!0,t)},optional:function(e,t){return f(C(e.expression,{sp:t.sp,env:p(t.env),action:null}),h(-(e.expression.match||0),[op$1.IF_ERROR],f([op$1.POP],[op$1.PUSH_NULL]),[]))},zero_or_more:function(e,t){var r=C(e.expression,{sp:t.sp+1,env:p(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],r,m(r),[op$1.POP])},one_or_more:function(e,t){var r=C(e.expression,{sp:t.sp+1,env:p(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],r,h(e.expression.match||0,[op$1.IF_NOT_ERROR],f(m(r),[op$1.POP]),f([op$1.POP],[op$1.POP],[op$1.PUSH_FAILED])))},repeated:function(e,t){var r=e.min?e.min:e.max,n="constant"!==r.type||r.value>0,o="constant"!==e.max.type&&null!==e.max.value,u=n?2:1,a=e.min?v(e.min,t.env,t.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:t.sp},i=v(e.max,t.env,a.sp,u),s=C(e.expression,{sp:i.sp+u,env:p(t.env),action:null}),c=null!==e.delimiter?C(e.expression,{sp:i.sp+u+1,env:p(t.env),action:null}):s,l=function(e,t,r,n,o){return e?f([op$1.PUSH_CURR_POS],C(e,{sp:n.sp+o+1,env:p(n.env),action:null}),h(e.match||0,[op$1.IF_NOT_ERROR],f([op$1.POP],r,h(-t,[op$1.IF_ERROR],[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP])),[op$1.NIP])):r}(e.delimiter,e.expression.match||0,c,t,u),d=E(l,e.max),g=o?E(s,e.max):s,A=f(n?[op$1.PUSH_CURR_POS]:[],[op$1.PUSH_EMPTY_ARRAY],g,m(d),[op$1.POP]);return f(a.pre,i.pre,n?function(e,t){var r="constant"===t.type?[op$1.IF_LT,t.value]:[op$1.IF_LT_DYNAMIC,t.sp||0];return f(e,h(SOMETIMES_MATCH,r,[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP]))}(A,r):A,i.post,a.post)},group:function(e,t){return C(e.expression,{sp:t.sp,env:p(t.env),action:null})},semantic_and:function(e,t){return A(e,!1,t)},semantic_not:function(e,t){return A(e,!0,t)},rule_ref:function(t){return[op$1.RULE,asts$6.indexOfRule(e,t.name)]},literal:function(e){if(e.value.length>0){var t=e.match||0,r=t===SOMETIMES_MATCH||t===ALWAYS_MATCH&&!e.ignoreCase?i(e.ignoreCase?e.value.toLowerCase():e.value):-1,n=t!==ALWAYS_MATCH?s({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):-1;return h(t,e.ignoreCase?[op$1.MATCH_STRING_IC,r]:[op$1.MATCH_STRING,r],e.ignoreCase?[op$1.ACCEPT_N,e.value.length]:[op$1.ACCEPT_STRING,r],[op$1.FAIL,n])}return[op$1.PUSH_EMPTY_STRING]},class:function(e){var t=e.match||0,r=t===SOMETIMES_MATCH?function(e){var t={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},r=JSON.stringify(t),o=n.findIndex((function(e){return JSON.stringify(e)===r}));return-1===o?n.push(t)-1:o}(e):-1,o=t!==ALWAYS_MATCH?s({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):-1;return h(t,[op$1.MATCH_CHAR_CLASS,r],[op$1.ACCEPT_N,1],[op$1.FAIL,o])},any:function(e){var t=e.match||0,r=t!==ALWAYS_MATCH?s({type:"any"}):-1;return h(t,[op$1.MATCH_ANY],[op$1.ACCEPT_N,1],[op$1.FAIL,r])}},t&&"source-and-map"===t.output&&Object.keys(_).forEach((function(e){var t=_[e];_[e]=function(e){for(var r=[],n=1;n>>=VLQ_BASE_SHIFT,n>0&&(t|=VLQ_CONTINUATION_BIT),r+=base64$2.encode(t)}while(n>0);return r};var util$3={};function getArg(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')}util$3.getArg=getArg;const supportsNullProto=!("__proto__"in Object.create(null));function identity(e){return e}function toSetString(e){return isProtoString(e)?"$"+e:e}function fromSetString(e){return isProtoString(e)?e.slice(1):e}function isProtoString(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated(e,t){let r=e.generatedLine-t.generatedLine;return 0!==r?r:(r=e.generatedColumn-t.generatedColumn,0!==r?r:(r=strcmp(e.source,t.source),0!==r?r:(r=e.originalLine-t.originalLine,0!==r?r:(r=e.originalColumn-t.originalColumn,0!==r?r:strcmp(e.name,t.name)))))}util$3.toSetString=supportsNullProto?identity:toSetString,util$3.fromSetString=supportsNullProto?identity:fromSetString,util$3.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;const PROTOCOL="http:",PROTOCOL_AND_HOST=`${PROTOCOL}//host`;function createSafeHandler(e){return t=>{const r=getURLType(t),n=buildSafeBase(t),o=new URL(t,n);e(o);const u=o.toString();return"absolute"===r?u:"scheme-relative"===r?u.slice(PROTOCOL.length):"path-absolute"===r?u.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(n,u)}}function withBase(e,t){return new URL(e,t).toString()}function buildUniqueSegment(e,t){let r=0;for(;;){const n=e+r++;if(-1===t.indexOf(n))return n}}function buildSafeBase(e){const t=e.split("..").length-1,r=buildUniqueSegment("p",e);let n=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!n[n.length-1]&&n.pop();r.length>0&&n.length>0&&r[0]===n[0];)r.shift(),n.shift();return n.map((()=>"..")).concat(r).join("/")+t.search+t.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize=createSafeHandler((e=>{}));function join(e,t){const r=getURLType(t),n=getURLType(e);if(e=ensureDirectory(e),"absolute"===r)return withBase(t,void 0);if("absolute"===n)return withBase(t,e);if("scheme-relative"===r)return normalize(t);if("scheme-relative"===n)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===r)return normalize(t);if("path-absolute"===n)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const o=buildSafeBase(t+e);return computeRelativeURL(o,withBase(t,withBase(e,o)))}function relative(e,t){const r=relativeIfPossible(e,t);return"string"==typeof r?r:normalize(t)}function relativeIfPossible(e,t){if(getURLType(e)!==getURLType(t))return null;const r=buildSafeBase(e+t),n=new URL(e,r),o=new URL(t,r);try{new URL("",o.toString())}catch(e){return null}return o.protocol!==n.protocol||o.user!==n.user||o.password!==n.password||o.hostname!==n.hostname||o.port!==n.port?null:computeRelativeURL(n,o)}util$3.normalize=normalize,util$3.join=join,util$3.relative=relative;var arraySet={};let ArraySet$1=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){const n=new e;for(let e=0,o=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&er||n==r&&u>=o||util$2.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$2.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList.MappingList=MappingList$1;const base64VLQ=base64Vlq,util$1=util$3,ArraySet=arraySet.ArraySet,MappingList=mappingList.MappingList;let SourceMapGenerator$1=class e{constructor(e){e||(e={}),this._file=util$1.getArg(e,"file",null),this._sourceRoot=util$1.getArg(e,"sourceRoot",null),this._skipValidation=util$1.getArg(e,"skipValidation",!1),this._sources=new ArraySet,this._names=new ArraySet,this._mappings=new MappingList,this._sourcesContents=null}static fromSourceMap(t){const r=t.sourceRoot,n=new e({file:t.file,sourceRoot:r});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=r&&(t.source=util$1.relative(r,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),n.addMapping(t)})),t.sources.forEach((function(e){let o=e;null!=r&&(o=util$1.relative(r,e)),n._sources.has(o)||n._sources.add(o);const u=t.sourceContentFor(e);null!=u&&n.setSourceContent(e,u)})),n}addMapping(e){const t=util$1.getArg(e,"generated"),r=util$1.getArg(e,"original",null);let n=util$1.getArg(e,"source",null),o=util$1.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,n,o),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=o&&(o=String(o),this._names.has(o)||this._names.add(o)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:r&&r.line,originalColumn:r&&r.column,source:n,name:o})}setSourceContent(e,t){let r=e;null!=this._sourceRoot&&(r=util$1.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$1.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[util$1.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,r){let n=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');n=e.file}const o=this._sourceRoot;null!=o&&(n=util$1.relative(o,n));const u=this._mappings.toArray().length>0?new ArraySet:this._sources,a=new ArraySet;this._mappings.unsortedForEach((function(t){if(t.source===n&&null!=t.originalLine){const n=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=n.source&&(t.source=n.source,null!=r&&(t.source=util$1.join(r,t.source)),null!=o&&(t.source=util$1.relative(o,t.source)),t.originalLine=n.line,t.originalColumn=n.column,null!=n.name&&(t.name=n.name))}const i=t.source;null==i||u.has(i)||u.add(i);const s=t.name;null==s||a.has(s)||a.add(s)}),this),this._sources=u,this._names=a,e.sources.forEach((function(t){const n=e.sourceContentFor(t);null!=n&&(null!=r&&(t=util$1.join(r,t)),null!=o&&(t=util$1.relative(o,t)),this.setSourceContent(t,n))}),this)}_validateMapping(e,t,r,n){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!n);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))}_serializeMappings(){let e,t,r,n,o=0,u=1,a=0,i=0,s=0,c=0,l="";const p=this._mappings.toArray();for(let f=0,h=p.length;f0){if(!util$1.compareByGeneratedPositionsInflated(t,p[f-1]))continue;e+=","}e+=base64VLQ.encode(t.generatedColumn-o),o=t.generatedColumn,null!=t.source&&(n=this._sources.indexOf(t.source),e+=base64VLQ.encode(n-c),c=n,e+=base64VLQ.encode(t.originalLine-1-i),i=t.originalLine-1,e+=base64VLQ.encode(t.originalColumn-a),a=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=base64VLQ.encode(r-s),s=r)),l+=e}return l}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$1.relative(t,e));const r=util$1.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$1.prototype._version=3,sourceMapGenerator.SourceMapGenerator=SourceMapGenerator$1;var sourceNode={};const SourceMapGenerator=sourceMapGenerator.SourceMapGenerator,util=util$3,REGEX_NEWLINE=/(\r?\n)/,NEWLINE_CODE=10,isSourceNode="$$$isSourceNode$$$";let SourceNode$2=class e{constructor(e,t,r,n,o){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==o?null:o,this[isSourceNode]=!0,null!=n&&this.add(n)}static fromStringWithSourceMap(t,r,n){const o=new e,u=t.split(REGEX_NEWLINE);let a=0;const i=function(){return e()+(e()||"");function e(){return a=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let r=0,n=this.children.length;r0){for(t=[],r=0;r' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.sourceNode=function(e,t,r){var n=GrammarLocation$2.offsetStart(e);return new SourceNode$1(n.line,n.column?n.column-1:null,String(e.source),t,r)},e.prototype.push=function(t){++this.sp>this.maxSp&&(this.maxSp=this.sp);var r=this.labels[this.sp],n=[this.name(this.sp)," = ",t,";"];if(r){if(this.sourceMapStack.length){var o=e.sourceNode(r.location,n.splice(0,2),r.label),u=this.sourceMapPopInternal(),a=u.parts,i=u.location,s=i.start.offsett.end.offset&&(r[2]={start:t.end,end:r[2].end,source:r[2].source})}this.sourceMapStack.push([e,e.length,t])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop();if(!e)throw new RangeError("Rule '".concat(this.ruleName,"': Attempting to pop an empty source map stack.\nBytecode: ").concat(this.bytecode));var t=e[0],r=e[1],n=e[2],o=t.splice(r).map((function(e){return e instanceof SourceNode$1?e:e+"\n"}));if(o.length){var u=GrammarLocation$2.offsetStart(n);t.push(new SourceNode$1(u.line,u.column-1,String(n.source),o))}return{parts:t,location:n}},e.prototype.sourceMapPop=function(e){var t=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&t.end.offset>2],o+=t[(3&e[u])<<4|e[u+1]>>4],o+=t[(15&e[u+1])<<2|e[u+2]>>6],o+=t[63&e[u+2]];return 1===r?(o+=t[e[n]>>2],o+=t[(3&e[n])<<4],o+="=="):2===r&&(o+=t[e[n]>>2],o+=t[(3&e[n])<<4|e[n+1]>>4],o+=t[(15&e[n+1])<<2],o+="="),o}utils.hex=hex,utils.stringEscape=stringEscape$1,utils.regexpClassEscape=regexpClassEscape$1,utils.base64=base64$1;var __spreadArray$2=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var n,o=0,u=t.length;o0&&(t.forEach((function(e){o.push("var "+e+' = require("'+stringEscape(s[e])+'");')})),o.push("")),o.push(e,"","module.exports = "+n()+";"),o},es:function(){var n=Object.keys(s),o=r();return o.push(""),n.length>0&&(n.forEach((function(e){o.push("import "+e+' from "'+stringEscape(s[e])+'";')})),o.push("")),o.push(e,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),o},amd:function(){var t=Object.keys(s),o="["+t.map((function(e){return s[e]})).map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",u=t.join(", ");return __spreadArray$2(__spreadArray$2([],r(),!0),["define("+o+", function("+u+") {",' "use strict";',"",e,"",c("return "+n()+";"),"});"],!1)},globals:function(){return __spreadArray$2(__spreadArray$2([],r(),!0),["(function(root) {",' "use strict";',"",e,"",c("root."+t.exportVar+" = "+n()+";"),"})(this);"],!1)},umd:function(){var o=Object.keys(s),u=o.map((function(e){return s[e]})),a="["+u.map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",i=u.map((function(e){return'require("'+stringEscape(e)+'")'})).join(", "),l=o.join(", "),p=r();return p.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+a+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+i+");"),null!==t.exportVar&&p.push(" } else {"," root."+t.exportVar+" = factory();"),p.push(" }","})(this, function("+l+") {",' "use strict";',"",e,"",c("return "+n()+";"),"});"),p}}[t.format||"bare"]();return new SourceNode(null,null,t.grammarSource,o.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}(function(){var s=[];if(e.topLevelInitializer)if(Array.isArray(e.topLevelInitializer))for(var A=0,m=e.topLevelInitializer;A targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var offset_s = (this.location.source && (typeof this.location.source.offset === "function"))'," ? this.location.source.offset(s)"," : s;",' var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;'," if (src) {"," var e = this.location.end;"," var filler = peg$padEnd(\"\", offset_s.line.toString().length, ' ');"," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --\x3e " + loc + "\\n"',' + filler + " |\\n"',' + offset_s.line + " | " + line + "\\n"',' + filler + " | " + peg$padEnd("", s.column - 1, \' \')',' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/"/g, "\\\\\\"")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/\\]/g, "\\\\]")',' .replace(/\\^/g, "\\\\^")',' .replace(/-/g, "\\\\-")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&s.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");var E="{ "+i.map((function(e){return e+": "+d(e)})).join(", ")+" }",_=d(i[0]);if(s.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+E+";"," var peg$startRuleFunction = "+_+";","",new SourceNode(null,null,t.grammarSource,__spreadArray$2([r.map((function(e,t){return" var "+l(t)+' = "'+stringEscape(e)+'";'})).concat("",o.map((function(e,t){return" var "+p(t)+" = /^["+((r=e).inverted?"^":"")+r.value.map((function(e){return Array.isArray(e)?regexpClassEscape(e[0])+"-"+regexpClassEscape(e[1]):regexpClassEscape(e)})).join("")+"]/"+(r.ignoreCase?"i":"")+";";var r}))).concat("",u.map((function(e,t){return" var "+f(t)+" = "+function(e){switch(e.type){case"rule":return'peg$otherExpectation("'+stringEscape(e.value)+'")';case"literal":return'peg$literalExpectation("'+stringEscape(e.value)+'", '+e.ignoreCase+")";case"class":return"peg$classExpectation(["+e.value.map((function(e){return Array.isArray(e)?'["'+stringEscape(e[0])+'", "'+stringEscape(e[1])+'"]':'"'+stringEscape(e)+'"'})).join(", ")+"], "+e.inverted+", "+e.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(e)+")")}}(e)+";"}))).concat("").join("\n")],a.map((function(e,t){return wrapInSourceNode("\n var ".concat(h(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")})),!0)),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&s.push(" var peg$resultsCache = {};",""),t.trace&&s.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),s.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",' throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");'," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," if (pos >= peg$posDetailsCache.length) {"," p = peg$posDetailsCache.length - 1;"," } else {"," p = pos;"," while (!peg$posDetailsCache[--p]) {}"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos, offset) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," var res = {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };",' if (offset && peg$source && (typeof peg$source.offset === "function")) {'," res.start = peg$source.offset(res.start);"," res.end = peg$source.offset(res.end);"," }"," return res;"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach((function(o){s.push.apply(s,c(function(o){var u=[],a=o.bytecode,i=new Stack(o.name,"s","var",a),s=function t(o){var u=0,a=o.length,s=[],g=void 0;function A(e,r,n){var a=r+3,l=o[u+a-2],p=o[u+a-1],f=i.checkedIf(u,(function(){return u+=a+l,(n||t)(o.slice(u-l,u))}),p>0?function(){return u+=p,t(o.slice(u-p,u))}:null),h=f[0],d=f[1];s.push("if ("+e+") {"),s.push.apply(s,c(h)),p>0&&(s.push("} else {"),s.push.apply(s,c(d))),s.push("}")}function m(e,r,n){var a=r+3,c=1===n?"input.charAt(peg$currPos)":"input.substr(peg$currPos, "+n+")",l=null;o[u+a]===op.ACCEPT_N&&o[u+a+1]===n&&(s.push(i.push(c)),c=i.pop(),l=function(e){i.sp++;var r=t(e.slice(2));return r.unshift(1===n?"peg$currPos++;":"peg$currPos += "+n+";"),r}),A(e(c,null!==l),r,l)}for(var v=function(){switch(o[u]){case op.PUSH_EMPTY_STRING:s.push(i.push("''")),u++;break;case op.PUSH_CURR_POS:s.push(i.push("peg$currPos")),u++;break;case op.PUSH_UNDEFINED:s.push(i.push("undefined")),u++;break;case op.PUSH_NULL:s.push(i.push("null")),u++;break;case op.PUSH_FAILED:s.push(i.push("peg$FAILED")),u++;break;case op.PUSH_EMPTY_ARRAY:s.push(i.push("[]")),u++;break;case op.POP:i.pop(),u++;break;case op.POP_CURR_POS:s.push("peg$currPos = "+i.pop()+";"),u++;break;case op.POP_N:i.pop(o[u+1]),u+=2;break;case op.NIP:g=i.pop(),i.pop(),s.push(i.push(g)),u++;break;case op.APPEND:g=i.pop(),s.push(i.top()+".push("+g+");"),u++;break;case op.WRAP:s.push(i.push("["+i.pop(o[u+1]).join(", ")+"]")),u+=2;break;case op.TEXT:s.push(i.push("input.substring("+i.pop()+", peg$currPos)")),u++;break;case op.PLUCK:var a=o[u+3-1],v=3+a;g=o.slice(u+3,u+v),g=1===a?i.index(g[0]):"[ ".concat(g.map((function(e){return i.index(e)})).join(", ")," ]"),i.pop(o[u+1]),s.push(i.push(g)),u+=v;break;case op.IF:A(i.top(),0);break;case op.IF_ERROR:A(i.top()+" === peg$FAILED",0);break;case op.IF_NOT_ERROR:A(i.top()+" !== peg$FAILED",0);break;case op.IF_LT:A(i.top()+".length < "+o[u+1],1);break;case op.IF_GE:A(i.top()+".length >= "+o[u+1],1);break;case op.IF_LT_DYNAMIC:A(i.top()+".length < ("+i.index(o[u+1])+"|0)",1);break;case op.IF_GE_DYNAMIC:A(i.top()+".length >= ("+i.index(o[u+1])+"|0)",1);break;case op.WHILE_NOT_ERROR:y=i.top()+" !== peg$FAILED",S=o[u+2-1],F=i.checkedLoop(u,(function(){return u+=2+S,t(o.slice(u-S,u))})),s.push("while ("+y+") {"),s.push.apply(s,c(F)),s.push("}");break;case op.MATCH_ANY:A("input.length > peg$currPos",0);break;case op.MATCH_STRING:var E=o[u+1],_=r[E];m((function(e,t){return _.length>1?"".concat(e," === ").concat(l(E)):(e=t?"".concat(e,".charCodeAt(0)"):"input.charCodeAt(peg$currPos)","".concat(e," === ").concat(_.charCodeAt(0)))}),1,_.length);break;case op.MATCH_STRING_IC:var C=o[u+1];m((function(e){return"".concat(e,".toLowerCase() === ").concat(l(C))}),1,r[C].length);break;case op.MATCH_CHAR_CLASS:var $=o[u+1];m((function(e){return"".concat(p($),".test(").concat(e,")")}),1,1);break;case op.ACCEPT_N:s.push(i.push(o[u+1]>1?"input.substr(peg$currPos, "+o[u+1]+")":"input.charAt(peg$currPos)")),s.push(o[u+1]>1?"peg$currPos += "+o[u+1]+";":"peg$currPos++;"),u+=2;break;case op.ACCEPT_STRING:s.push(i.push(l(o[u+1]))),s.push(r[o[u+1]].length>1?"peg$currPos += "+r[o[u+1]].length+";":"peg$currPos++;"),u+=2;break;case op.FAIL:s.push(i.push("peg$FAILED")),s.push("if (peg$silentFails === 0) { peg$fail("+f(o[u+1])+"); }"),u+=2;break;case op.LOAD_SAVED_POS:s.push("peg$savedPos = "+i.index(o[u+1])+";"),u+=2;break;case op.UPDATE_SAVED_POS:s.push("peg$savedPos = peg$currPos;"),u++;break;case op.CALL:g=function(e){var t=o[u+4-1];return h(o[u+1])+"("+o.slice(u+4,u+4+t).map((function(e){return i.index(e)})).join(", ")+")"}(),i.pop(o[u+2]),s.push(i.push(g)),u+=4+o[u+3];break;case op.RULE:s.push(i.push(d(e.rules[o[u+1]].name)+"()")),u+=2;break;case op.SILENT_FAILS_ON:s.push("peg$silentFails++;"),u++;break;case op.SILENT_FAILS_OFF:s.push("peg$silentFails--;"),u++;break;case op.SOURCE_MAP_PUSH:i.sourceMapPush(s,n[o[u+1]]),u+=2;break;case op.SOURCE_MAP_POP:i.sourceMapPop(),u++;break;case op.SOURCE_MAP_LABEL_PUSH:i.labels[o[u+1]]={label:r[o[u+2]],location:n[o[u+3]]},u+=4;break;case op.SOURCE_MAP_LABEL_POP:delete i.labels[o[u+1]],u+=2;break;default:throw new Error("Invalid opcode: "+o[u]+".")}var y,S,F};ui?-1:1:0}));for(var t="",r="",n=0;n=a.charCodeAt(0)?(e.splice(n--,1),e[n]=[t,r=i]):(t=a,r=i)}return e}function mergeCharacterClasses$1(e){var t=Object.create(null);e.rules.forEach((function(e){return t[e.name]=e.expression}));var r=Object.create(null),n=[function(e,n){if("class"===e.type&&!e.inverted)return n&&((e=__assign({},e)).parts=__spreadArray$1([],e.parts,!0)),e;if("literal"===e.type&&1===e.value.length)return{type:"class",parts:[e.value],inverted:!1,ignoreCase:e.ignoreCase,location:e.location};if("rule_ref"===e.type){var a=t[e.name];if(a){r[e.name]||(r[e.name]=!0,u(a));var i=o(a,!0);return i&&(i.location=e.location),i}}return null},visitor$7.build({choice:function(e){var t=null,r=!1;e.alternatives.forEach((function(n,a){var i;u(n);var s=o(n);s?t&&t.ignoreCase===s.ignoreCase?((i=t.parts).push.apply(i,s.parts),e.alternatives[a-1]=t,e.alternatives[a]=t,t.location={source:t.location.source,start:t.location.start,end:s.location.end},r=!0):t=s:t=null})),r&&(e.alternatives=e.alternatives.filter((function(e,t,r){return!t||e!==r[t-1]})),e.alternatives.forEach((function(t,r){"class"===t.type&&(t.parts=cleanParts(t.parts),1!==t.parts.length||Array.isArray(t.parts[0])||t.inverted||(e.alternatives[r]={type:"literal",value:t.parts[0],ignoreCase:t.ignoreCase,location:t.location}))})),1===e.alternatives.length&&cloneOver(e,e.alternatives[0]))},text:function(e){if(u(e.expression),"class"===e.expression.type||"literal"===e.expression.type){var t=e.location;cloneOver(e,e.expression),e.location=t}}})],o=n[0],u=n[1];e.rules.forEach((function(e){r[e.name]=!0,u(e.expression)}))}var mergeCharacterClasses_1=mergeCharacterClasses$1;function moveImports$1(e){Array.isArray(e.topLevelInitializer)&&(e.topLevelInitializer=e.topLevelInitializer.filter((function(e){return e.imports})).concat(e.topLevelInitializer.filter((function(e){return!e.imports}))))}var moveImports_1=moveImports$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,t,r){function n(e){var t={};return Object.keys(e).forEach((function(r){t[r]=e[r]})),t}function o(e,t){u(e.expression,n(t))}var u=visitor$6.build({rule:function(e){u(e.expression,{})},choice:function(e,t){e.alternatives.forEach((function(e){u(e,n(t))}))},action:o,labeled:function(e,t){var n=e.label;n&&Object.prototype.hasOwnProperty.call(t,n)&&r.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:t[n]}]),u(e.expression,t),t[e.label]=e.labelLocation},text:o,simple_and:o,simple_not:o,optional:o,zero_or_more:o,one_or_more:o,repeated:function(e,t){e.delimiter&&u(e.delimiter,n(t)),u(e.expression,n(t))},group:o});u(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,t,r){var n={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(n,e.name)?r.error('Rule "'.concat(e.name,'" is already defined'),e.nameLocation,[{message:"Original rule location",location:n[e.name]}]):n[e.name]=e.nameLocation}})(e)}var reportDuplicateRules_1=reportDuplicateRules$1,asts$3=asts_1,visitor$4=visitor_1;function reportInfiniteRecursion$1(e,t,r){var n=[],o=[],u=visitor$4.build({rule:function(e){n.push(e.name),u(e.expression),n.pop()},sequence:function(t){t.elements.every((function(t){return u(t),!asts$3.alwaysConsumesOnSuccess(e,t)}))},repeated:function(t){u(t.expression),t.delimiter&&!asts$3.alwaysConsumesOnSuccess(e,t.expression)&&u(t.delimiter)},rule_ref:function(t){o.push(t);var a=asts$3.findRule(e,t.name);if(-1!==n.indexOf(t.name))return n.push(t.name),void r.error("Possible infinite loop when parsing (left recursion: "+n.join(" -> ")+")",a.nameLocation,o.map((function(e,t,r){return{message:t+1!==r.length?"Step ".concat(t+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(t+1,": call itself without input consumption - left recursion"),location:e.location}})));a&&u(a),o.pop()}});u(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$2=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,t,r){var n=visitor$3.build({zero_or_more:function(t){asts$2.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},one_or_more:function(t){asts$2.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},repeated:function(t){if(t.delimiter&&n(t.delimiter),!(asts$2.alwaysConsumesOnSuccess(e,t.expression)||t.delimiter&&asts$2.alwaysConsumesOnSuccess(e,t.delimiter)))if(null===t.max.value)r.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",t.location);else{var o=t.min?t.min:t.max;r.warning("constant"===o.type&&"constant"===t.max.type?"An expression may not consume any input and may always match ".concat(t.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",t.location)}}});n(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts$1=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,t,r){visitor$2.build({rule_ref:function(t){asts$1.findRule(e,t.name)||r.error('Rule "'.concat(t.name,'" is not defined'),t.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,t,r){var n=visitor$1.build({action:function(e){n(e.expression,e)},labeled:function(e,t){e.pick&&t&&r.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:t.codeLocation}]),n(e.expression)}});n(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var n,o=0,u=t.length;o0:e&&"function"==typeof e.offset}var compiler$1={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,mergeCharacterClasses,inferenceMatchResult,moveImports],generate:[generateBytecode,generateJS]},compile:function(ast,passes,options){if(options=void 0!==options?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(0===options.allowedStartRules.length)throw new Error("Must have at least one start rule");var allRules=ast.rules.map((function(e){return e.name}));if(options.allowedStartRules.some((function(e){return"*"===e})))options.allowedStartRules=allRules;else for(var _i=0,_a=options.allowedStartRules;_i<_a.length;_i++){var rule=_a[_i];if(-1===allRules.indexOf(rule))throw new Error('Unknown start rule "'.concat(rule,'"'))}if(("source-and-map"===options.output||"source-with-inline-map"===options.output)&&!isSourceMapCapable(options.grammarSource))throw new Error("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps");var session=new Session(options);switch(Object.keys(passes).forEach((function(e){session.stage=e,session.info("Process stage ".concat(e)),passes[e].forEach((function(t){session.info("Process pass ".concat(e,".").concat(t.name)),t(ast,options,session)})),session.checkErrors()})),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;case"source-with-inline-map":if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not supported by this platform");var sourceMap=ast.code.toStringWithSourceMap(),encoder=new TextEncoder,b64=base64(encoder.encode(JSON.stringify(sourceMap.map.toJSON())));return sourceMap.code+"//# sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(b64,"\n");case"ast":return ast;default:throw new Error("Invalid output format: "+options.output+".")}}},compiler_1=compiler$1,OPS_TO_PREFIXED_TYPES={$:"text","&":"simple_and","!":"simple_not"},OPS_TO_SUFFIXED_TYPES={"?":"optional","*":"zero_or_more","+":"one_or_more"},OPS_TO_SEMANTIC_PREDICATE_TYPES={"&":"semantic_and","!":"semantic_not"};function peg$subclass(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function peg$SyntaxError(e,t,r,n){var o=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(o,peg$SyntaxError.prototype),o.expected=t,o.found=r,o.location=n,o.name="SyntaxError",o}function peg$padEnd(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,e+(r+=r.repeat(t)).slice(0,t))}function peg$parse(e,t){var r,n={},o=(t=void 0!==t?t:{}).grammarSource,u={Grammar:Cr},a=Cr,i="{",s="}",c="import",l=";",p=",",f="*",h="as",d="from",g="=",A="/",m="@",v=":",E="|",_="..",C="(",$=")",y="\n",S="\r\n",F="/*",b="*/",x="//",P="\\",D="i",B='"',R="'",O="[",L="^",T="]",I="-",M="0",w="b",N="f",k="n",H="r",U="t",j="v",G="x",V="u",z=".",Y=/^[!$&]/,W=/^[*-+?]/,J=/^[!&]/,Q=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,q=/^[\n\r\u2028\u2029]/,X=/^[\r\u2028-\u2029]/,K=/^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Z=/^[$0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F1\uA900-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,ee=/^[\n\r"\\\u2028-\u2029]/,te=/^[\n\r'\\\u2028-\u2029]/,re=/^[\n\r\\-\]\u2028-\u2029]/,ne=/^["'\\]/,oe=/^[0-9ux]/,ue=/^[0-9]/,ae=/^[0-9a-f]/i,ie=/^[{}]/,se=gr("{",!1),ce=gr("}",!1),le=gr("import",!1),pe=gr(";",!1),fe=gr(",",!1),he=gr("*",!1),de=gr("as",!1),ge=gr("from",!1),Ae=gr("=",!1),me=gr("/",!1),ve=gr("@",!1),Ee=gr(":",!1),_e=Ar(["!","$","&"],!1,!1),Ce=Ar([["*","+"],"?"],!1,!1),$e=gr("|",!1),ye=gr("..",!1),Se=gr("(",!1),Fe=gr(")",!1),be=Ar(["!","&"],!1,!1),xe={type:"any"},Pe=mr("whitespace"),De=Ar(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),Be=Ar(["\n","\r","\u2028","\u2029"],!1,!1),Re=mr("end of line"),Oe=gr("\n",!1),Le=gr("\r\n",!1),Te=Ar(["\r",["\u2028","\u2029"]],!1,!1),Ie=mr("comment"),Me=gr("/*",!1),we=gr("*/",!1),Ne=gr("//",!1),ke=mr("identifier"),He=Ar([["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","Ɬ"],["Ʞ","ꞷ"],["ꟷ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭥ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Ue=gr("\\",!1),je=Ar(["$",["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["ୖ","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ః"],["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],["ഁ","ഃ"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ං","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠐","᠙"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭",["ᳲ","᳴"],["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["‌","‍"],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],["ꢀ","ꢁ"],["ꢴ","꣄"],["꣐","꣙"],["꣠","꣱"],["꤀","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),Ge=mr("literal"),Ve=gr("i",!1),ze=mr("string"),Ye=gr('"',!1),We=gr("'",!1),Je=Ar(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),Qe=Ar(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),qe=mr("character class"),Xe=gr("[",!1),Ke=gr("^",!1),Ze=gr("]",!1),et=gr("-",!1),tt=Ar(["\n","\r",["\\","]"],["\u2028","\u2029"]],!1,!1),rt=gr("0",!1),nt=Ar(['"',"'","\\"],!1,!1),ot=gr("b",!1),ut=gr("f",!1),at=gr("n",!1),it=gr("r",!1),st=gr("t",!1),ct=gr("v",!1),lt=Ar([["0","9"],"u","x"],!1,!1),pt=gr("x",!1),ft=gr("u",!1),ht=Ar([["0","9"]],!1,!1),dt=Ar([["0","9"],["a","f"]],!1,!0),gt=gr(".",!1),At=mr("code block"),mt=Ar(["{","}"],!1,!1),vt=function(e,t,r){return{type:"grammar",topLevelInitializer:e,initializer:t,rules:r,location:hr()}},Et=function(e,t){var r={type:"top_level_initializer",code:t[0],codeLocation:t[1],imports:!1,location:hr()};return e[0]?[{type:"top_level_initializer",code:e[0],codeLocation:e[1],imports:!0,location:hr()},r]:r},_t=function(e){return[e,hr()]},Ct=function(e){return-1===cn.indexOf(e[0])},$t=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:hr()}},yt=function(e,t,r){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==t?{type:"named",name:t,expression:r,location:hr()}:r,location:hr()}},St=function(e,t){return t.length>0?{type:"choice",alternatives:[e].concat(t),location:hr()}:e},Ft=function(e,t){return null!==t?{type:"action",expression:e,code:t[0],codeLocation:t[1],location:hr()}:e},bt=function(e,t){return t.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(t),location:hr()}:e},xt=function(e,t,r){return r.type.startsWith("semantic_")&&dr('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==t?t[0]:null,labelLocation:null!==t?t[1]:e,pick:!0,expression:r,location:hr()}},Pt=function(e,t){return{type:"labeled",label:e[0],labelLocation:e[1],expression:t,location:hr()}},Dt=function(){return hr()},Bt=function(e){return cn.indexOf(e[0])>=0&&dr("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},Rt=function(e,t){return{type:OPS_TO_PREFIXED_TYPES[e],expression:t,location:hr()}},Ot=function(e,t){return{type:OPS_TO_SUFFIXED_TYPES[t],expression:e,location:hr()}},Lt=function(e,t,r){var n=t[0],o=t[1];return"constant"===o.type&&0===o.value&&dr("The maximum count of repetitions of the rule must be > 0",o.location),{type:"repeated",min:n,max:o,expression:e,delimiter:r,location:hr()}},Tt=function(e,t){return[null!==e?e:{type:"constant",value:0},null!==t?t:{type:"constant",value:null}]},It=function(e){return[null,e]},Mt=function(e){return{type:"constant",value:e,location:hr()}},wt=function(e){return{type:"variable",value:e[0],location:hr()}},Nt=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:hr()}},kt=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:hr()}:e},Ht=function(e){return{type:"rule_ref",name:e[0],location:hr()}},Ut=function(e,t){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:t[0],codeLocation:t[1],location:hr()}},jt=function(e,t){return[e+t.join(""),hr()]},Gt=function(e,t){return{type:"literal",value:e,ignoreCase:null!==t,location:hr()}},Vt=function(e){return e.join("")},zt=function(e){return e.join("")},Yt=function(e,t,r){return{type:"class",parts:t.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==r,location:hr()}},Wt=function(t,r){return t.charCodeAt(0)>r.charCodeAt(0)&&dr("Invalid character range: "+e.substring(sr,ir)+"."),[t,r]},Jt=function(){return""},Qt=function(){return"\0"},qt=function(){return"\b"},Xt=function(){return"\f"},Kt=function(){return"\n"},Zt=function(){return"\r"},er=function(){return"\t"},tr=function(){return"\v"},rr=function(e){return String.fromCharCode(parseInt(e,16))},nr=function(e){return String.fromCharCode(parseInt(e,16))},or=function(){return{type:"any",location:hr()}},ur=function(e){return[e,hr()]},ar=function(e){return parseInt(e,10)},ir=0,sr=0,cr=[{line:1,column:1}],lr=0,pr=[],fr=0;if("startRule"in t){if(!(t.startRule in u))throw new Error("Can't start parsing from rule \""+t.startRule+'".');a=u[t.startRule]}function hr(){return Er(sr,ir)}function dr(e,t){throw function(e,t){return new peg$SyntaxError(e,null,null,t)}(e,t=void 0!==t?t:Er(sr,ir))}function gr(e,t){return{type:"literal",text:e,ignoreCase:t}}function Ar(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function mr(e){return{type:"other",description:e}}function vr(t){var r,n=cr[t];if(n)return n;if(t>=cr.length)r=cr.length-1;else for(r=t;!cr[--r];);for(n={line:(n=cr[r]).line,column:n.column};rlr&&(lr=ir,pr=[]),pr.push(e))}function Cr(){var t,r,o,u,a,c;if(t=ir,an(),r=ir,o=function(){var t,r,o,u,a,c,l;return t=ir,123===e.charCodeAt(ir)?(r=i,ir++):(r=n,0===fr&&_r(se)),r!==n?(123===e.charCodeAt(ir)?(o=i,ir++):(o=n,0===fr&&_r(se)),o!==n?(u=function(){var t,r,o,u;for(t=ir,r=ir,o=[],u=$r();u!==n;)o.push(u),u=$r();return r=e.substring(r,ir),sr=t,t=r=_t(r)}(),a=on(),125===e.charCodeAt(ir)?(c=s,ir++):(c=n,0===fr&&_r(ce)),c!==n?(125===e.charCodeAt(ir)?(l=s,ir++):(l=n,0===fr&&_r(ce)),l!==n&&sn()!==n?(sr=t,t=Et(u,a)):(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n),t}(),o!==n?(u=an(),r=o):(ir=r,r=n),r===n&&(r=null),o=ir,u=function(){var e,t;return e=ir,(t=nn())!==n&&sn()!==n?(sr=e,e=$t(t)):(ir=e,e=n),e}(),u!==n?(a=an(),o=u):(ir=o,o=n),o===n&&(o=null),u=[],a=ir,(c=xr())!==n?(an(),a=c):(ir=a,a=n),a!==n)for(;a!==n;)u.push(a),a=ir,(c=xr())!==n?(an(),a=c):(ir=a,a=n);else u=n;return u!==n?(sr=t,t=vt(r,o,u)):(ir=t,t=n),t}function $r(){var t,r,o,u,a,i,s,f,h;return t=ir,r=an(),e.substr(ir,6)===c?(o=c,ir+=6):(o=n,0===fr&&_r(le)),o!==n?(u=an(),a=function(){var t,r,o,u,a,i;return(t=br())===n&&(t=yr())===n&&(t=Sr())===n&&(t=ir,(r=br())!==n?(o=an(),44===e.charCodeAt(ir)?(u=p,ir++):(u=n,0===fr&&_r(fe)),u!==n?(a=an(),(i=yr())===n&&(i=Sr()),i!==n?t=r=[r,o,u,a,i]:(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n)),t}(),a!==n?(i=an(),s=function(){var t,r,o,u;return t=ir,e.substr(ir,4)===d?(r=d,ir+=4):(r=n,0===fr&&_r(ge)),r!==n?(o=an(),(u=Yr())!==n?t=r=[r,o,u]:(ir=t,t=n)):(ir=t,t=n),t}(),s!==n?(f=an(),59===e.charCodeAt(ir)?(h=l,ir++):(h=n,0===fr&&_r(pe)),h===n&&(h=null),t=r=[r,o,u,a,i,s,f,h]):(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n),t===n&&(t=ir,r=an(),e.substr(ir,6)===c?(o=c,ir+=6):(o=n,0===fr&&_r(le)),o!==n?(u=an(),(a=Yr())!==n?(i=an(),59===e.charCodeAt(ir)?(s=l,ir++):(s=n,0===fr&&_r(pe)),s===n&&(s=null),t=r=[r,o,u,a,i,s]):(ir=t,t=n)):(ir=t,t=n)),t}function yr(){var t,r,o,u,a,i;return t=ir,42===e.charCodeAt(ir)?(r=f,ir++):(r=n,0===fr&&_r(he)),r!==n?(o=an(),e.substr(ir,2)===h?(u=h,ir+=2):(u=n,0===fr&&_r(de)),u!==n?(a=an(),(i=br())!==n?t=r=[r,o,u,a,i]:(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n),t}function Sr(){var t,r,o,u,a,c,l,f;return t=ir,123===e.charCodeAt(ir)?(r=i,ir++):(r=n,0===fr&&_r(se)),r!==n?(o=an(),125===e.charCodeAt(ir)?(u=s,ir++):(u=n,0===fr&&_r(ce)),u!==n?t=r=[r,o,u]:(ir=t,t=n)):(ir=t,t=n),t===n&&(t=ir,123===e.charCodeAt(ir)?(r=i,ir++):(r=n,0===fr&&_r(se)),r!==n?(o=an(),u=function(){var t,r,o,u,a,i;for(t=ir,r=[],o=Fr();o!==n;)r.push(o),o=ir,u=ir,a=an(),44===e.charCodeAt(ir)?(i=p,ir++):(i=n,0===fr&&_r(fe)),i!==n?u=a=[a,i,an()]:(ir=u,u=n),u!==n&&(u=Fr())===n?(ir=o,o=n):o=u;return r.length<1?(ir=t,t=n):t=r,t}(),u!==n?(a=an(),44===e.charCodeAt(ir)?(c=p,ir++):(c=n,0===fr&&_r(fe)),c===n&&(c=null),l=an(),125===e.charCodeAt(ir)?(f=s,ir++):(f=n,0===fr&&_r(ce)),f!==n?t=r=[r,o,u,a,c,l,f]:(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n)),t}function Fr(){var t,r,o,u,a,i;return t=ir,r=function(){var e;return(e=Gr())===n&&(e=Yr()),e}(),r!==n?(o=an(),e.substr(ir,2)===h?(u=h,ir+=2):(u=n,0===fr&&_r(de)),u!==n?(a=an(),(i=br())!==n?t=r=[r,o,u,a,i]:(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n),t===n&&(t=br()),t}function br(){var e,t,r;return e=ir,(t=Gr())!==n?(sr=ir,(r=(r=Ct(t))?void 0:n)!==n?e=t=[t,r]:(ir=e,e=n)):(ir=e,e=n),e}function xr(){var t,r,o,u,a;return t=ir,(r=Gr())!==n?(an(),o=ir,(u=Yr())!==n?(an(),o=u):(ir=o,o=n),o===n&&(o=null),61===e.charCodeAt(ir)?(u=g,ir++):(u=n,0===fr&&_r(Ae)),u!==n?(an(),(a=Pr())!==n&&sn()!==n?(sr=t,t=yt(r,o,a)):(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n),t}function Pr(){var t,r,o,u,a,i;if(t=ir,(r=Dr())!==n){for(o=[],u=ir,an(),47===e.charCodeAt(ir)?(a=A,ir++):(a=n,0===fr&&_r(me)),a!==n?(an(),(i=Dr())!==n?u=i:(ir=u,u=n)):(ir=u,u=n);u!==n;)o.push(u),u=ir,an(),47===e.charCodeAt(ir)?(a=A,ir++):(a=n,0===fr&&_r(me)),a!==n?(an(),(i=Dr())!==n?u=i:(ir=u,u=n)):(ir=u,u=n);sr=t,t=St(r,o)}else ir=t,t=n;return t}function Dr(){var e,t,r,o;return e=ir,t=function(){var e,t,r,o,u;if(e=ir,(t=Br())!==n){for(r=[],o=ir,an(),(u=Br())!==n?o=u:(ir=o,o=n);o!==n;)r.push(o),o=ir,an(),(u=Br())!==n?o=u:(ir=o,o=n);sr=e,e=bt(t,r)}else ir=e,e=n;return e}(),t!==n?(r=ir,an(),(o=nn())!==n?r=o:(ir=r,r=n),r===n&&(r=null),sr=e,e=Ft(t,r)):(ir=e,e=n),e}function Br(){var t,r,o,u;return t=ir,r=function(){var t,r;return t=ir,64===e.charCodeAt(ir)?(r=m,ir++):(r=n,0===fr&&_r(ve)),r!==n&&(sr=t,r=Dt()),t=r}(),r!==n?((o=Rr())===n&&(o=null),(u=Or())!==n?(sr=t,t=xt(r,o,u)):(ir=t,t=n)):(ir=t,t=n),t===n&&(t=ir,(r=Rr())!==n?(o=an(),(u=Or())!==n?(sr=t,t=Pt(r,u)):(ir=t,t=n)):(ir=t,t=n),t===n&&(t=Or())),t}function Rr(){var t,r,o;return t=ir,(r=Gr())!==n?(an(),58===e.charCodeAt(ir)?(o=v,ir++):(o=n,0===fr&&_r(Ee)),o!==n?(sr=t,t=Bt(r)):(ir=t,t=n)):(ir=t,t=n),t}function Or(){var t,r,o;return t=ir,r=function(){var t;return t=e.charAt(ir),Y.test(t)?ir++:(t=n,0===fr&&_r(_e)),t}(),r!==n?(an(),(o=Lr())!==n?(sr=t,t=Rt(r,o)):(ir=t,t=n)):(ir=t,t=n),t===n&&(t=Lr()),t}function Lr(){var t,r,o;return t=ir,(r=Ir())!==n?(an(),o=function(){var t;return t=e.charAt(ir),W.test(t)?ir++:(t=n,0===fr&&_r(Ce)),t}(),o!==n?(sr=t,t=Ot(r,o)):(ir=t,t=n)):(ir=t,t=n),t===n&&(t=function(){var t,r,o,u,a,i,s;return t=ir,(r=Ir())!==n?(an(),124===e.charCodeAt(ir)?(o=E,ir++):(o=n,0===fr&&_r($e)),o!==n?(an(),u=function(){var t,r,o,u;return t=ir,(r=Tr())===n&&(r=null),an(),e.substr(ir,2)===_?(o=_,ir+=2):(o=n,0===fr&&_r(ye)),o!==n?(an(),(u=Tr())===n&&(u=null),sr=t,t=Tt(r,u)):(ir=t,t=n),t===n&&(t=ir,(r=Tr())!==n&&(sr=t,r=It(r)),t=r),t}(),u!==n?(an(),a=ir,44===e.charCodeAt(ir)?(i=p,ir++):(i=n,0===fr&&_r(fe)),i!==n?(an(),(s=Pr())!==n?(an(),a=s):(ir=a,a=n)):(ir=a,a=n),a===n&&(a=null),124===e.charCodeAt(ir)?(i=E,ir++):(i=n,0===fr&&_r($e)),i!==n?(sr=t,t=Lt(r,u,a)):(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n),t}(),t===n&&(t=Ir())),t}function Tr(){var t,r;return t=ir,r=function(){var t,r,o,u;if(t=ir,r=ir,o=[],(u=tn())!==n)for(;u!==n;)o.push(u),u=tn();else o=n;return(r=o!==n?e.substring(r,ir):o)!==n&&(sr=t,r=ar(r)),t=r}(),r!==n&&(sr=t,r=Mt(r)),(t=r)===n&&(t=ir,(r=Gr())!==n&&(sr=t,r=wt(r)),(t=r)===n&&(t=ir,(r=nn())!==n&&(sr=t,r=Nt(r)),t=r)),t}function Ir(){var t,r,o,u;return t=function(){var t,r,o;return fr++,t=ir,(r=Yr())!==n?(105===e.charCodeAt(ir)?(o=D,ir++):(o=n,0===fr&&_r(Ve)),o===n&&(o=null),sr=t,t=Gt(r,o)):(ir=t,t=n),fr--,t===n&&(r=n,0===fr&&_r(Ge)),t}(),t===n&&(t=function(){var t,r,o,u,a,i;if(fr++,t=ir,91===e.charCodeAt(ir)?(r=O,ir++):(r=n,0===fr&&_r(Xe)),r!==n){for(94===e.charCodeAt(ir)?(o=L,ir++):(o=n,0===fr&&_r(Ke)),o===n&&(o=null),u=[],(a=Qr())===n&&(a=qr());a!==n;)u.push(a),(a=Qr())===n&&(a=qr());93===e.charCodeAt(ir)?(a=T,ir++):(a=n,0===fr&&_r(Ze)),a!==n?(105===e.charCodeAt(ir)?(i=D,ir++):(i=n,0===fr&&_r(Ve)),i===n&&(i=null),sr=t,t=Yt(o,u,i)):(ir=t,t=n)}else ir=t,t=n;return fr--,t===n&&(r=n,0===fr&&_r(qe)),t}(),t===n&&(t=function(){var t,r;return t=ir,46===e.charCodeAt(ir)?(r=z,ir++):(r=n,0===fr&&_r(gt)),r!==n&&(sr=t,r=or()),t=r}(),t===n&&(t=function(){var t,r,o,u,a,i,s;return t=ir,(r=Gr())!==n?(o=ir,fr++,u=ir,a=an(),i=ir,(s=Yr())!==n?i=s=[s,an()]:(ir=i,i=n),i===n&&(i=null),61===e.charCodeAt(ir)?(s=g,ir++):(s=n,0===fr&&_r(Ae)),s!==n?u=a=[a,i,s]:(ir=u,u=n),fr--,u===n?o=void 0:(ir=o,o=n),o!==n?(sr=t,t=Ht(r)):(ir=t,t=n)):(ir=t,t=n),t}(),t===n&&(t=function(){var t,r,o;return t=ir,r=function(){var t;return t=e.charAt(ir),J.test(t)?ir++:(t=n,0===fr&&_r(be)),t}(),r!==n?(an(),(o=nn())!==n?(sr=t,t=Ut(r,o)):(ir=t,t=n)):(ir=t,t=n),t}(),t===n&&(t=ir,40===e.charCodeAt(ir)?(r=C,ir++):(r=n,0===fr&&_r(Se)),r!==n?(an(),(o=Pr())!==n?(an(),41===e.charCodeAt(ir)?(u=$,ir++):(u=n,0===fr&&_r(Fe)),u!==n?(sr=t,t=kt(o)):(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n)))))),t}function Mr(){var t;return e.length>ir?(t=e.charAt(ir),ir++):(t=n,0===fr&&_r(xe)),t}function wr(){var t;return fr++,t=e.charAt(ir),Q.test(t)?ir++:(t=n,0===fr&&_r(De)),fr--,t===n&&0===fr&&_r(Pe),t}function Nr(){var t;return t=e.charAt(ir),q.test(t)?ir++:(t=n,0===fr&&_r(Be)),t}function kr(){var t;return fr++,10===e.charCodeAt(ir)?(t=y,ir++):(t=n,0===fr&&_r(Oe)),t===n&&(e.substr(ir,2)===S?(t=S,ir+=2):(t=n,0===fr&&_r(Le)),t===n&&(t=e.charAt(ir),X.test(t)?ir++:(t=n,0===fr&&_r(Te)))),fr--,t===n&&0===fr&&_r(Re),t}function Hr(){var t;return fr++,(t=function(){var t,r,o,u,a,i;if(t=ir,e.substr(ir,2)===F?(r=F,ir+=2):(r=n,0===fr&&_r(Me)),r!==n){for(o=[],u=ir,a=ir,fr++,e.substr(ir,2)===b?(i=b,ir+=2):(i=n,0===fr&&_r(we)),fr--,i===n?a=void 0:(ir=a,a=n),a!==n&&(i=Mr())!==n?u=a=[a,i]:(ir=u,u=n);u!==n;)o.push(u),u=ir,a=ir,fr++,e.substr(ir,2)===b?(i=b,ir+=2):(i=n,0===fr&&_r(we)),fr--,i===n?a=void 0:(ir=a,a=n),a!==n&&(i=Mr())!==n?u=a=[a,i]:(ir=u,u=n);e.substr(ir,2)===b?(u=b,ir+=2):(u=n,0===fr&&_r(we)),u!==n?t=r=[r,o,u]:(ir=t,t=n)}else ir=t,t=n;return t}())===n&&(t=jr()),fr--,t===n&&0===fr&&_r(Ie),t}function Ur(){var t,r,o,u,a,i;if(t=ir,e.substr(ir,2)===F?(r=F,ir+=2):(r=n,0===fr&&_r(Me)),r!==n){for(o=[],u=ir,a=ir,fr++,e.substr(ir,2)===b?(i=b,ir+=2):(i=n,0===fr&&_r(we)),i===n&&(i=Nr()),fr--,i===n?a=void 0:(ir=a,a=n),a!==n&&(i=Mr())!==n?u=a=[a,i]:(ir=u,u=n);u!==n;)o.push(u),u=ir,a=ir,fr++,e.substr(ir,2)===b?(i=b,ir+=2):(i=n,0===fr&&_r(we)),i===n&&(i=Nr()),fr--,i===n?a=void 0:(ir=a,a=n),a!==n&&(i=Mr())!==n?u=a=[a,i]:(ir=u,u=n);e.substr(ir,2)===b?(u=b,ir+=2):(u=n,0===fr&&_r(we)),u!==n?t=r=[r,o,u]:(ir=t,t=n)}else ir=t,t=n;return t}function jr(){var t,r,o,u,a,i;if(t=ir,e.substr(ir,2)===x?(r=x,ir+=2):(r=n,0===fr&&_r(Ne)),r!==n){for(o=[],u=ir,a=ir,fr++,i=Nr(),fr--,i===n?a=void 0:(ir=a,a=n),a!==n&&(i=Mr())!==n?u=a=[a,i]:(ir=u,u=n);u!==n;)o.push(u),u=ir,a=ir,fr++,i=Nr(),fr--,i===n?a=void 0:(ir=a,a=n),a!==n&&(i=Mr())!==n?u=a=[a,i]:(ir=u,u=n);t=r=[r,o]}else ir=t,t=n;return t}function Gr(){var e,t,r,o;if(fr++,e=ir,(t=Vr())!==n){for(r=[],o=zr();o!==n;)r.push(o),o=zr();sr=e,e=jt(t,r)}else ir=e,e=n;return fr--,e===n&&(t=n,0===fr&&_r(ke)),e}function Vr(){var t,r,o;return t=e.charAt(ir),K.test(t)?ir++:(t=n,0===fr&&_r(He)),t===n&&(t=ir,92===e.charCodeAt(ir)?(r=P,ir++):(r=n,0===fr&&_r(Ue)),r!==n&&(o=en())!==n?t=o:(ir=t,t=n)),t}function zr(){var t;return(t=Vr())===n&&(t=e.charAt(ir),Z.test(t)?ir++:(t=n,0===fr&&_r(je))),t}function Yr(){var t,r,o,u;if(fr++,t=ir,34===e.charCodeAt(ir)?(r=B,ir++):(r=n,0===fr&&_r(Ye)),r!==n){for(o=[],u=Wr();u!==n;)o.push(u),u=Wr();34===e.charCodeAt(ir)?(u=B,ir++):(u=n,0===fr&&_r(Ye)),u!==n?(sr=t,t=Vt(o)):(ir=t,t=n)}else ir=t,t=n;if(t===n)if(t=ir,39===e.charCodeAt(ir)?(r=R,ir++):(r=n,0===fr&&_r(We)),r!==n){for(o=[],u=Jr();u!==n;)o.push(u),u=Jr();39===e.charCodeAt(ir)?(u=R,ir++):(u=n,0===fr&&_r(We)),u!==n?(sr=t,t=zt(o)):(ir=t,t=n)}else ir=t,t=n;return fr--,t===n&&(r=n,0===fr&&_r(ze)),t}function Wr(){var t,r,o,u;return t=ir,r=ir,o=ir,fr++,u=e.charAt(ir),ee.test(u)?ir++:(u=n,0===fr&&_r(Je)),fr--,u===n?o=void 0:(ir=o,o=n),o!==n&&(u=Mr())!==n?r=o=[o,u]:(ir=r,r=n),(t=r!==n?e.substring(t,ir):r)===n&&(t=ir,92===e.charCodeAt(ir)?(r=P,ir++):(r=n,0===fr&&_r(Ue)),r!==n&&(o=Kr())!==n?t=o:(ir=t,t=n),t===n&&(t=Xr())),t}function Jr(){var t,r,o,u;return t=ir,r=ir,o=ir,fr++,u=e.charAt(ir),te.test(u)?ir++:(u=n,0===fr&&_r(Qe)),fr--,u===n?o=void 0:(ir=o,o=n),o!==n&&(u=Mr())!==n?r=o=[o,u]:(ir=r,r=n),(t=r!==n?e.substring(t,ir):r)===n&&(t=ir,92===e.charCodeAt(ir)?(r=P,ir++):(r=n,0===fr&&_r(Ue)),r!==n&&(o=Kr())!==n?t=o:(ir=t,t=n),t===n&&(t=Xr())),t}function Qr(){var t,r,o,u;return t=ir,(r=qr())!==n?(45===e.charCodeAt(ir)?(o=I,ir++):(o=n,0===fr&&_r(et)),o!==n&&(u=qr())!==n?(sr=t,t=Wt(r,u)):(ir=t,t=n)):(ir=t,t=n),t}function qr(){var t,r,o,u;return t=ir,r=ir,o=ir,fr++,u=e.charAt(ir),re.test(u)?ir++:(u=n,0===fr&&_r(tt)),fr--,u===n?o=void 0:(ir=o,o=n),o!==n&&(u=Mr())!==n?r=o=[o,u]:(ir=r,r=n),(t=r!==n?e.substring(t,ir):r)===n&&(t=ir,92===e.charCodeAt(ir)?(r=P,ir++):(r=n,0===fr&&_r(Ue)),r!==n&&(o=Kr())!==n?t=o:(ir=t,t=n),t===n&&(t=Xr())),t}function Xr(){var t,r;return t=ir,92===e.charCodeAt(ir)?(r=P,ir++):(r=n,0===fr&&_r(Ue)),r!==n&&kr()!==n?(sr=t,t=Jt()):(ir=t,t=n),t}function Kr(){var t,r,o,u;return t=function(){var t;return(t=Zr())===n&&(t=function(){var t,r,o,u;return t=ir,r=ir,o=ir,fr++,u=function(){var t;return(t=Zr())===n&&(t=e.charAt(ir),oe.test(t)?ir++:(t=n,0===fr&&_r(lt))),t}(),u===n&&(u=Nr()),fr--,u===n?o=void 0:(ir=o,o=n),o!==n&&(u=Mr())!==n?r=o=[o,u]:(ir=r,r=n),t=r!==n?e.substring(t,ir):r}()),t}(),t===n&&(t=ir,48===e.charCodeAt(ir)?(r=M,ir++):(r=n,0===fr&&_r(rt)),r!==n?(o=ir,fr++,u=tn(),fr--,u===n?o=void 0:(ir=o,o=n),o!==n?(sr=t,t=Qt()):(ir=t,t=n)):(ir=t,t=n),t===n&&(t=function(){var t,r,o,u,a,i;return t=ir,120===e.charCodeAt(ir)?(r=G,ir++):(r=n,0===fr&&_r(pt)),r!==n?(o=ir,u=ir,(a=rn())!==n&&(i=rn())!==n?u=a=[a,i]:(ir=u,u=n),(o=u!==n?e.substring(o,ir):u)!==n?(sr=t,t=rr(o)):(ir=t,t=n)):(ir=t,t=n),t}(),t===n&&(t=en()))),t}function Zr(){var t,r;return t=e.charAt(ir),ne.test(t)?ir++:(t=n,0===fr&&_r(nt)),t===n&&(t=ir,98===e.charCodeAt(ir)?(r=w,ir++):(r=n,0===fr&&_r(ot)),r!==n&&(sr=t,r=qt()),(t=r)===n&&(t=ir,102===e.charCodeAt(ir)?(r=N,ir++):(r=n,0===fr&&_r(ut)),r!==n&&(sr=t,r=Xt()),(t=r)===n&&(t=ir,110===e.charCodeAt(ir)?(r=k,ir++):(r=n,0===fr&&_r(at)),r!==n&&(sr=t,r=Kt()),(t=r)===n&&(t=ir,114===e.charCodeAt(ir)?(r=H,ir++):(r=n,0===fr&&_r(it)),r!==n&&(sr=t,r=Zt()),(t=r)===n&&(t=ir,116===e.charCodeAt(ir)?(r=U,ir++):(r=n,0===fr&&_r(st)),r!==n&&(sr=t,r=er()),(t=r)===n&&(t=ir,118===e.charCodeAt(ir)?(r=j,ir++):(r=n,0===fr&&_r(ct)),r!==n&&(sr=t,r=tr()),t=r)))))),t}function en(){var t,r,o,u,a,i,s,c;return t=ir,117===e.charCodeAt(ir)?(r=V,ir++):(r=n,0===fr&&_r(ft)),r!==n?(o=ir,u=ir,(a=rn())!==n&&(i=rn())!==n&&(s=rn())!==n&&(c=rn())!==n?u=a=[a,i,s,c]:(ir=u,u=n),(o=u!==n?e.substring(o,ir):u)!==n?(sr=t,t=nr(o)):(ir=t,t=n)):(ir=t,t=n),t}function tn(){var t;return t=e.charAt(ir),ue.test(t)?ir++:(t=n,0===fr&&_r(ht)),t}function rn(){var t;return t=e.charAt(ir),ae.test(t)?ir++:(t=n,0===fr&&_r(dt)),t}function nn(){var t,r,o,u;return fr++,t=ir,123===e.charCodeAt(ir)?(r=i,ir++):(r=n,0===fr&&_r(se)),r!==n?(o=on(),125===e.charCodeAt(ir)?(u=s,ir++):(u=n,0===fr&&_r(ce)),u!==n?t=o:(ir=t,t=n)):(ir=t,t=n),fr--,t===n&&(r=n,0===fr&&_r(At)),t}function on(){var e,t;return e=ir,t=un(),sr=e,ur(t)}function un(){var t,r,o,u,a,c;if(t=ir,r=[],o=[],u=ir,a=ir,fr++,c=e.charAt(ir),ie.test(c)?ir++:(c=n,0===fr&&_r(mt)),fr--,c===n?a=void 0:(ir=a,a=n),a!==n&&(c=Mr())!==n?u=a=[a,c]:(ir=u,u=n),u!==n)for(;u!==n;)o.push(u),u=ir,a=ir,fr++,c=e.charAt(ir),ie.test(c)?ir++:(c=n,0===fr&&_r(mt)),fr--,c===n?a=void 0:(ir=a,a=n),a!==n&&(c=Mr())!==n?u=a=[a,c]:(ir=u,u=n);else o=n;for(o===n&&(o=ir,123===e.charCodeAt(ir)?(u=i,ir++):(u=n,0===fr&&_r(se)),u!==n?(a=un(),125===e.charCodeAt(ir)?(c=s,ir++):(c=n,0===fr&&_r(ce)),c!==n?o=u=[u,a,c]:(ir=o,o=n)):(ir=o,o=n));o!==n;){if(r.push(o),o=[],u=ir,a=ir,fr++,c=e.charAt(ir),ie.test(c)?ir++:(c=n,0===fr&&_r(mt)),fr--,c===n?a=void 0:(ir=a,a=n),a!==n&&(c=Mr())!==n?u=a=[a,c]:(ir=u,u=n),u!==n)for(;u!==n;)o.push(u),u=ir,a=ir,fr++,c=e.charAt(ir),ie.test(c)?ir++:(c=n,0===fr&&_r(mt)),fr--,c===n?a=void 0:(ir=a,a=n),a!==n&&(c=Mr())!==n?u=a=[a,c]:(ir=u,u=n);else o=n;o===n&&(o=ir,123===e.charCodeAt(ir)?(u=i,ir++):(u=n,0===fr&&_r(se)),u!==n?(a=un(),125===e.charCodeAt(ir)?(c=s,ir++):(c=n,0===fr&&_r(ce)),c!==n?o=u=[u,a,c]:(ir=o,o=n)):(ir=o,o=n))}return e.substring(t,ir)}function an(){var e,t;for(e=[],(t=wr())===n&&(t=kr())===n&&(t=Hr());t!==n;)e.push(t),(t=wr())===n&&(t=kr())===n&&(t=Hr());return e}function sn(){var t,r,o,u;if(t=[],r=ir,o=an(),59===e.charCodeAt(ir)?(u=l,ir++):(u=n,0===fr&&_r(pe)),u!==n?r=o=[o,u]:(ir=r,r=n),r!==n)for(;r!==n;)t.push(r),r=ir,o=an(),59===e.charCodeAt(ir)?(u=l,ir++):(u=n,0===fr&&_r(pe)),u!==n?r=o=[o,u]:(ir=r,r=n);else t=n;return t===n&&(t=ir,r=function(){var e,t;for(e=[],(t=wr())===n&&(t=Ur());t!==n;)e.push(t),(t=wr())===n&&(t=Ur());return e}(),(o=jr())===n&&(o=null),(u=kr())!==n?t=r=[r,o,u]:(ir=t,t=n),t===n&&(t=ir,r=an(),o=function(){var t,r;return t=ir,fr++,e.length>ir?(r=e.charAt(ir),ir++):(r=n,0===fr&&_r(xe)),fr--,r===n?t=void 0:(ir=t,t=n),t}(),o!==n?t=r=[r,o]:(ir=t,t=n))),t}var cn=t.reservedWords||[];if((r=a())!==n&&ir===e.length)return r;throw r!==n&&ir0){for(t=1,r=1;t0&&(this.functions.shift()(),setTimeout((function(){o.run()}),0))}},u={};o.add((function(){n.start(),u.totalInputSize=0,u.totalParseTime=0})),e.forEach((function(e){o.add(function(e){return function(){n.benchmarkStart(e),u.parser=peg.generate(n.readFile("../examples/"+e.id+".pegjs"),r),u.benchmarkInputSize=0,u.benchmarkParseTime=0}}(e)),e.tests.forEach((function(r){o.add(function(e,r){return function(){n.testStart(e,r);for(var o=n.readFile(e.id+"/"+r.file),a=0,i=0;i\n \n ").concat(null!==n?"":"","\n ").concat(r,"\n ").concat(null!==n?"":"","\n \n \n \n ").concat((o/1024).toFixed(2),"\n \n  kB\n \n \n \n ").concat(u.toFixed(2),"\n \n  ms\n \n \n \n ").concat((o/1024/(u/1e3)).toFixed(2),"\n \n  kB/s\n \n \n "))}var r=parseInt($("#run-count").val(),10),n={cache:$("#cache").is(":checked")};isNaN(r)||r<=0?alert("Number of runs must be a positive integer."):Runner.run(benchmarks,r,n,{readFile:function(e){return $.ajax({type:"GET",url:"https://raw.githubusercontent.com/peggyjs/peggy/".concat(BRANCH,"/benchmark/").concat(e),dataType:"text",async:!1}).responseText},testStart:function(){},testFinish:function(e,r,n,o){t("individual",r.title,"https://github.com/peggyjs/peggy/blob/".concat(BRANCH,"/benchmark/").concat(e.id,"/").concat(r.file),n,o)},benchmarkStart:function(t){e.append("\n \n \n ").concat(t.title,' \n \n "\n '))},benchmarkFinish:function(e,r,n){t("benchmark-total",e.title+" total",null,r,n)},start:function(){$("#run-count, #cache, #run").attr("disabled","disabled"),e.show(),$("#results-table tr").slice(1).remove()},finish:function(e,r){t("total","Total",null,e,r),$.scrollTo("max",{axis:"y",duration:500}),$("#run-count, #cache, #run").removeAttr("disabled")}})})),$(document).ready((function(){return $("#run").focus()})),browser_stub})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).browser=t()}(this,(function(){var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},browser_stub={},GrammarLocation$4=function(){function e(e,t){this.source=e,this.start=t}return e.prototype.toString=function(){return String(this.source)},e.prototype.offset=function(e){return{line:e.line+this.start.line-1,column:1===e.line?e.column+this.start.column-1:e.column,offset:e.offset+this.start.offset}},e.offsetStart=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.start):e.start},e.offsetEnd=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.end):e.end},e}(),grammarLocation=GrammarLocation$4,__extends=commonjsGlobal&&commonjsGlobal.__extends||(extendStatics=function(e,t){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var u in t)Object.prototype.hasOwnProperty.call(t,u)&&(e[u]=t[u])},extendStatics(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function u(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(u.prototype=t.prototype,new u)}),extendStatics,GrammarLocation$3=grammarLocation,setProtoOf=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var u in t)Object.prototype.hasOwnProperty.call(t,u)&&(e[u]=t[u])},GrammarError$3=function(e){function t(u,r,n){var o=e.call(this,u)||this;return setProtoOf(o,t.prototype),o.name="GrammarError",o.location=r,void 0===n&&(n=[]),o.diagnostics=n,o.stage=null,o.problems=[["error",u,r,n]],o}return __extends(t,e),t.prototype.toString=function(){var t=e.prototype.toString.call(this);this.location&&(t+="\n at ",void 0!==this.location.source&&null!==this.location.source&&(t+="".concat(this.location.source,":")),t+="".concat(this.location.start.line,":").concat(this.location.start.column));for(var u=0,r=this.diagnostics;u1&&e.delimiter&&n(e.delimiter)))},semantic_and:r,semantic_not:r,rule_ref:function(t){var u=asts$8.findRule(e,t.name);return u?n(u):void 0},literal:function(e){return""!==e.value},class:u,any:u});return n(t)},combine:function(e){return e.reduce((function(e,t){return e.topLevelInitializer=combinePossibleArrays(e.topLevelInitializer,t.topLevelInitializer),e.initializer=combinePossibleArrays(e.initializer,t.initializer),e.rules=e.rules.concat(t.rules),e}))}},asts_1=asts$8,opcodes={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,IF_LT:30,IF_GE:31,IF_LT_DYNAMIC:32,IF_GE_DYNAMIC:33,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29,SOURCE_MAP_PUSH:37,SOURCE_MAP_POP:38,SOURCE_MAP_LABEL_PUSH:39,SOURCE_MAP_LABEL_POP:40},opcodes_1=opcodes,visitor$a=visitor_1,asts$7=asts_1,GrammarError$2=grammarError,ALWAYS_MATCH$1=1,SOMETIMES_MATCH$1=0,NEVER_MATCH$1=-1;function inferenceMatchResult$1(e){function t(e){return e.match=SOMETIMES_MATCH$1}function u(e){return o(e.expression),e.match=ALWAYS_MATCH$1}function r(e){return e.match=o(e.expression)}function n(e,t){for(var u=e.length,r=0,n=0,a=0;a0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var o=visitor$a.build({rule:function(e){var t=void 0,u=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(t=e.match,e.match=o(e.expression),++u>6)throw new GrammarError$2("Infinity cycle detected when trying to evaluate node match result",e.location)}while(t!==e.match)}return e.match},named:r,choice:function(e){return e.match=n(e.alternatives,!0)},action:r,sequence:function(e){return e.match=n(e.elements,!1)},labeled:r,text:r,simple_and:r,simple_not:function(e){return e.match=-o(e.expression)},optional:u,zero_or_more:u,one_or_more:r,repeated:function(e){var t=o(e.expression),u=e.delimiter?o(e.delimiter):NEVER_MATCH$1,r=e.min?e.min:e.max;return"constant"!==r.type||"constant"!==e.max.type?e.match=SOMETIMES_MATCH$1:0===e.max.value||null!==e.max.value&&r.value>e.max.value?e.match=NEVER_MATCH$1:t===NEVER_MATCH$1?e.match=0===r.value?ALWAYS_MATCH$1:NEVER_MATCH$1:t===ALWAYS_MATCH$1?e.delimiter&&r.value>=2?e.match=u:e.match=ALWAYS_MATCH$1:e.delimiter&&r.value>=2?e.match=u===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===r.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:r,semantic_and:t,semantic_not:t,rule_ref:function(t){var u=asts$7.findRule(e,t.name);return t.match=o(u)},literal:function(e){var t=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},class:function(e){var t=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},any:t});o(e)}inferenceMatchResult$1.ALWAYS_MATCH=ALWAYS_MATCH$1,inferenceMatchResult$1.SOMETIMES_MATCH=SOMETIMES_MATCH$1,inferenceMatchResult$1.NEVER_MATCH=NEVER_MATCH$1;var inferenceMatchResult_1=inferenceMatchResult$1,__spreadArray$3=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,u){if(u||2===arguments.length)for(var r,n=0,o=t.length;n1?A(SOMETIMES_MATCH,[op$1.IF_ERROR],f([op$1.POP],e(t.slice(1),u)),[]):[])}(e.alternatives,t)},action:function(e,t){var u=p(t.env),r="sequence"!==e.expression.type||0===e.expression.elements.length,n=v(e.expression,{sp:t.sp+(r?1:0),env:u,action:e}),o=e.expression.match||0,a=r&&o!==NEVER_MATCH?c(!1,Object.keys(u),e):-1;return r?f([op$1.PUSH_CURR_POS],n,A(o,[op$1.IF_NOT_ERROR],f([op$1.LOAD_SAVED_POS,1],h(a,1,u,t.sp+2)),[]),[op$1.NIP]):n},sequence:function(e,t){return f([op$1.PUSH_CURR_POS],function t(u,r){if(u.length>0){var n=e.elements.length-u.length+1;return f(v(u[0],{sp:r.sp,env:r.env,pluck:r.pluck,action:null}),A(u[0].match||0,[op$1.IF_NOT_ERROR],t(u.slice(1),{sp:r.sp+1,env:r.env,pluck:r.pluck,action:r.action}),f(n>1?[op$1.POP_N,n]:[op$1.POP],[op$1.POP_CURR_POS],[op$1.PUSH_FAILED])))}if(r.pluck&&r.pluck.length>0)return f([op$1.PLUCK,e.elements.length+1,r.pluck.length],r.pluck.map((function(e){return r.sp-e})));if(r.action){var o=c(!1,Object.keys(r.env),r.action);return f([op$1.LOAD_SAVED_POS,e.elements.length],h(o,e.elements.length+1,r.env,r.sp))}return f([op$1.WRAP,e.elements.length],[op$1.NIP])}(e.elements,{sp:t.sp+1,env:t.env,pluck:[],action:t.action}))},labeled:function(e,u){var r=u.env,n=e.label,o=u.sp+1;n&&(r=p(u.env),u.env[n]=o),e.pick&&u.pluck.push(o);var a=v(e.expression,{sp:u.sp,env:r,action:null});return n&&e.labelLocation&&t&&"source-and-map"===t.output?f([op$1.SOURCE_MAP_LABEL_PUSH,o,i(n),l(e.labelLocation)],a,[op$1.SOURCE_MAP_LABEL_POP,o]):a},text:function(e,t){return f([op$1.PUSH_CURR_POS],v(e.expression,{sp:t.sp+1,env:p(t.env),action:null}),A(e.match||0,[op$1.IF_NOT_ERROR],f([op$1.POP],[op$1.TEXT]),[op$1.NIP]))},simple_and:function(e,t){return d(e.expression,!1,t)},simple_not:function(e,t){return d(e.expression,!0,t)},optional:function(e,t){return f(v(e.expression,{sp:t.sp,env:p(t.env),action:null}),A(-(e.expression.match||0),[op$1.IF_ERROR],f([op$1.POP],[op$1.PUSH_NULL]),[]))},zero_or_more:function(e,t){var u=v(e.expression,{sp:t.sp+1,env:p(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],u,E(u),[op$1.POP])},one_or_more:function(e,t){var u=v(e.expression,{sp:t.sp+1,env:p(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],u,A(e.expression.match||0,[op$1.IF_NOT_ERROR],f(E(u),[op$1.POP]),f([op$1.POP],[op$1.POP],[op$1.PUSH_FAILED])))},repeated:function(e,t){var u=e.min?e.min:e.max,r="constant"!==u.type||u.value>0,n="constant"!==e.max.type&&null!==e.max.value,o=r?2:1,a=e.min?C(e.min,t.env,t.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:t.sp},i=C(e.max,t.env,a.sp,o),s=v(e.expression,{sp:i.sp+o,env:p(t.env),action:null}),c=null!==e.delimiter?v(e.expression,{sp:i.sp+o+1,env:p(t.env),action:null}):s,l=function(e,t,u,r,n){return e?f([op$1.PUSH_CURR_POS],v(e,{sp:r.sp+n+1,env:p(r.env),action:null}),A(e.match||0,[op$1.IF_NOT_ERROR],f([op$1.POP],u,A(-t,[op$1.IF_ERROR],[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP])),[op$1.NIP])):u}(e.delimiter,e.expression.match||0,c,t,o),h=m(l,e.max),d=n?m(s,e.max):s,g=f(r?[op$1.PUSH_CURR_POS]:[],[op$1.PUSH_EMPTY_ARRAY],d,E(h),[op$1.POP]);return f(a.pre,i.pre,r?function(e,t){var u="constant"===t.type?[op$1.IF_LT,t.value]:[op$1.IF_LT_DYNAMIC,t.sp||0];return f(e,A(SOMETIMES_MATCH,u,[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP]))}(g,u):g,i.post,a.post)},group:function(e,t){return v(e.expression,{sp:t.sp,env:p(t.env),action:null})},semantic_and:function(e,t){return g(e,!1,t)},semantic_not:function(e,t){return g(e,!0,t)},rule_ref:function(t){return[op$1.RULE,asts$6.indexOfRule(e,t.name)]},literal:function(e){if(e.value.length>0){var t=e.match||0,u=t===SOMETIMES_MATCH||t===ALWAYS_MATCH&&!e.ignoreCase?i(e.ignoreCase?e.value.toLowerCase():e.value):-1,r=t!==ALWAYS_MATCH?s({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):-1;return A(t,e.ignoreCase?[op$1.MATCH_STRING_IC,u]:[op$1.MATCH_STRING,u],e.ignoreCase?[op$1.ACCEPT_N,e.value.length]:[op$1.ACCEPT_STRING,u],[op$1.FAIL,r])}return[op$1.PUSH_EMPTY_STRING]},class:function(e){var t=e.match||0,u=t===SOMETIMES_MATCH?function(e){var t={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},u=JSON.stringify(t),n=r.findIndex((function(e){return JSON.stringify(e)===u}));return-1===n?r.push(t)-1:n}(e):-1,n=t!==ALWAYS_MATCH?s({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):-1;return A(t,[op$1.MATCH_CHAR_CLASS,u],[op$1.ACCEPT_N,1],[op$1.FAIL,n])},any:function(e){var t=e.match||0,u=t!==ALWAYS_MATCH?s({type:"any"}):-1;return A(t,[op$1.MATCH_ANY],[op$1.ACCEPT_N,1],[op$1.FAIL,u])}},t&&"source-and-map"===t.output&&Object.keys(F).forEach((function(e){var t=F[e];F[e]=function(e){for(var u=[],r=1;r>>=VLQ_BASE_SHIFT,r>0&&(t|=VLQ_CONTINUATION_BIT),u+=base64$2.encode(t)}while(r>0);return u};var util$3={};function getArg(e,t,u){if(t in e)return e[t];if(3===arguments.length)return u;throw new Error('"'+t+'" is a required argument.')}util$3.getArg=getArg;const supportsNullProto=!("__proto__"in Object.create(null));function identity(e){return e}function toSetString(e){return isProtoString(e)?"$"+e:e}function fromSetString(e){return isProtoString(e)?e.slice(1):e}function isProtoString(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let u=t-10;u>=0;u--)if(36!==e.charCodeAt(u))return!1;return!0}function strcmp(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated(e,t){let u=e.generatedLine-t.generatedLine;return 0!==u?u:(u=e.generatedColumn-t.generatedColumn,0!==u?u:(u=strcmp(e.source,t.source),0!==u?u:(u=e.originalLine-t.originalLine,0!==u?u:(u=e.originalColumn-t.originalColumn,0!==u?u:strcmp(e.name,t.name)))))}util$3.toSetString=supportsNullProto?identity:toSetString,util$3.fromSetString=supportsNullProto?identity:fromSetString,util$3.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;const PROTOCOL="http:",PROTOCOL_AND_HOST=`${PROTOCOL}//host`;function createSafeHandler(e){return t=>{const u=getURLType(t),r=buildSafeBase(t),n=new URL(t,r);e(n);const o=n.toString();return"absolute"===u?o:"scheme-relative"===u?o.slice(PROTOCOL.length):"path-absolute"===u?o.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(r,o)}}function withBase(e,t){return new URL(e,t).toString()}function buildUniqueSegment(e,t){let u=0;for(;;){const r=e+u++;if(-1===t.indexOf(r))return r}}function buildSafeBase(e){const t=e.split("..").length-1,u=buildUniqueSegment("p",e);let r=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!r[r.length-1]&&r.pop();u.length>0&&r.length>0&&u[0]===r[0];)u.shift(),r.shift();return r.map((()=>"..")).concat(u).join("/")+t.search+t.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize=createSafeHandler((e=>{}));function join(e,t){const u=getURLType(t),r=getURLType(e);if(e=ensureDirectory(e),"absolute"===u)return withBase(t,void 0);if("absolute"===r)return withBase(t,e);if("scheme-relative"===u)return normalize(t);if("scheme-relative"===r)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===u)return normalize(t);if("path-absolute"===r)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const n=buildSafeBase(t+e);return computeRelativeURL(n,withBase(t,withBase(e,n)))}function relative(e,t){const u=relativeIfPossible(e,t);return"string"==typeof u?u:normalize(t)}function relativeIfPossible(e,t){if(getURLType(e)!==getURLType(t))return null;const u=buildSafeBase(e+t),r=new URL(e,u),n=new URL(t,u);try{new URL("",n.toString())}catch(e){return null}return n.protocol!==r.protocol||n.user!==r.user||n.password!==r.password||n.hostname!==r.hostname||n.port!==r.port?null:computeRelativeURL(r,n)}util$3.normalize=normalize,util$3.join=join,util$3.relative=relative;var arraySet={};let ArraySet$1=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,u){const r=new e;for(let e=0,n=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&eu||r==u&&o>=n||util$2.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$2.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList.MappingList=MappingList$1;const base64VLQ=base64Vlq,util$1=util$3,ArraySet=arraySet.ArraySet,MappingList=mappingList.MappingList;let SourceMapGenerator$1=class e{constructor(e){e||(e={}),this._file=util$1.getArg(e,"file",null),this._sourceRoot=util$1.getArg(e,"sourceRoot",null),this._skipValidation=util$1.getArg(e,"skipValidation",!1),this._sources=new ArraySet,this._names=new ArraySet,this._mappings=new MappingList,this._sourcesContents=null}static fromSourceMap(t){const u=t.sourceRoot,r=new e({file:t.file,sourceRoot:u});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=u&&(t.source=util$1.relative(u,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),r.addMapping(t)})),t.sources.forEach((function(e){let n=e;null!=u&&(n=util$1.relative(u,e)),r._sources.has(n)||r._sources.add(n);const o=t.sourceContentFor(e);null!=o&&r.setSourceContent(e,o)})),r}addMapping(e){const t=util$1.getArg(e,"generated"),u=util$1.getArg(e,"original",null);let r=util$1.getArg(e,"source",null),n=util$1.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,u,r,n),null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=n&&(n=String(n),this._names.has(n)||this._names.add(n)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:u&&u.line,originalColumn:u&&u.column,source:r,name:n})}setSourceContent(e,t){let u=e;null!=this._sourceRoot&&(u=util$1.relative(this._sourceRoot,u)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$1.toSetString(u)]=t):this._sourcesContents&&(delete this._sourcesContents[util$1.toSetString(u)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,u){let r=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');r=e.file}const n=this._sourceRoot;null!=n&&(r=util$1.relative(n,r));const o=this._mappings.toArray().length>0?new ArraySet:this._sources,a=new ArraySet;this._mappings.unsortedForEach((function(t){if(t.source===r&&null!=t.originalLine){const r=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=r.source&&(t.source=r.source,null!=u&&(t.source=util$1.join(u,t.source)),null!=n&&(t.source=util$1.relative(n,t.source)),t.originalLine=r.line,t.originalColumn=r.column,null!=r.name&&(t.name=r.name))}const i=t.source;null==i||o.has(i)||o.add(i);const s=t.name;null==s||a.has(s)||a.add(s)}),this),this._sources=o,this._names=a,e.sources.forEach((function(t){const r=e.sourceContentFor(t);null!=r&&(null!=u&&(t=util$1.join(u,t)),null!=n&&(t=util$1.relative(n,t)),this.setSourceContent(t,r))}),this)}_validateMapping(e,t,u,r){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!u&&!r);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&u))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:u,original:t,name:r}))}_serializeMappings(){let e,t,u,r,n=0,o=1,a=0,i=0,s=0,c=0,l="";const p=this._mappings.toArray();for(let f=0,A=p.length;f0){if(!util$1.compareByGeneratedPositionsInflated(t,p[f-1]))continue;e+=","}e+=base64VLQ.encode(t.generatedColumn-n),n=t.generatedColumn,null!=t.source&&(r=this._sources.indexOf(t.source),e+=base64VLQ.encode(r-c),c=r,e+=base64VLQ.encode(t.originalLine-1-i),i=t.originalLine-1,e+=base64VLQ.encode(t.originalColumn-a),a=t.originalColumn,null!=t.name&&(u=this._names.indexOf(t.name),e+=base64VLQ.encode(u-s),s=u)),l+=e}return l}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$1.relative(t,e));const u=util$1.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,u)?this._sourcesContents[u]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$1.prototype._version=3,sourceMapGenerator.SourceMapGenerator=SourceMapGenerator$1;var sourceNode={};const SourceMapGenerator=sourceMapGenerator.SourceMapGenerator,util=util$3,REGEX_NEWLINE=/(\r?\n)/,NEWLINE_CODE=10,isSourceNode="$$$isSourceNode$$$";let SourceNode$2=class e{constructor(e,t,u,r,n){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==u?null:u,this.name=null==n?null:n,this[isSourceNode]=!0,null!=r&&this.add(r)}static fromStringWithSourceMap(t,u,r){const n=new e,o=t.split(REGEX_NEWLINE);let a=0;const i=function(){return e()+(e()||"");function e(){return a=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let u=0,r=this.children.length;u0){for(t=[],u=0;u' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.sourceNode=function(e,t,u){var r=GrammarLocation$2.offsetStart(e);return new SourceNode$1(r.line,r.column?r.column-1:null,String(e.source),t,u)},e.prototype.push=function(t){++this.sp>this.maxSp&&(this.maxSp=this.sp);var u=this.labels[this.sp],r=[this.name(this.sp)," = ",t,";"];if(u){if(this.sourceMapStack.length){var n=e.sourceNode(u.location,r.splice(0,2),u.label),o=this.sourceMapPopInternal(),a=o.parts,i=o.location,s=i.start.offsett.end.offset&&(u[2]={start:t.end,end:u[2].end,source:u[2].source})}this.sourceMapStack.push([e,e.length,t])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop();if(!e)throw new RangeError("Rule '".concat(this.ruleName,"': Attempting to pop an empty source map stack.\nBytecode: ").concat(this.bytecode));var t=e[0],u=e[1],r=e[2],n=t.splice(u).map((function(e){return e instanceof SourceNode$1?e:e+"\n"}));if(n.length){var o=GrammarLocation$2.offsetStart(r);t.push(new SourceNode$1(o.line,o.column-1,String(r.source),n))}return{parts:t,location:r}},e.prototype.sourceMapPop=function(e){var t=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&t.end.offset>2],n+=t[(3&e[o])<<4|e[o+1]>>4],n+=t[(15&e[o+1])<<2|e[o+2]>>6],n+=t[63&e[o+2]];return 1===u?(n+=t[e[r]>>2],n+=t[(3&e[r])<<4],n+="=="):2===u&&(n+=t[e[r]>>2],n+=t[(3&e[r])<<4|e[r+1]>>4],n+=t[(15&e[r+1])<<2],n+="="),n}function peg$subclass$1(e,t){function u(){this.constructor=e}u.prototype=t.prototype,e.prototype=new u}function peg$SyntaxError$1(e,t,u,r){var n=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(n,peg$SyntaxError$1.prototype),n.expected=t,n.found=u,n.location=r,n.name="SyntaxError",n}function peg$padEnd$1(e,t,u){return u=u||" ",e.length>t?e:(t-=e.length,e+(u+=u.repeat(t)).slice(0,t))}function peg$parse$1(e,t){var u,r={},n=(t=void 0!==t?t:{}).grammarSource,o={JSSource:ct},a=ct,i="import",s=";",c=",",l="*",p="as",f="{",A="}",h="from",d="\n",g="\r\n",E="/*",C="*/",m="//",F="\\",v='"',_="'",$="0",B="b",D="f",y="n",S="r",x="t",b="v",P="x",R="u",O=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,L=/^[\n\r\u2028\u2029]/,T=/^[\r\u2028-\u2029]/,w=/^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,M=/^[$0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F1\uA900-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,I=/^[\n\r"\\\u2028-\u2029]/,N=/^[\n\r'\\\u2028-\u2029]/,k=/^["'\\]/,H=/^[0-9ux]/,j=/^[0-9]/,U=/^[0-9a-f]/i,G=/^[{}]/,V=rt("import",!1),z=rt(";",!1),Y=rt(",",!1),W=rt("*",!1),J=rt("as",!1),Q=rt("{",!1),q=rt("}",!1),X=rt("from",!1),K={type:"any"},Z=ot("whitespace"),ee=nt(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),te=nt(["\n","\r","\u2028","\u2029"],!1,!1),ue=ot("end of line"),re=rt("\n",!1),ne=rt("\r\n",!1),oe=nt(["\r",["\u2028","\u2029"]],!1,!1),ae=ot("comment"),ie=rt("/*",!1),se=rt("*/",!1),ce=rt("//",!1),le=ot("identifier"),pe=nt([["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","Ɬ"],["Ʞ","ꞷ"],["ꟷ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭥ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),fe=rt("\\",!1),Ae=nt(["$",["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["ୖ","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ః"],["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],["ഁ","ഃ"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ං","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠐","᠙"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭",["ᳲ","᳴"],["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["‌","‍"],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],["ꢀ","ꢁ"],["ꢴ","꣄"],["꣐","꣙"],["꣠","꣱"],["꤀","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),he=ot("string"),de=rt('"',!1),ge=rt("'",!1),Ee=nt(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),Ce=nt(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),me=rt("0",!1),Fe=nt(['"',"'","\\"],!1,!1),ve=rt("b",!1),_e=rt("f",!1),$e=rt("n",!1),Be=rt("r",!1),De=rt("t",!1),ye=rt("v",!1),Se=nt([["0","9"],"u","x"],!1,!1),xe=rt("x",!1),be=rt("u",!1),Pe=nt([["0","9"]],!1,!1),Re=nt([["0","9"],["a","f"]],!1,!0),Oe=nt(["{","}"],!1,!1),Le=function(e,t){return[e,{type:"top_level_initializer",code:t[0],codeLocation:t[1]}]},Te=function(e){return{type:"top_level_initializer",code:e,codeLocation:ut()}},we=function(e){return-1===Lt.indexOf(e[0])},Me=function(e,t){return[e+t.join(""),ut()]},Ie=function(e){return e.join("")},Ne=function(e){return e.join("")},ke=function(){return""},He=function(){return"\0"},je=function(){return"\b"},Ue=function(){return"\f"},Ge=function(){return"\n"},Ve=function(){return"\r"},ze=function(){return"\t"},Ye=function(){return"\v"},We=function(e){return String.fromCharCode(parseInt(e,16))},Je=function(e){return String.fromCharCode(parseInt(e,16))},Qe=function(e){return[e,ut()]},qe=0,Xe=0,Ke=[{line:1,column:1}],Ze=0,et=[],tt=0;if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');a=o[t.startRule]}function ut(){return it(Xe,qe)}function rt(e,t){return{type:"literal",text:e,ignoreCase:t}}function nt(e,t,u){return{type:"class",parts:e,inverted:t,ignoreCase:u}}function ot(e){return{type:"other",description:e}}function at(t){var u,r=Ke[t];if(r)return r;if(t>=Ke.length)u=Ke.length-1;else for(u=t;!Ke[--u];);for(r={line:(r=Ke[u]).line,column:r.column};uZe&&(Ze=qe,et=[]),et.push(e))}function ct(){var t,u,n;return t=qe,u=function(){var t,u,n,o;for(t=qe,u=qe,n=[],o=lt();o!==r;)n.push(o),o=lt();return u=e.substring(u,qe),Xe=t,t=u=Te(u)}(),n=function(){var e,t;return e=qe,t=Rt(),Xe=e,e=t=Qe(t)}(),Xe=t,Le(u,n)}function lt(){var t,u,n,o,a,l,p,f,A;return t=qe,u=Ot(),e.substr(qe,6)===i?(n=i,qe+=6):(n=r,0===tt&&st(V)),n!==r?(o=Ot(),a=function(){var t,u,n,o,a,i;return(t=ht())===r&&(t=pt())===r&&(t=ft())===r&&(t=qe,(u=ht())!==r?(n=Ot(),44===e.charCodeAt(qe)?(o=c,qe++):(o=r,0===tt&&st(Y)),o!==r?(a=Ot(),(i=pt())===r&&(i=ft()),i!==r?t=u=[u,n,o,a,i]:(qe=t,t=r)):(qe=t,t=r)):(qe=t,t=r)),t}(),a!==r?(l=Ot(),p=function(){var t,u,n,o;return t=qe,e.substr(qe,4)===h?(u=h,qe+=4):(u=r,0===tt&&st(X)),u!==r?(n=Ot(),(o=$t())!==r?t=u=[u,n,o]:(qe=t,t=r)):(qe=t,t=r),t}(),p!==r?(f=Ot(),59===e.charCodeAt(qe)?(A=s,qe++):(A=r,0===tt&&st(z)),A===r&&(A=null),t=u=[u,n,o,a,l,p,f,A]):(qe=t,t=r)):(qe=t,t=r)):(qe=t,t=r),t===r&&(t=qe,u=Ot(),e.substr(qe,6)===i?(n=i,qe+=6):(n=r,0===tt&&st(V)),n!==r?(o=Ot(),(a=$t())!==r?(l=Ot(),59===e.charCodeAt(qe)?(p=s,qe++):(p=r,0===tt&&st(z)),p===r&&(p=null),t=u=[u,n,o,a,l,p]):(qe=t,t=r)):(qe=t,t=r)),t}function pt(){var t,u,n,o,a,i;return t=qe,42===e.charCodeAt(qe)?(u=l,qe++):(u=r,0===tt&&st(W)),u!==r?(n=Ot(),e.substr(qe,2)===p?(o=p,qe+=2):(o=r,0===tt&&st(J)),o!==r?(a=Ot(),(i=ht())!==r?t=u=[u,n,o,a,i]:(qe=t,t=r)):(qe=t,t=r)):(qe=t,t=r),t}function ft(){var t,u,n,o,a,i,s,l;return t=qe,123===e.charCodeAt(qe)?(u=f,qe++):(u=r,0===tt&&st(Q)),u!==r?(n=Ot(),125===e.charCodeAt(qe)?(o=A,qe++):(o=r,0===tt&&st(q)),o!==r?t=u=[u,n,o]:(qe=t,t=r)):(qe=t,t=r),t===r&&(t=qe,123===e.charCodeAt(qe)?(u=f,qe++):(u=r,0===tt&&st(Q)),u!==r?(n=Ot(),o=function(){var t,u,n,o,a,i;for(t=qe,u=[],n=At();n!==r;)u.push(n),n=qe,o=qe,a=Ot(),44===e.charCodeAt(qe)?(i=c,qe++):(i=r,0===tt&&st(Y)),i!==r?o=a=[a,i,Ot()]:(qe=o,o=r),o!==r&&(o=At())===r?(qe=n,n=r):n=o;return u.length<1?(qe=t,t=r):t=u,t}(),o!==r?(a=Ot(),44===e.charCodeAt(qe)?(i=c,qe++):(i=r,0===tt&&st(Y)),i===r&&(i=null),s=Ot(),125===e.charCodeAt(qe)?(l=A,qe++):(l=r,0===tt&&st(q)),l!==r?t=u=[u,n,o,a,i,s,l]:(qe=t,t=r)):(qe=t,t=r)):(qe=t,t=r)),t}function At(){var t,u,n,o,a,i;return t=qe,u=function(){var e;return(e=Ft())===r&&(e=$t()),e}(),u!==r?(n=Ot(),e.substr(qe,2)===p?(o=p,qe+=2):(o=r,0===tt&&st(J)),o!==r?(a=Ot(),(i=ht())!==r?t=u=[u,n,o,a,i]:(qe=t,t=r)):(qe=t,t=r)):(qe=t,t=r),t===r&&(t=ht()),t}function ht(){var e,t,u;return e=qe,(t=Ft())!==r?(Xe=qe,(u=(u=we(t))?void 0:r)!==r?e=t=[t,u]:(qe=e,e=r)):(qe=e,e=r),e}function dt(){var t;return e.length>qe?(t=e.charAt(qe),qe++):(t=r,0===tt&&st(K)),t}function gt(){var t;return tt++,t=e.charAt(qe),O.test(t)?qe++:(t=r,0===tt&&st(ee)),tt--,t===r&&0===tt&&st(Z),t}function Et(){var t;return t=e.charAt(qe),L.test(t)?qe++:(t=r,0===tt&&st(te)),t}function Ct(){var t;return tt++,10===e.charCodeAt(qe)?(t=d,qe++):(t=r,0===tt&&st(re)),t===r&&(e.substr(qe,2)===g?(t=g,qe+=2):(t=r,0===tt&&st(ne)),t===r&&(t=e.charAt(qe),T.test(t)?qe++:(t=r,0===tt&&st(oe)))),tt--,t===r&&0===tt&&st(ue),t}function mt(){var t;return tt++,(t=function(){var t,u,n,o,a,i;if(t=qe,e.substr(qe,2)===E?(u=E,qe+=2):(u=r,0===tt&&st(ie)),u!==r){for(n=[],o=qe,a=qe,tt++,e.substr(qe,2)===C?(i=C,qe+=2):(i=r,0===tt&&st(se)),tt--,i===r?a=void 0:(qe=a,a=r),a!==r&&(i=dt())!==r?o=a=[a,i]:(qe=o,o=r);o!==r;)n.push(o),o=qe,a=qe,tt++,e.substr(qe,2)===C?(i=C,qe+=2):(i=r,0===tt&&st(se)),tt--,i===r?a=void 0:(qe=a,a=r),a!==r&&(i=dt())!==r?o=a=[a,i]:(qe=o,o=r);e.substr(qe,2)===C?(o=C,qe+=2):(o=r,0===tt&&st(se)),o!==r?t=u=[u,n,o]:(qe=t,t=r)}else qe=t,t=r;return t}())===r&&(t=function(){var t,u,n,o,a,i;if(t=qe,e.substr(qe,2)===m?(u=m,qe+=2):(u=r,0===tt&&st(ce)),u!==r){for(n=[],o=qe,a=qe,tt++,i=Et(),tt--,i===r?a=void 0:(qe=a,a=r),a!==r&&(i=dt())!==r?o=a=[a,i]:(qe=o,o=r);o!==r;)n.push(o),o=qe,a=qe,tt++,i=Et(),tt--,i===r?a=void 0:(qe=a,a=r),a!==r&&(i=dt())!==r?o=a=[a,i]:(qe=o,o=r);t=u=[u,n]}else qe=t,t=r;return t}()),tt--,t===r&&0===tt&&st(ae),t}function Ft(){var e,t,u,n;if(tt++,e=qe,(t=vt())!==r){for(u=[],n=_t();n!==r;)u.push(n),n=_t();Xe=e,e=Me(t,u)}else qe=e,e=r;return tt--,e===r&&(t=r,0===tt&&st(le)),e}function vt(){var t,u,n;return t=e.charAt(qe),w.test(t)?qe++:(t=r,0===tt&&st(pe)),t===r&&(t=qe,92===e.charCodeAt(qe)?(u=F,qe++):(u=r,0===tt&&st(fe)),u!==r&&(n=bt())!==r?t=n:(qe=t,t=r)),t}function _t(){var t;return(t=vt())===r&&(t=e.charAt(qe),M.test(t)?qe++:(t=r,0===tt&&st(Ae))),t}function $t(){var t,u,n,o;if(tt++,t=qe,34===e.charCodeAt(qe)?(u=v,qe++):(u=r,0===tt&&st(de)),u!==r){for(n=[],o=Bt();o!==r;)n.push(o),o=Bt();34===e.charCodeAt(qe)?(o=v,qe++):(o=r,0===tt&&st(de)),o!==r?(Xe=t,t=Ie(n)):(qe=t,t=r)}else qe=t,t=r;if(t===r)if(t=qe,39===e.charCodeAt(qe)?(u=_,qe++):(u=r,0===tt&&st(ge)),u!==r){for(n=[],o=Dt();o!==r;)n.push(o),o=Dt();39===e.charCodeAt(qe)?(o=_,qe++):(o=r,0===tt&&st(ge)),o!==r?(Xe=t,t=Ne(n)):(qe=t,t=r)}else qe=t,t=r;return tt--,t===r&&(u=r,0===tt&&st(he)),t}function Bt(){var t,u,n,o;return t=qe,u=qe,n=qe,tt++,o=e.charAt(qe),I.test(o)?qe++:(o=r,0===tt&&st(Ee)),tt--,o===r?n=void 0:(qe=n,n=r),n!==r&&(o=dt())!==r?u=n=[n,o]:(qe=u,u=r),(t=u!==r?e.substring(t,qe):u)===r&&(t=qe,92===e.charCodeAt(qe)?(u=F,qe++):(u=r,0===tt&&st(fe)),u!==r&&(n=St())!==r?t=n:(qe=t,t=r),t===r&&(t=yt())),t}function Dt(){var t,u,n,o;return t=qe,u=qe,n=qe,tt++,o=e.charAt(qe),N.test(o)?qe++:(o=r,0===tt&&st(Ce)),tt--,o===r?n=void 0:(qe=n,n=r),n!==r&&(o=dt())!==r?u=n=[n,o]:(qe=u,u=r),(t=u!==r?e.substring(t,qe):u)===r&&(t=qe,92===e.charCodeAt(qe)?(u=F,qe++):(u=r,0===tt&&st(fe)),u!==r&&(n=St())!==r?t=n:(qe=t,t=r),t===r&&(t=yt())),t}function yt(){var t,u;return t=qe,92===e.charCodeAt(qe)?(u=F,qe++):(u=r,0===tt&&st(fe)),u!==r&&Ct()!==r?(Xe=t,t=ke()):(qe=t,t=r),t}function St(){var t,u,n,o;return t=function(){var t;return(t=xt())===r&&(t=function(){var t,u,n,o;return t=qe,u=qe,n=qe,tt++,o=function(){var t;return(t=xt())===r&&(t=e.charAt(qe),H.test(t)?qe++:(t=r,0===tt&&st(Se))),t}(),o===r&&(o=Et()),tt--,o===r?n=void 0:(qe=n,n=r),n!==r&&(o=dt())!==r?u=n=[n,o]:(qe=u,u=r),t=u!==r?e.substring(t,qe):u}()),t}(),t===r&&(t=qe,48===e.charCodeAt(qe)?(u=$,qe++):(u=r,0===tt&&st(me)),u!==r?(n=qe,tt++,o=function(){var t;return t=e.charAt(qe),j.test(t)?qe++:(t=r,0===tt&&st(Pe)),t}(),tt--,o===r?n=void 0:(qe=n,n=r),n!==r?(Xe=t,t=He()):(qe=t,t=r)):(qe=t,t=r),t===r&&(t=function(){var t,u,n,o,a,i;return t=qe,120===e.charCodeAt(qe)?(u=P,qe++):(u=r,0===tt&&st(xe)),u!==r?(n=qe,o=qe,(a=Pt())!==r&&(i=Pt())!==r?o=a=[a,i]:(qe=o,o=r),(n=o!==r?e.substring(n,qe):o)!==r?(Xe=t,t=We(n)):(qe=t,t=r)):(qe=t,t=r),t}(),t===r&&(t=bt()))),t}function xt(){var t,u;return t=e.charAt(qe),k.test(t)?qe++:(t=r,0===tt&&st(Fe)),t===r&&(t=qe,98===e.charCodeAt(qe)?(u=B,qe++):(u=r,0===tt&&st(ve)),u!==r&&(Xe=t,u=je()),(t=u)===r&&(t=qe,102===e.charCodeAt(qe)?(u=D,qe++):(u=r,0===tt&&st(_e)),u!==r&&(Xe=t,u=Ue()),(t=u)===r&&(t=qe,110===e.charCodeAt(qe)?(u=y,qe++):(u=r,0===tt&&st($e)),u!==r&&(Xe=t,u=Ge()),(t=u)===r&&(t=qe,114===e.charCodeAt(qe)?(u=S,qe++):(u=r,0===tt&&st(Be)),u!==r&&(Xe=t,u=Ve()),(t=u)===r&&(t=qe,116===e.charCodeAt(qe)?(u=x,qe++):(u=r,0===tt&&st(De)),u!==r&&(Xe=t,u=ze()),(t=u)===r&&(t=qe,118===e.charCodeAt(qe)?(u=b,qe++):(u=r,0===tt&&st(ye)),u!==r&&(Xe=t,u=Ye()),t=u)))))),t}function bt(){var t,u,n,o,a,i,s,c;return t=qe,117===e.charCodeAt(qe)?(u=R,qe++):(u=r,0===tt&&st(be)),u!==r?(n=qe,o=qe,(a=Pt())!==r&&(i=Pt())!==r&&(s=Pt())!==r&&(c=Pt())!==r?o=a=[a,i,s,c]:(qe=o,o=r),(n=o!==r?e.substring(n,qe):o)!==r?(Xe=t,t=Je(n)):(qe=t,t=r)):(qe=t,t=r),t}function Pt(){var t;return t=e.charAt(qe),U.test(t)?qe++:(t=r,0===tt&&st(Re)),t}function Rt(){var t,u,n,o,a,i;if(t=qe,u=[],n=[],o=qe,a=qe,tt++,i=e.charAt(qe),G.test(i)?qe++:(i=r,0===tt&&st(Oe)),tt--,i===r?a=void 0:(qe=a,a=r),a!==r&&(i=dt())!==r?o=a=[a,i]:(qe=o,o=r),o!==r)for(;o!==r;)n.push(o),o=qe,a=qe,tt++,i=e.charAt(qe),G.test(i)?qe++:(i=r,0===tt&&st(Oe)),tt--,i===r?a=void 0:(qe=a,a=r),a!==r&&(i=dt())!==r?o=a=[a,i]:(qe=o,o=r);else n=r;for(n===r&&(n=qe,123===e.charCodeAt(qe)?(o=f,qe++):(o=r,0===tt&&st(Q)),o!==r?(a=Rt(),125===e.charCodeAt(qe)?(i=A,qe++):(i=r,0===tt&&st(q)),i!==r?n=o=[o,a,i]:(qe=n,n=r)):(qe=n,n=r));n!==r;){if(u.push(n),n=[],o=qe,a=qe,tt++,i=e.charAt(qe),G.test(i)?qe++:(i=r,0===tt&&st(Oe)),tt--,i===r?a=void 0:(qe=a,a=r),a!==r&&(i=dt())!==r?o=a=[a,i]:(qe=o,o=r),o!==r)for(;o!==r;)n.push(o),o=qe,a=qe,tt++,i=e.charAt(qe),G.test(i)?qe++:(i=r,0===tt&&st(Oe)),tt--,i===r?a=void 0:(qe=a,a=r),a!==r&&(i=dt())!==r?o=a=[a,i]:(qe=o,o=r);else n=r;n===r&&(n=qe,123===e.charCodeAt(qe)?(o=f,qe++):(o=r,0===tt&&st(Q)),o!==r?(a=Rt(),125===e.charCodeAt(qe)?(i=A,qe++):(i=r,0===tt&&st(q)),i!==r?n=o=[o,a,i]:(qe=n,n=r)):(qe=n,n=r))}return e.substring(t,qe)}function Ot(){var e,t;for(e=[],(t=gt())===r&&(t=Ct())===r&&(t=mt());t!==r;)e.push(t),(t=gt())===r&&(t=Ct())===r&&(t=mt());return e}var Lt=t.reservedWords||[];if((u=a())!==r&&qe===e.length)return u;throw u!==r&&qe0){for(t=1,u=1;t0&&(t.forEach((function(e){n.push("var "+e+' = require("'+stringEscape(s[e])+'");')})),n.push("")),n.push(e,"","module.exports = "+r()+";"),n},es:function(){var r=Object.keys(s),n=u();return n.push(""),r.length>0&&(r.forEach((function(e){n.push("import "+e+' from "'+stringEscape(s[e])+'";')})),n.push("")),n.push(e,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),n},amd:function(){var t=Object.keys(s),n="["+t.map((function(e){return s[e]})).map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",o=t.join(", ");return __spreadArray$2(__spreadArray$2([],u(),!0),["define("+n+", function("+o+") {",' "use strict";',"",e,"",c("return "+r()+";"),"});"],!1)},globals:function(){return __spreadArray$2(__spreadArray$2([],u(),!0),["(function(root) {",' "use strict";',"",e,"",c("root."+t.exportVar+" = "+r()+";"),"})(this);"],!1)},umd:function(){var n=Object.keys(s),o=n.map((function(e){return s[e]})),a="["+o.map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",i=o.map((function(e){return'require("'+stringEscape(e)+'")'})).join(", "),l=n.join(", "),p=u();return p.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+a+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+i+");"),null!==t.exportVar&&p.push(" } else {"," root."+t.exportVar+" = factory();"),p.push(" }","})(this, function("+l+") {",' "use strict";',"",e,"",c("return "+r()+";"),"});"),p}}[t.format||"bare"]();return new SourceNode(null,null,t.grammarSource,n.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}(function(){var s=[],g=e.topLevelInitializer;if(g)if(Array.isArray(g)){if("es"===t.format){for(var E=[],C=[],m=0,F=g;m targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var offset_s = (this.location.source && (typeof this.location.source.offset === "function"))'," ? this.location.source.offset(s)"," : s;",' var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;'," if (src) {"," var e = this.location.end;"," var filler = peg$padEnd(\"\", offset_s.line.toString().length, ' ');"," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --\x3e " + loc + "\\n"',' + filler + " |\\n"',' + offset_s.line + " | " + line + "\\n"',' + filler + " | " + peg$padEnd("", s.column - 1, \' \')',' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/"/g, "\\\\\\"")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/\\]/g, "\\\\]")',' .replace(/\\^/g, "\\\\^")',' .replace(/-/g, "\\\\-")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&s.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");var S="{ "+i.map((function(e){return e+": "+h(e)})).join(", ")+" }",x=h(i[0]);if(s.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+S+";"," var peg$startRuleFunction = "+x+";","",new SourceNode(null,null,t.grammarSource,__spreadArray$2([u.map((function(e,t){return" var "+l(t)+' = "'+stringEscape(e)+'";'})).concat("",n.map((function(e,t){return" var "+p(t)+" = /^["+((u=e).inverted?"^":"")+u.value.map((function(e){return Array.isArray(e)?regexpClassEscape(e[0])+"-"+regexpClassEscape(e[1]):regexpClassEscape(e)})).join("")+"]/"+(u.ignoreCase?"i":"")+";";var u}))).concat("",o.map((function(e,t){return" var "+f(t)+" = "+function(e){switch(e.type){case"rule":return'peg$otherExpectation("'+stringEscape(e.value)+'")';case"literal":return'peg$literalExpectation("'+stringEscape(e.value)+'", '+e.ignoreCase+")";case"class":return"peg$classExpectation(["+e.value.map((function(e){return Array.isArray(e)?'["'+stringEscape(e[0])+'", "'+stringEscape(e[1])+'"]':'"'+stringEscape(e)+'"'})).join(", ")+"], "+e.inverted+", "+e.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(e)+")")}}(e)+";"}))).concat("").join("\n")],a.map((function(e,t){return wrapInSourceNode("\n var ".concat(A(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")})),!0)),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&s.push(" var peg$resultsCache = {};",""),t.trace&&s.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),s.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",' throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");'," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," if (pos >= peg$posDetailsCache.length) {"," p = peg$posDetailsCache.length - 1;"," } else {"," p = pos;"," while (!peg$posDetailsCache[--p]) {}"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos, offset) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," var res = {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };",' if (offset && peg$source && (typeof peg$source.offset === "function")) {'," res.start = peg$source.offset(res.start);"," res.end = peg$source.offset(res.end);"," }"," return res;"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach((function(n){s.push.apply(s,c(function(n){var o=[],a=n.bytecode,i=new Stack(n.name,"s","var",a),s=function t(n){var o=0,a=n.length,s=[],d=void 0;function g(e,u,r){var a=u+3,l=n[o+a-2],p=n[o+a-1],f=i.checkedIf(o,(function(){return o+=a+l,(r||t)(n.slice(o-l,o))}),p>0?function(){return o+=p,t(n.slice(o-p,o))}:null),A=f[0],h=f[1];s.push("if ("+e+") {"),s.push.apply(s,c(A)),p>0&&(s.push("} else {"),s.push.apply(s,c(h))),s.push("}")}function E(e,u,r){var a=u+3,c=1===r?"input.charAt(peg$currPos)":"input.substr(peg$currPos, "+r+")",l=null;n[o+a]===op.ACCEPT_N&&n[o+a+1]===r&&(s.push(i.push(c)),c=i.pop(),l=function(e){i.sp++;var u=t(e.slice(2));return u.unshift(1===r?"peg$currPos++;":"peg$currPos += "+r+";"),u}),g(e(c,null!==l),u,l)}for(var C=function(){switch(n[o]){case op.PUSH_EMPTY_STRING:s.push(i.push("''")),o++;break;case op.PUSH_CURR_POS:s.push(i.push("peg$currPos")),o++;break;case op.PUSH_UNDEFINED:s.push(i.push("undefined")),o++;break;case op.PUSH_NULL:s.push(i.push("null")),o++;break;case op.PUSH_FAILED:s.push(i.push("peg$FAILED")),o++;break;case op.PUSH_EMPTY_ARRAY:s.push(i.push("[]")),o++;break;case op.POP:i.pop(),o++;break;case op.POP_CURR_POS:s.push("peg$currPos = "+i.pop()+";"),o++;break;case op.POP_N:i.pop(n[o+1]),o+=2;break;case op.NIP:d=i.pop(),i.pop(),s.push(i.push(d)),o++;break;case op.APPEND:d=i.pop(),s.push(i.top()+".push("+d+");"),o++;break;case op.WRAP:s.push(i.push("["+i.pop(n[o+1]).join(", ")+"]")),o+=2;break;case op.TEXT:s.push(i.push("input.substring("+i.pop()+", peg$currPos)")),o++;break;case op.PLUCK:var a=n[o+3-1],C=3+a;d=n.slice(o+3,o+C),d=1===a?i.index(d[0]):"[ ".concat(d.map((function(e){return i.index(e)})).join(", ")," ]"),i.pop(n[o+1]),s.push(i.push(d)),o+=C;break;case op.IF:g(i.top(),0);break;case op.IF_ERROR:g(i.top()+" === peg$FAILED",0);break;case op.IF_NOT_ERROR:g(i.top()+" !== peg$FAILED",0);break;case op.IF_LT:g(i.top()+".length < "+n[o+1],1);break;case op.IF_GE:g(i.top()+".length >= "+n[o+1],1);break;case op.IF_LT_DYNAMIC:g(i.top()+".length < ("+i.index(n[o+1])+"|0)",1);break;case op.IF_GE_DYNAMIC:g(i.top()+".length >= ("+i.index(n[o+1])+"|0)",1);break;case op.WHILE_NOT_ERROR:$=i.top()+" !== peg$FAILED",B=n[o+2-1],D=i.checkedLoop(o,(function(){return o+=2+B,t(n.slice(o-B,o))})),s.push("while ("+$+") {"),s.push.apply(s,c(D)),s.push("}");break;case op.MATCH_ANY:g("input.length > peg$currPos",0);break;case op.MATCH_STRING:var m=n[o+1],F=u[m];E((function(e,t){return F.length>1?"".concat(e," === ").concat(l(m)):(e=t?"".concat(e,".charCodeAt(0)"):"input.charCodeAt(peg$currPos)","".concat(e," === ").concat(F.charCodeAt(0)))}),1,F.length);break;case op.MATCH_STRING_IC:var v=n[o+1];E((function(e){return"".concat(e,".toLowerCase() === ").concat(l(v))}),1,u[v].length);break;case op.MATCH_CHAR_CLASS:var _=n[o+1];E((function(e){return"".concat(p(_),".test(").concat(e,")")}),1,1);break;case op.ACCEPT_N:s.push(i.push(n[o+1]>1?"input.substr(peg$currPos, "+n[o+1]+")":"input.charAt(peg$currPos)")),s.push(n[o+1]>1?"peg$currPos += "+n[o+1]+";":"peg$currPos++;"),o+=2;break;case op.ACCEPT_STRING:s.push(i.push(l(n[o+1]))),s.push(u[n[o+1]].length>1?"peg$currPos += "+u[n[o+1]].length+";":"peg$currPos++;"),o+=2;break;case op.FAIL:s.push(i.push("peg$FAILED")),s.push("if (peg$silentFails === 0) { peg$fail("+f(n[o+1])+"); }"),o+=2;break;case op.LOAD_SAVED_POS:s.push("peg$savedPos = "+i.index(n[o+1])+";"),o+=2;break;case op.UPDATE_SAVED_POS:s.push("peg$savedPos = peg$currPos;"),o++;break;case op.CALL:d=function(e){var t=n[o+4-1];return A(n[o+1])+"("+n.slice(o+4,o+4+t).map((function(e){return i.index(e)})).join(", ")+")"}(),i.pop(n[o+2]),s.push(i.push(d)),o+=4+n[o+3];break;case op.RULE:s.push(i.push(h(e.rules[n[o+1]].name)+"()")),o+=2;break;case op.SILENT_FAILS_ON:s.push("peg$silentFails++;"),o++;break;case op.SILENT_FAILS_OFF:s.push("peg$silentFails--;"),o++;break;case op.SOURCE_MAP_PUSH:i.sourceMapPush(s,r[n[o+1]]),o+=2;break;case op.SOURCE_MAP_POP:i.sourceMapPop(),o++;break;case op.SOURCE_MAP_LABEL_PUSH:i.labels[n[o+1]]={label:u[n[o+2]],location:r[n[o+3]]},o+=4;break;case op.SOURCE_MAP_LABEL_POP:delete i.labels[n[o+1]],o+=2;break;default:throw new Error("Invalid opcode: "+n[o]+".")}var $,B,D};oi?-1:1:0}));for(var t="",u="",r=0;r=a.charCodeAt(0)?(e.splice(r--,1),e[r]=[t,u=i]):(t=a,u=i)}return e}function mergeCharacterClasses$1(e){var t=Object.create(null);e.rules.forEach((function(e){return t[e.name]=e.expression}));var u=Object.create(null),r=[function(e,r){if("class"===e.type&&!e.inverted)return r&&((e=__assign({},e)).parts=__spreadArray$1([],e.parts,!0)),e;if("literal"===e.type&&1===e.value.length)return{type:"class",parts:[e.value],inverted:!1,ignoreCase:e.ignoreCase,location:e.location};if("rule_ref"===e.type){var a=t[e.name];if(a){u[e.name]||(u[e.name]=!0,o(a));var i=n(a,!0);return i&&(i.location=e.location),i}}return null},visitor$7.build({choice:function(e){var t=null,u=!1;e.alternatives.forEach((function(r,a){var i;o(r);var s=n(r);s?t&&t.ignoreCase===s.ignoreCase?((i=t.parts).push.apply(i,s.parts),e.alternatives[a-1]=t,e.alternatives[a]=t,t.location={source:t.location.source,start:t.location.start,end:s.location.end},u=!0):t=s:t=null})),u&&(e.alternatives=e.alternatives.filter((function(e,t,u){return!t||e!==u[t-1]})),e.alternatives.forEach((function(t,u){"class"===t.type&&(t.parts=cleanParts(t.parts),1!==t.parts.length||Array.isArray(t.parts[0])||t.inverted||(e.alternatives[u]={type:"literal",value:t.parts[0],ignoreCase:t.ignoreCase,location:t.location}))})),1===e.alternatives.length&&cloneOver(e,e.alternatives[0]))},text:function(e){if(o(e.expression),"class"===e.expression.type||"literal"===e.expression.type){var t=e.location;cloneOver(e,e.expression),e.location=t}}})],n=r[0],o=r[1];e.rules.forEach((function(e){u[e.name]=!0,o(e.expression)}))}var mergeCharacterClasses_1=mergeCharacterClasses$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,t,u){function r(e){var t={};return Object.keys(e).forEach((function(u){t[u]=e[u]})),t}function n(e,t){o(e.expression,r(t))}var o=visitor$6.build({rule:function(e){o(e.expression,{})},choice:function(e,t){e.alternatives.forEach((function(e){o(e,r(t))}))},action:n,labeled:function(e,t){var r=e.label;r&&Object.prototype.hasOwnProperty.call(t,r)&&u.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:t[r]}]),o(e.expression,t),t[e.label]=e.labelLocation},text:n,simple_and:n,simple_not:n,optional:n,zero_or_more:n,one_or_more:n,repeated:function(e,t){e.delimiter&&o(e.delimiter,r(t)),o(e.expression,r(t))},group:n});o(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,t,u){var r={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(r,e.name)?u.error('Rule "'.concat(e.name,'" is already defined'),e.nameLocation,[{message:"Original rule location",location:r[e.name]}]):r[e.name]=e.nameLocation}})(e)}var reportDuplicateRules_1=reportDuplicateRules$1,asts$3=asts_1,visitor$4=visitor_1;function reportInfiniteRecursion$1(e,t,u){var r=[],n=[],o=visitor$4.build({rule:function(e){r.push(e.name),o(e.expression),r.pop()},sequence:function(t){t.elements.every((function(t){return o(t),!asts$3.alwaysConsumesOnSuccess(e,t)}))},repeated:function(t){o(t.expression),t.delimiter&&!asts$3.alwaysConsumesOnSuccess(e,t.expression)&&o(t.delimiter)},rule_ref:function(t){n.push(t);var a=asts$3.findRule(e,t.name);if(-1!==r.indexOf(t.name))return r.push(t.name),void u.error("Possible infinite loop when parsing (left recursion: "+r.join(" -> ")+")",a.nameLocation,n.map((function(e,t,u){return{message:t+1!==u.length?"Step ".concat(t+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(t+1,": call itself without input consumption - left recursion"),location:e.location}})));a&&o(a),n.pop()}});o(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$2=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,t,u){var r=visitor$3.build({zero_or_more:function(t){asts$2.alwaysConsumesOnSuccess(e,t.expression)||u.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},one_or_more:function(t){asts$2.alwaysConsumesOnSuccess(e,t.expression)||u.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},repeated:function(t){if(t.delimiter&&r(t.delimiter),!(asts$2.alwaysConsumesOnSuccess(e,t.expression)||t.delimiter&&asts$2.alwaysConsumesOnSuccess(e,t.delimiter)))if(null===t.max.value)u.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",t.location);else{var n=t.min?t.min:t.max;u.warning("constant"===n.type&&"constant"===t.max.type?"An expression may not consume any input and may always match ".concat(t.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",t.location)}}});r(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts$1=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,t,u){visitor$2.build({rule_ref:function(t){asts$1.findRule(e,t.name)||u.error('Rule "'.concat(t.name,'" is not defined'),t.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,t,u){var r=visitor$1.build({action:function(e){r(e.expression,e)},labeled:function(e,t){e.pick&&t&&u.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:t.codeLocation}]),r(e.expression)}});r(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,u){if(u||2===arguments.length)for(var r,n=0,o=t.length;n0:e&&"function"==typeof e.offset}var compiler$1={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,mergeCharacterClasses,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile:function(ast,passes,options){if(options=void 0!==options?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(0===options.allowedStartRules.length)throw new Error("Must have at least one start rule");var allRules=ast.rules.map((function(e){return e.name}));if(options.allowedStartRules.some((function(e){return"*"===e})))options.allowedStartRules=allRules;else for(var _i=0,_a=options.allowedStartRules;_i<_a.length;_i++){var rule=_a[_i];if(-1===allRules.indexOf(rule))throw new Error('Unknown start rule "'.concat(rule,'"'))}if(("source-and-map"===options.output||"source-with-inline-map"===options.output)&&!isSourceMapCapable(options.grammarSource))throw new Error("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps");var session=new Session(options);switch(Object.keys(passes).forEach((function(e){session.stage=e,session.info("Process stage ".concat(e)),passes[e].forEach((function(t){session.info("Process pass ".concat(e,".").concat(t.name)),t(ast,options,session)})),session.checkErrors()})),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;case"source-with-inline-map":if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not supported by this platform");var sourceMap=ast.code.toStringWithSourceMap(),encoder=new TextEncoder,b64=base64(encoder.encode(JSON.stringify(sourceMap.map.toJSON())));return sourceMap.code+"//# sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(b64,"\n");case"ast":return ast;default:throw new Error("Invalid output format: "+options.output+".")}}},compiler_1=compiler$1,OPS_TO_PREFIXED_TYPES={$:"text","&":"simple_and","!":"simple_not"},OPS_TO_SUFFIXED_TYPES={"?":"optional","*":"zero_or_more","+":"one_or_more"},OPS_TO_SEMANTIC_PREDICATE_TYPES={"&":"semantic_and","!":"semantic_not"};function peg$subclass(e,t){function u(){this.constructor=e}u.prototype=t.prototype,e.prototype=new u}function peg$SyntaxError(e,t,u,r){var n=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(n,peg$SyntaxError.prototype),n.expected=t,n.found=u,n.location=r,n.name="SyntaxError",n}function peg$padEnd(e,t,u){return u=u||" ",e.length>t?e:(t-=e.length,e+(u+=u.repeat(t)).slice(0,t))}function peg$parse(e,t){var u,r={},n=(t=void 0!==t?t:{}).grammarSource,o={Grammar:pu},a=pu,i="{",s="}",c="=",l="/",p="@",f=":",A="|",h=",",d="..",g="(",E=")",C="\n",m="\r\n",F="/*",v="*/",_="//",$="\\",B="i",D='"',y="'",S="[",x="^",b="]",P="-",R="0",O="b",L="f",T="n",w="r",M="t",I="v",N="x",k="u",H=".",j=";",U=/^[!$&]/,G=/^[*-+?]/,V=/^[!&]/,z=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,Y=/^[\n\r\u2028\u2029]/,W=/^[\r\u2028-\u2029]/,J=/^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Q=/^[$0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F1\uA900-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,q=/^[\n\r"\\\u2028-\u2029]/,X=/^[\n\r'\\\u2028-\u2029]/,K=/^[\n\r\\-\]\u2028-\u2029]/,Z=/^["'\\]/,ee=/^[0-9ux]/,te=/^[0-9]/,ue=/^[0-9a-f]/i,re=/^[{}]/,ne=ou("{",!1),oe=ou("}",!1),ae=ou("=",!1),ie=ou("/",!1),se=ou("@",!1),ce=ou(":",!1),le=au(["!","$","&"],!1,!1),pe=au([["*","+"],"?"],!1,!1),fe=ou("|",!1),Ae=ou(",",!1),he=ou("..",!1),de=ou("(",!1),ge=ou(")",!1),Ee=au(["!","&"],!1,!1),Ce={type:"any"},me=iu("whitespace"),Fe=au(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),ve=au(["\n","\r","\u2028","\u2029"],!1,!1),_e=iu("end of line"),$e=ou("\n",!1),Be=ou("\r\n",!1),De=au(["\r",["\u2028","\u2029"]],!1,!1),ye=iu("comment"),Se=ou("/*",!1),xe=ou("*/",!1),be=ou("//",!1),Pe=iu("identifier"),Re=au([["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","Ɬ"],["Ʞ","ꞷ"],["ꟷ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭥ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Oe=ou("\\",!1),Le=au(["$",["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["ୖ","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ః"],["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],["ഁ","ഃ"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ං","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠐","᠙"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭",["ᳲ","᳴"],["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["‌","‍"],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],["ꢀ","ꢁ"],["ꢴ","꣄"],["꣐","꣙"],["꣠","꣱"],["꤀","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),Te=iu("literal"),we=ou("i",!1),Me=iu("string"),Ie=ou('"',!1),Ne=ou("'",!1),ke=au(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),He=au(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),je=iu("character class"),Ue=ou("[",!1),Ge=ou("^",!1),Ve=ou("]",!1),ze=ou("-",!1),Ye=au(["\n","\r",["\\","]"],["\u2028","\u2029"]],!1,!1),We=ou("0",!1),Je=au(['"',"'","\\"],!1,!1),Qe=ou("b",!1),qe=ou("f",!1),Xe=ou("n",!1),Ke=ou("r",!1),Ze=ou("t",!1),et=ou("v",!1),tt=au([["0","9"],"u","x"],!1,!1),ut=ou("x",!1),rt=ou("u",!1),nt=au([["0","9"]],!1,!1),ot=au([["0","9"],["a","f"]],!1,!0),at=ou(".",!1),it=iu("code block"),st=au(["{","}"],!1,!1),ct=ou(";",!1),lt=function(e,t,u){return{type:"grammar",topLevelInitializer:e,initializer:t,rules:u,location:ru()}},pt=function(e){return{type:"top_level_initializer",code:e[0],codeLocation:e[1],location:ru()}},ft=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:ru()}},At=function(e,t,u){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==t?{type:"named",name:t,expression:u,location:ru()}:u,location:ru()}},ht=function(e,t){return t.length>0?{type:"choice",alternatives:[e].concat(t),location:ru()}:e},dt=function(e,t){return null!==t?{type:"action",expression:e,code:t[0],codeLocation:t[1],location:ru()}:e},gt=function(e,t){return t.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(t),location:ru()}:e},Et=function(e,t,u){return u.type.startsWith("semantic_")&&nu('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==t?t[0]:null,labelLocation:null!==t?t[1]:e,pick:!0,expression:u,location:ru()}},Ct=function(e,t){return{type:"labeled",label:e[0],labelLocation:e[1],expression:t,location:ru()}},mt=function(){return ru()},Ft=function(e){return Yu.indexOf(e[0])>=0&&nu("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},vt=function(e,t){return{type:OPS_TO_PREFIXED_TYPES[e],expression:t,location:ru()}},_t=function(e,t){return{type:OPS_TO_SUFFIXED_TYPES[t],expression:e,location:ru()}},$t=function(e,t,u){var r=t[0],n=t[1];return"constant"===n.type&&0===n.value&&nu("The maximum count of repetitions of the rule must be > 0",n.location),{type:"repeated",min:r,max:n,expression:e,delimiter:u,location:ru()}},Bt=function(e,t){return[null!==e?e:{type:"constant",value:0},null!==t?t:{type:"constant",value:null}]},Dt=function(e){return[null,e]},yt=function(e){return{type:"constant",value:e,location:ru()}},St=function(e){return{type:"variable",value:e[0],location:ru()}},xt=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:ru()}},bt=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:ru()}:e},Pt=function(e){return{type:"rule_ref",name:e[0],location:ru()}},Rt=function(e,t){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:t[0],codeLocation:t[1],location:ru()}},Ot=function(e,t){return[e+t.join(""),ru()]},Lt=function(e,t){return{type:"literal",value:e,ignoreCase:null!==t,location:ru()}},Tt=function(e){return e.join("")},wt=function(e){return e.join("")},Mt=function(e,t,u){return{type:"class",parts:t.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==u,location:ru()}},It=function(t,u){return t.charCodeAt(0)>u.charCodeAt(0)&&nu("Invalid character range: "+e.substring(Kt,Xt)+"."),[t,u]},Nt=function(){return""},kt=function(){return"\0"},Ht=function(){return"\b"},jt=function(){return"\f"},Ut=function(){return"\n"},Gt=function(){return"\r"},Vt=function(){return"\t"},zt=function(){return"\v"},Yt=function(e){return String.fromCharCode(parseInt(e,16))},Wt=function(e){return String.fromCharCode(parseInt(e,16))},Jt=function(){return{type:"any",location:ru()}},Qt=function(e){return[e,ru()]},qt=function(e){return parseInt(e,10)},Xt=0,Kt=0,Zt=[{line:1,column:1}],eu=0,tu=[],uu=0;if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');a=o[t.startRule]}function ru(){return cu(Kt,Xt)}function nu(e,t){throw function(e,t){return new peg$SyntaxError(e,null,null,t)}(e,t=void 0!==t?t:cu(Kt,Xt))}function ou(e,t){return{type:"literal",text:e,ignoreCase:t}}function au(e,t,u){return{type:"class",parts:e,inverted:t,ignoreCase:u}}function iu(e){return{type:"other",description:e}}function su(t){var u,r=Zt[t];if(r)return r;if(t>=Zt.length)u=Zt.length-1;else for(u=t;!Zt[--u];);for(r={line:(r=Zt[u]).line,column:r.column};ueu&&(eu=Xt,tu=[]),tu.push(e))}function pu(){var t,u,n,o,a,c;if(t=Xt,Vu(),u=Xt,n=function(){var t,u,n,o;return t=Xt,123===e.charCodeAt(Xt)?(u=i,Xt++):(u=r,0===uu&&lu(ne)),u!==r&&(n=Uu())!==r?(125===e.charCodeAt(Xt)?(o=s,Xt++):(o=r,0===uu&&lu(oe)),o!==r&&zu()!==r?(Kt=t,t=pt(n)):(Xt=t,t=r)):(Xt=t,t=r),t}(),n!==r?(o=Vu(),u=n):(Xt=u,u=r),u===r&&(u=null),n=Xt,o=function(){var e,t;return e=Xt,(t=Uu())!==r&&zu()!==r?(Kt=e,e=ft(t)):(Xt=e,e=r),e}(),o!==r?(a=Vu(),n=o):(Xt=n,n=r),n===r&&(n=null),o=[],a=Xt,(c=fu())!==r?(Vu(),a=c):(Xt=a,a=r),a!==r)for(;a!==r;)o.push(a),a=Xt,(c=fu())!==r?(Vu(),a=c):(Xt=a,a=r);else o=r;return o!==r?(Kt=t,t=lt(u,n,o)):(Xt=t,t=r),t}function fu(){var t,u,n,o,a;return t=Xt,(u=xu())!==r?(Vu(),n=Xt,(o=Ru())!==r?(Vu(),n=o):(Xt=n,n=r),n===r&&(n=null),61===e.charCodeAt(Xt)?(o=c,Xt++):(o=r,0===uu&&lu(ae)),o!==r?(Vu(),(a=Au())!==r&&zu()!==r?(Kt=t,t=At(u,n,a)):(Xt=t,t=r)):(Xt=t,t=r)):(Xt=t,t=r),t}function Au(){var t,u,n,o,a,i;if(t=Xt,(u=hu())!==r){for(n=[],o=Xt,Vu(),47===e.charCodeAt(Xt)?(a=l,Xt++):(a=r,0===uu&&lu(ie)),a!==r?(Vu(),(i=hu())!==r?o=i:(Xt=o,o=r)):(Xt=o,o=r);o!==r;)n.push(o),o=Xt,Vu(),47===e.charCodeAt(Xt)?(a=l,Xt++):(a=r,0===uu&&lu(ie)),a!==r?(Vu(),(i=hu())!==r?o=i:(Xt=o,o=r)):(Xt=o,o=r);Kt=t,t=ht(u,n)}else Xt=t,t=r;return t}function hu(){var e,t,u,n;return e=Xt,t=function(){var e,t,u,n,o;if(e=Xt,(t=du())!==r){for(u=[],n=Xt,Vu(),(o=du())!==r?n=o:(Xt=n,n=r);n!==r;)u.push(n),n=Xt,Vu(),(o=du())!==r?n=o:(Xt=n,n=r);Kt=e,e=gt(t,u)}else Xt=e,e=r;return e}(),t!==r?(u=Xt,Vu(),(n=Uu())!==r?u=n:(Xt=u,u=r),u===r&&(u=null),Kt=e,e=dt(t,u)):(Xt=e,e=r),e}function du(){var t,u,n,o;return t=Xt,u=function(){var t,u;return t=Xt,64===e.charCodeAt(Xt)?(u=p,Xt++):(u=r,0===uu&&lu(se)),u!==r&&(Kt=t,u=mt()),t=u}(),u!==r?((n=gu())===r&&(n=null),(o=Eu())!==r?(Kt=t,t=Et(u,n,o)):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=Xt,(u=gu())!==r?(n=Vu(),(o=Eu())!==r?(Kt=t,t=Ct(u,o)):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=Eu())),t}function gu(){var t,u,n;return t=Xt,(u=xu())!==r?(Vu(),58===e.charCodeAt(Xt)?(n=f,Xt++):(n=r,0===uu&&lu(ce)),n!==r?(Kt=t,t=Ft(u)):(Xt=t,t=r)):(Xt=t,t=r),t}function Eu(){var t,u,n;return t=Xt,u=function(){var t;return t=e.charAt(Xt),U.test(t)?Xt++:(t=r,0===uu&&lu(le)),t}(),u!==r?(Vu(),(n=Cu())!==r?(Kt=t,t=vt(u,n)):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=Cu()),t}function Cu(){var t,u,n;return t=Xt,(u=Fu())!==r?(Vu(),n=function(){var t;return t=e.charAt(Xt),G.test(t)?Xt++:(t=r,0===uu&&lu(pe)),t}(),n!==r?(Kt=t,t=_t(u,n)):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=function(){var t,u,n,o,a,i,s;return t=Xt,(u=Fu())!==r?(Vu(),124===e.charCodeAt(Xt)?(n=A,Xt++):(n=r,0===uu&&lu(fe)),n!==r?(Vu(),o=function(){var t,u,n,o;return t=Xt,(u=mu())===r&&(u=null),Vu(),e.substr(Xt,2)===d?(n=d,Xt+=2):(n=r,0===uu&&lu(he)),n!==r?(Vu(),(o=mu())===r&&(o=null),Kt=t,t=Bt(u,o)):(Xt=t,t=r),t===r&&(t=Xt,(u=mu())!==r&&(Kt=t,u=Dt(u)),t=u),t}(),o!==r?(Vu(),a=Xt,44===e.charCodeAt(Xt)?(i=h,Xt++):(i=r,0===uu&&lu(Ae)),i!==r?(Vu(),(s=Au())!==r?(Vu(),a=s):(Xt=a,a=r)):(Xt=a,a=r),a===r&&(a=null),124===e.charCodeAt(Xt)?(i=A,Xt++):(i=r,0===uu&&lu(fe)),i!==r?(Kt=t,t=$t(u,o,a)):(Xt=t,t=r)):(Xt=t,t=r)):(Xt=t,t=r)):(Xt=t,t=r),t}(),t===r&&(t=Fu())),t}function mu(){var t,u;return t=Xt,u=function(){var t,u,n,o;if(t=Xt,u=Xt,n=[],(o=Hu())!==r)for(;o!==r;)n.push(o),o=Hu();else n=r;return(u=n!==r?e.substring(u,Xt):n)!==r&&(Kt=t,u=qt(u)),t=u}(),u!==r&&(Kt=t,u=yt(u)),(t=u)===r&&(t=Xt,(u=xu())!==r&&(Kt=t,u=St(u)),(t=u)===r&&(t=Xt,(u=Uu())!==r&&(Kt=t,u=xt(u)),t=u)),t}function Fu(){var t,u,n,o;return t=function(){var t,u,n;return uu++,t=Xt,(u=Ru())!==r?(105===e.charCodeAt(Xt)?(n=B,Xt++):(n=r,0===uu&&lu(we)),n===r&&(n=null),Kt=t,t=Lt(u,n)):(Xt=t,t=r),uu--,t===r&&(u=r,0===uu&&lu(Te)),t}(),t===r&&(t=function(){var t,u,n,o,a,i;if(uu++,t=Xt,91===e.charCodeAt(Xt)?(u=S,Xt++):(u=r,0===uu&&lu(Ue)),u!==r){for(94===e.charCodeAt(Xt)?(n=x,Xt++):(n=r,0===uu&&lu(Ge)),n===r&&(n=null),o=[],(a=Tu())===r&&(a=wu());a!==r;)o.push(a),(a=Tu())===r&&(a=wu());93===e.charCodeAt(Xt)?(a=b,Xt++):(a=r,0===uu&&lu(Ve)),a!==r?(105===e.charCodeAt(Xt)?(i=B,Xt++):(i=r,0===uu&&lu(we)),i===r&&(i=null),Kt=t,t=Mt(n,o,i)):(Xt=t,t=r)}else Xt=t,t=r;return uu--,t===r&&(u=r,0===uu&&lu(je)),t}(),t===r&&(t=function(){var t,u;return t=Xt,46===e.charCodeAt(Xt)?(u=H,Xt++):(u=r,0===uu&&lu(at)),u!==r&&(Kt=t,u=Jt()),t=u}(),t===r&&(t=function(){var t,u,n,o,a,i,s;return t=Xt,(u=xu())!==r?(n=Xt,uu++,o=Xt,a=Vu(),i=Xt,(s=Ru())!==r?i=s=[s,Vu()]:(Xt=i,i=r),i===r&&(i=null),61===e.charCodeAt(Xt)?(s=c,Xt++):(s=r,0===uu&&lu(ae)),s!==r?o=a=[a,i,s]:(Xt=o,o=r),uu--,o===r?n=void 0:(Xt=n,n=r),n!==r?(Kt=t,t=Pt(u)):(Xt=t,t=r)):(Xt=t,t=r),t}(),t===r&&(t=function(){var t,u,n;return t=Xt,u=function(){var t;return t=e.charAt(Xt),V.test(t)?Xt++:(t=r,0===uu&&lu(Ee)),t}(),u!==r?(Vu(),(n=Uu())!==r?(Kt=t,t=Rt(u,n)):(Xt=t,t=r)):(Xt=t,t=r),t}(),t===r&&(t=Xt,40===e.charCodeAt(Xt)?(u=g,Xt++):(u=r,0===uu&&lu(de)),u!==r?(Vu(),(n=Au())!==r?(Vu(),41===e.charCodeAt(Xt)?(o=E,Xt++):(o=r,0===uu&&lu(ge)),o!==r?(Kt=t,t=bt(n)):(Xt=t,t=r)):(Xt=t,t=r)):(Xt=t,t=r)))))),t}function vu(){var t;return e.length>Xt?(t=e.charAt(Xt),Xt++):(t=r,0===uu&&lu(Ce)),t}function _u(){var t;return uu++,t=e.charAt(Xt),z.test(t)?Xt++:(t=r,0===uu&&lu(Fe)),uu--,t===r&&0===uu&&lu(me),t}function $u(){var t;return t=e.charAt(Xt),Y.test(t)?Xt++:(t=r,0===uu&&lu(ve)),t}function Bu(){var t;return uu++,10===e.charCodeAt(Xt)?(t=C,Xt++):(t=r,0===uu&&lu($e)),t===r&&(e.substr(Xt,2)===m?(t=m,Xt+=2):(t=r,0===uu&&lu(Be)),t===r&&(t=e.charAt(Xt),W.test(t)?Xt++:(t=r,0===uu&&lu(De)))),uu--,t===r&&0===uu&&lu(_e),t}function Du(){var t;return uu++,(t=function(){var t,u,n,o,a,i;if(t=Xt,e.substr(Xt,2)===F?(u=F,Xt+=2):(u=r,0===uu&&lu(Se)),u!==r){for(n=[],o=Xt,a=Xt,uu++,e.substr(Xt,2)===v?(i=v,Xt+=2):(i=r,0===uu&&lu(xe)),uu--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=vu())!==r?o=a=[a,i]:(Xt=o,o=r);o!==r;)n.push(o),o=Xt,a=Xt,uu++,e.substr(Xt,2)===v?(i=v,Xt+=2):(i=r,0===uu&&lu(xe)),uu--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=vu())!==r?o=a=[a,i]:(Xt=o,o=r);e.substr(Xt,2)===v?(o=v,Xt+=2):(o=r,0===uu&&lu(xe)),o!==r?t=u=[u,n,o]:(Xt=t,t=r)}else Xt=t,t=r;return t}())===r&&(t=Su()),uu--,t===r&&0===uu&&lu(ye),t}function yu(){var t,u,n,o,a,i;if(t=Xt,e.substr(Xt,2)===F?(u=F,Xt+=2):(u=r,0===uu&&lu(Se)),u!==r){for(n=[],o=Xt,a=Xt,uu++,e.substr(Xt,2)===v?(i=v,Xt+=2):(i=r,0===uu&&lu(xe)),i===r&&(i=$u()),uu--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=vu())!==r?o=a=[a,i]:(Xt=o,o=r);o!==r;)n.push(o),o=Xt,a=Xt,uu++,e.substr(Xt,2)===v?(i=v,Xt+=2):(i=r,0===uu&&lu(xe)),i===r&&(i=$u()),uu--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=vu())!==r?o=a=[a,i]:(Xt=o,o=r);e.substr(Xt,2)===v?(o=v,Xt+=2):(o=r,0===uu&&lu(xe)),o!==r?t=u=[u,n,o]:(Xt=t,t=r)}else Xt=t,t=r;return t}function Su(){var t,u,n,o,a,i;if(t=Xt,e.substr(Xt,2)===_?(u=_,Xt+=2):(u=r,0===uu&&lu(be)),u!==r){for(n=[],o=Xt,a=Xt,uu++,i=$u(),uu--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=vu())!==r?o=a=[a,i]:(Xt=o,o=r);o!==r;)n.push(o),o=Xt,a=Xt,uu++,i=$u(),uu--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=vu())!==r?o=a=[a,i]:(Xt=o,o=r);t=u=[u,n]}else Xt=t,t=r;return t}function xu(){var e,t,u,n;if(uu++,e=Xt,(t=bu())!==r){for(u=[],n=Pu();n!==r;)u.push(n),n=Pu();Kt=e,e=Ot(t,u)}else Xt=e,e=r;return uu--,e===r&&(t=r,0===uu&&lu(Pe)),e}function bu(){var t,u,n;return t=e.charAt(Xt),J.test(t)?Xt++:(t=r,0===uu&&lu(Re)),t===r&&(t=Xt,92===e.charCodeAt(Xt)?(u=$,Xt++):(u=r,0===uu&&lu(Oe)),u!==r&&(n=ku())!==r?t=n:(Xt=t,t=r)),t}function Pu(){var t;return(t=bu())===r&&(t=e.charAt(Xt),Q.test(t)?Xt++:(t=r,0===uu&&lu(Le))),t}function Ru(){var t,u,n,o;if(uu++,t=Xt,34===e.charCodeAt(Xt)?(u=D,Xt++):(u=r,0===uu&&lu(Ie)),u!==r){for(n=[],o=Ou();o!==r;)n.push(o),o=Ou();34===e.charCodeAt(Xt)?(o=D,Xt++):(o=r,0===uu&&lu(Ie)),o!==r?(Kt=t,t=Tt(n)):(Xt=t,t=r)}else Xt=t,t=r;if(t===r)if(t=Xt,39===e.charCodeAt(Xt)?(u=y,Xt++):(u=r,0===uu&&lu(Ne)),u!==r){for(n=[],o=Lu();o!==r;)n.push(o),o=Lu();39===e.charCodeAt(Xt)?(o=y,Xt++):(o=r,0===uu&&lu(Ne)),o!==r?(Kt=t,t=wt(n)):(Xt=t,t=r)}else Xt=t,t=r;return uu--,t===r&&(u=r,0===uu&&lu(Me)),t}function Ou(){var t,u,n,o;return t=Xt,u=Xt,n=Xt,uu++,o=e.charAt(Xt),q.test(o)?Xt++:(o=r,0===uu&&lu(ke)),uu--,o===r?n=void 0:(Xt=n,n=r),n!==r&&(o=vu())!==r?u=n=[n,o]:(Xt=u,u=r),(t=u!==r?e.substring(t,Xt):u)===r&&(t=Xt,92===e.charCodeAt(Xt)?(u=$,Xt++):(u=r,0===uu&&lu(Oe)),u!==r&&(n=Iu())!==r?t=n:(Xt=t,t=r),t===r&&(t=Mu())),t}function Lu(){var t,u,n,o;return t=Xt,u=Xt,n=Xt,uu++,o=e.charAt(Xt),X.test(o)?Xt++:(o=r,0===uu&&lu(He)),uu--,o===r?n=void 0:(Xt=n,n=r),n!==r&&(o=vu())!==r?u=n=[n,o]:(Xt=u,u=r),(t=u!==r?e.substring(t,Xt):u)===r&&(t=Xt,92===e.charCodeAt(Xt)?(u=$,Xt++):(u=r,0===uu&&lu(Oe)),u!==r&&(n=Iu())!==r?t=n:(Xt=t,t=r),t===r&&(t=Mu())),t}function Tu(){var t,u,n,o;return t=Xt,(u=wu())!==r?(45===e.charCodeAt(Xt)?(n=P,Xt++):(n=r,0===uu&&lu(ze)),n!==r&&(o=wu())!==r?(Kt=t,t=It(u,o)):(Xt=t,t=r)):(Xt=t,t=r),t}function wu(){var t,u,n,o;return t=Xt,u=Xt,n=Xt,uu++,o=e.charAt(Xt),K.test(o)?Xt++:(o=r,0===uu&&lu(Ye)),uu--,o===r?n=void 0:(Xt=n,n=r),n!==r&&(o=vu())!==r?u=n=[n,o]:(Xt=u,u=r),(t=u!==r?e.substring(t,Xt):u)===r&&(t=Xt,92===e.charCodeAt(Xt)?(u=$,Xt++):(u=r,0===uu&&lu(Oe)),u!==r&&(n=Iu())!==r?t=n:(Xt=t,t=r),t===r&&(t=Mu())),t}function Mu(){var t,u;return t=Xt,92===e.charCodeAt(Xt)?(u=$,Xt++):(u=r,0===uu&&lu(Oe)),u!==r&&Bu()!==r?(Kt=t,t=Nt()):(Xt=t,t=r),t}function Iu(){var t,u,n,o;return t=function(){var t;return(t=Nu())===r&&(t=function(){var t,u,n,o;return t=Xt,u=Xt,n=Xt,uu++,o=function(){var t;return(t=Nu())===r&&(t=e.charAt(Xt),ee.test(t)?Xt++:(t=r,0===uu&&lu(tt))),t}(),o===r&&(o=$u()),uu--,o===r?n=void 0:(Xt=n,n=r),n!==r&&(o=vu())!==r?u=n=[n,o]:(Xt=u,u=r),t=u!==r?e.substring(t,Xt):u}()),t}(),t===r&&(t=Xt,48===e.charCodeAt(Xt)?(u=R,Xt++):(u=r,0===uu&&lu(We)),u!==r?(n=Xt,uu++,o=Hu(),uu--,o===r?n=void 0:(Xt=n,n=r),n!==r?(Kt=t,t=kt()):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=function(){var t,u,n,o,a,i;return t=Xt,120===e.charCodeAt(Xt)?(u=N,Xt++):(u=r,0===uu&&lu(ut)),u!==r?(n=Xt,o=Xt,(a=ju())!==r&&(i=ju())!==r?o=a=[a,i]:(Xt=o,o=r),(n=o!==r?e.substring(n,Xt):o)!==r?(Kt=t,t=Yt(n)):(Xt=t,t=r)):(Xt=t,t=r),t}(),t===r&&(t=ku()))),t}function Nu(){var t,u;return t=e.charAt(Xt),Z.test(t)?Xt++:(t=r,0===uu&&lu(Je)),t===r&&(t=Xt,98===e.charCodeAt(Xt)?(u=O,Xt++):(u=r,0===uu&&lu(Qe)),u!==r&&(Kt=t,u=Ht()),(t=u)===r&&(t=Xt,102===e.charCodeAt(Xt)?(u=L,Xt++):(u=r,0===uu&&lu(qe)),u!==r&&(Kt=t,u=jt()),(t=u)===r&&(t=Xt,110===e.charCodeAt(Xt)?(u=T,Xt++):(u=r,0===uu&&lu(Xe)),u!==r&&(Kt=t,u=Ut()),(t=u)===r&&(t=Xt,114===e.charCodeAt(Xt)?(u=w,Xt++):(u=r,0===uu&&lu(Ke)),u!==r&&(Kt=t,u=Gt()),(t=u)===r&&(t=Xt,116===e.charCodeAt(Xt)?(u=M,Xt++):(u=r,0===uu&&lu(Ze)),u!==r&&(Kt=t,u=Vt()),(t=u)===r&&(t=Xt,118===e.charCodeAt(Xt)?(u=I,Xt++):(u=r,0===uu&&lu(et)),u!==r&&(Kt=t,u=zt()),t=u)))))),t}function ku(){var t,u,n,o,a,i,s,c;return t=Xt,117===e.charCodeAt(Xt)?(u=k,Xt++):(u=r,0===uu&&lu(rt)),u!==r?(n=Xt,o=Xt,(a=ju())!==r&&(i=ju())!==r&&(s=ju())!==r&&(c=ju())!==r?o=a=[a,i,s,c]:(Xt=o,o=r),(n=o!==r?e.substring(n,Xt):o)!==r?(Kt=t,t=Wt(n)):(Xt=t,t=r)):(Xt=t,t=r),t}function Hu(){var t;return t=e.charAt(Xt),te.test(t)?Xt++:(t=r,0===uu&&lu(nt)),t}function ju(){var t;return t=e.charAt(Xt),ue.test(t)?Xt++:(t=r,0===uu&&lu(ot)),t}function Uu(){var t,u,n,o;return uu++,t=Xt,123===e.charCodeAt(Xt)?(u=i,Xt++):(u=r,0===uu&&lu(ne)),u!==r?(n=function(){var e,t;return e=Xt,t=Gu(),Kt=e,e=t=Qt(t)}(),125===e.charCodeAt(Xt)?(o=s,Xt++):(o=r,0===uu&&lu(oe)),o!==r?t=n:(Xt=t,t=r)):(Xt=t,t=r),uu--,t===r&&(u=r,0===uu&&lu(it)),t}function Gu(){var t,u,n,o,a,c;if(t=Xt,u=[],n=[],o=Xt,a=Xt,uu++,c=e.charAt(Xt),re.test(c)?Xt++:(c=r,0===uu&&lu(st)),uu--,c===r?a=void 0:(Xt=a,a=r),a!==r&&(c=vu())!==r?o=a=[a,c]:(Xt=o,o=r),o!==r)for(;o!==r;)n.push(o),o=Xt,a=Xt,uu++,c=e.charAt(Xt),re.test(c)?Xt++:(c=r,0===uu&&lu(st)),uu--,c===r?a=void 0:(Xt=a,a=r),a!==r&&(c=vu())!==r?o=a=[a,c]:(Xt=o,o=r);else n=r;for(n===r&&(n=Xt,123===e.charCodeAt(Xt)?(o=i,Xt++):(o=r,0===uu&&lu(ne)),o!==r?(a=Gu(),125===e.charCodeAt(Xt)?(c=s,Xt++):(c=r,0===uu&&lu(oe)),c!==r?n=o=[o,a,c]:(Xt=n,n=r)):(Xt=n,n=r));n!==r;){if(u.push(n),n=[],o=Xt,a=Xt,uu++,c=e.charAt(Xt),re.test(c)?Xt++:(c=r,0===uu&&lu(st)),uu--,c===r?a=void 0:(Xt=a,a=r),a!==r&&(c=vu())!==r?o=a=[a,c]:(Xt=o,o=r),o!==r)for(;o!==r;)n.push(o),o=Xt,a=Xt,uu++,c=e.charAt(Xt),re.test(c)?Xt++:(c=r,0===uu&&lu(st)),uu--,c===r?a=void 0:(Xt=a,a=r),a!==r&&(c=vu())!==r?o=a=[a,c]:(Xt=o,o=r);else n=r;n===r&&(n=Xt,123===e.charCodeAt(Xt)?(o=i,Xt++):(o=r,0===uu&&lu(ne)),o!==r?(a=Gu(),125===e.charCodeAt(Xt)?(c=s,Xt++):(c=r,0===uu&&lu(oe)),c!==r?n=o=[o,a,c]:(Xt=n,n=r)):(Xt=n,n=r))}return e.substring(t,Xt)}function Vu(){var e,t;for(e=[],(t=_u())===r&&(t=Bu())===r&&(t=Du());t!==r;)e.push(t),(t=_u())===r&&(t=Bu())===r&&(t=Du());return e}function zu(){var t,u,n,o;if(t=[],u=Xt,n=Vu(),59===e.charCodeAt(Xt)?(o=j,Xt++):(o=r,0===uu&&lu(ct)),o!==r?u=n=[n,o]:(Xt=u,u=r),u!==r)for(;u!==r;)t.push(u),u=Xt,n=Vu(),59===e.charCodeAt(Xt)?(o=j,Xt++):(o=r,0===uu&&lu(ct)),o!==r?u=n=[n,o]:(Xt=u,u=r);else t=r;return t===r&&(t=Xt,u=function(){var e,t;for(e=[],(t=_u())===r&&(t=yu());t!==r;)e.push(t),(t=_u())===r&&(t=yu());return e}(),(n=Su())===r&&(n=null),(o=Bu())!==r?t=u=[u,n,o]:(Xt=t,t=r),t===r&&(t=Xt,u=Vu(),n=function(){var t,u;return t=Xt,uu++,e.length>Xt?(u=e.charAt(Xt),Xt++):(u=r,0===uu&&lu(Ce)),uu--,u===r?t=void 0:(Xt=t,t=r),t}(),n!==r?t=u=[u,n]:(Xt=t,t=r))),t}var Yu=t.reservedWords||[];if((u=a())!==r&&Xt===e.length)return u;throw u!==r&&Xt0){for(t=1,u=1;t0&&(this.functions.shift()(),setTimeout((function(){n.run()}),0))}},o={};n.add((function(){r.start(),o.totalInputSize=0,o.totalParseTime=0})),e.forEach((function(e){n.add(function(e){return function(){r.benchmarkStart(e),o.parser=peg.generate(r.readFile("../examples/"+e.id+".pegjs"),u),o.benchmarkInputSize=0,o.benchmarkParseTime=0}}(e)),e.tests.forEach((function(u){n.add(function(e,u){return function(){r.testStart(e,u);for(var n=r.readFile(e.id+"/"+u.file),a=0,i=0;i\n \n ").concat(null!==r?"":"","\n ").concat(u,"\n ").concat(null!==r?"":"","\n \n \n \n ").concat((n/1024).toFixed(2),"\n \n  kB\n \n \n \n ").concat(o.toFixed(2),"\n \n  ms\n \n \n \n ").concat((n/1024/(o/1e3)).toFixed(2),"\n \n  kB/s\n \n \n "))}var u=parseInt($("#run-count").val(),10),r={cache:$("#cache").is(":checked")};isNaN(u)||u<=0?alert("Number of runs must be a positive integer."):Runner.run(benchmarks,u,r,{readFile:function(e){return $.ajax({type:"GET",url:"https://raw.githubusercontent.com/peggyjs/peggy/".concat(BRANCH,"/benchmark/").concat(e),dataType:"text",async:!1}).responseText},testStart:function(){},testFinish:function(e,u,r,n){t("individual",u.title,"https://github.com/peggyjs/peggy/blob/".concat(BRANCH,"/benchmark/").concat(e.id,"/").concat(u.file),r,n)},benchmarkStart:function(t){e.append("\n \n \n ").concat(t.title,' \n \n "\n '))},benchmarkFinish:function(e,u,r){t("benchmark-total",e.title+" total",null,u,r)},start:function(){$("#run-count, #cache, #run").attr("disabled","disabled"),e.show(),$("#results-table tr").slice(1).remove()},finish:function(e,u){t("total","Total",null,e,u),$.scrollTo("max",{axis:"y",duration:500}),$("#run-count, #cache, #run").removeAttr("disabled")}})})),$(document).ready((function(){return $("#run").focus()})),browser_stub})); \ No newline at end of file diff --git a/docs/js/test-bundle.min.js b/docs/js/test-bundle.min.js index f898139d..eeeea864 100644 --- a/docs/js/test-bundle.min.js +++ b/docs/js/test-bundle.min.js @@ -5,4 +5,4 @@ // Copyright (c) 2023- the Peggy authors // Licensed under the MIT License. -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("chai"),require("whatwg-url")):"function"==typeof define&&define.amd?define(["exports","chai","whatwg-url"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).browser={},e.chai,e.whatwgURL)}(this,(function(exports,require$$0,require$$0$1){var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},GrammarLocation$5=function(){function e(e,t){this.source=e,this.start=t}return e.prototype.toString=function(){return String(this.source)},e.prototype.offset=function(e){return{line:e.line+this.start.line-1,column:1===e.line?e.column+this.start.column-1:e.column,offset:e.offset+this.start.offset}},e.offsetStart=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.start):e.start},e.offsetEnd=function(e){return e.source&&"function"==typeof e.source.offset?e.source.offset(e.end):e.end},e}(),grammarLocation=GrammarLocation$5,__extends=commonjsGlobal&&commonjsGlobal.__extends||(extendStatics=function(e,t){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},extendStatics(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),extendStatics,GrammarLocation$4=grammarLocation,setProtoOf=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},GrammarError$5=function(e){function t(r,a,n){var o=e.call(this,r)||this;return setProtoOf(o,t.prototype),o.name="GrammarError",o.location=a,void 0===n&&(n=[]),o.diagnostics=n,o.stage=null,o.problems=[["error",r,a,n]],o}return __extends(t,e),t.prototype.toString=function(){var t=e.prototype.toString.call(this);this.location&&(t+="\n at ",void 0!==this.location.source&&null!==this.location.source&&(t+="".concat(this.location.source,":")),t+="".concat(this.location.start.line,":").concat(this.location.start.column));for(var r=0,a=this.diagnostics;r1&&e.delimiter&&n(e.delimiter)))},semantic_and:a,semantic_not:a,rule_ref:function(t){var r=asts$8.findRule(e,t.name);return r?n(r):void 0},literal:function(e){return""!==e.value},class:r,any:r});return n(t)},combine:function(e){return e.reduce((function(e,t){return e.topLevelInitializer=combinePossibleArrays(e.topLevelInitializer,t.topLevelInitializer),e.initializer=combinePossibleArrays(e.initializer,t.initializer),e.rules=e.rules.concat(t.rules),e}))}},asts_1=asts$8,opcodes={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,IF_LT:30,IF_GE:31,IF_LT_DYNAMIC:32,IF_GE_DYNAMIC:33,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29,SOURCE_MAP_PUSH:37,SOURCE_MAP_POP:38,SOURCE_MAP_LABEL_PUSH:39,SOURCE_MAP_LABEL_POP:40},opcodes_1=opcodes,visitor$a=visitor_1,asts$7=asts_1,GrammarError$4=grammarError,ALWAYS_MATCH$1=1,SOMETIMES_MATCH$1=0,NEVER_MATCH$1=-1;function inferenceMatchResult$1(e){function t(e){return e.match=SOMETIMES_MATCH$1}function r(e){return o(e.expression),e.match=ALWAYS_MATCH$1}function a(e){return e.match=o(e.expression)}function n(e,t){for(var r=e.length,a=0,n=0,s=0;s0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var o=visitor$a.build({rule:function(e){var t=void 0,r=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(t=e.match,e.match=o(e.expression),++r>6)throw new GrammarError$4("Infinity cycle detected when trying to evaluate node match result",e.location)}while(t!==e.match)}return e.match},named:a,choice:function(e){return e.match=n(e.alternatives,!0)},action:a,sequence:function(e){return e.match=n(e.elements,!1)},labeled:a,text:a,simple_and:a,simple_not:function(e){return e.match=-o(e.expression)},optional:r,zero_or_more:r,one_or_more:a,repeated:function(e){var t=o(e.expression),r=e.delimiter?o(e.delimiter):NEVER_MATCH$1,a=e.min?e.min:e.max;return"constant"!==a.type||"constant"!==e.max.type?e.match=SOMETIMES_MATCH$1:0===e.max.value||null!==e.max.value&&a.value>e.max.value?e.match=NEVER_MATCH$1:t===NEVER_MATCH$1?e.match=0===a.value?ALWAYS_MATCH$1:NEVER_MATCH$1:t===ALWAYS_MATCH$1?e.delimiter&&a.value>=2?e.match=r:e.match=ALWAYS_MATCH$1:e.delimiter&&a.value>=2?e.match=r===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===a.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:a,semantic_and:t,semantic_not:t,rule_ref:function(t){var r=asts$7.findRule(e,t.name);return t.match=o(r)},literal:function(e){var t=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},class:function(e){var t=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},any:t});o(e)}inferenceMatchResult$1.ALWAYS_MATCH=ALWAYS_MATCH$1,inferenceMatchResult$1.SOMETIMES_MATCH=SOMETIMES_MATCH$1,inferenceMatchResult$1.NEVER_MATCH=NEVER_MATCH$1;var inferenceMatchResult_1=inferenceMatchResult$1,__spreadArray$5=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n1?g(SOMETIMES_MATCH,[op$2.IF_ERROR],f([op$2.POP],e(t.slice(1),r)),[]):[])}(e.alternatives,t)},action:function(e,t){var r=l(t.env),a="sequence"!==e.expression.type||0===e.expression.elements.length,n=A(e.expression,{sp:t.sp+(a?1:0),env:r,action:e}),o=e.expression.match||0,s=a&&o!==NEVER_MATCH?u(!1,Object.keys(r),e):-1;return a?f([op$2.PUSH_CURR_POS],n,g(o,[op$2.IF_NOT_ERROR],f([op$2.LOAD_SAVED_POS,1],d(s,1,r,t.sp+2)),[]),[op$2.NIP]):n},sequence:function(e,t){return f([op$2.PUSH_CURR_POS],function t(r,a){if(r.length>0){var n=e.elements.length-r.length+1;return f(A(r[0],{sp:a.sp,env:a.env,pluck:a.pluck,action:null}),g(r[0].match||0,[op$2.IF_NOT_ERROR],t(r.slice(1),{sp:a.sp+1,env:a.env,pluck:a.pluck,action:a.action}),f(n>1?[op$2.POP_N,n]:[op$2.POP],[op$2.POP_CURR_POS],[op$2.PUSH_FAILED])))}if(a.pluck&&a.pluck.length>0)return f([op$2.PLUCK,e.elements.length+1,a.pluck.length],a.pluck.map((function(e){return a.sp-e})));if(a.action){var o=u(!1,Object.keys(a.env),a.action);return f([op$2.LOAD_SAVED_POS,e.elements.length],d(o,e.elements.length+1,a.env,a.sp))}return f([op$2.WRAP,e.elements.length],[op$2.NIP])}(e.elements,{sp:t.sp+1,env:t.env,pluck:[],action:t.action}))},labeled:function(e,r){var a=r.env,n=e.label,o=r.sp+1;n&&(a=l(r.env),r.env[n]=o),e.pick&&r.pluck.push(o);var s=A(e.expression,{sp:r.sp,env:a,action:null});return n&&e.labelLocation&&t&&"source-and-map"===t.output?f([op$2.SOURCE_MAP_LABEL_PUSH,o,c(n),p(e.labelLocation)],s,[op$2.SOURCE_MAP_LABEL_POP,o]):s},text:function(e,t){return f([op$2.PUSH_CURR_POS],A(e.expression,{sp:t.sp+1,env:l(t.env),action:null}),g(e.match||0,[op$2.IF_NOT_ERROR],f([op$2.POP],[op$2.TEXT]),[op$2.NIP]))},simple_and:function(e,t){return m(e.expression,!1,t)},simple_not:function(e,t){return m(e.expression,!0,t)},optional:function(e,t){return f(A(e.expression,{sp:t.sp,env:l(t.env),action:null}),g(-(e.expression.match||0),[op$2.IF_ERROR],f([op$2.POP],[op$2.PUSH_NULL]),[]))},zero_or_more:function(e,t){var r=A(e.expression,{sp:t.sp+1,env:l(t.env),action:null});return f([op$2.PUSH_EMPTY_ARRAY],r,h(r),[op$2.POP])},one_or_more:function(e,t){var r=A(e.expression,{sp:t.sp+1,env:l(t.env),action:null});return f([op$2.PUSH_EMPTY_ARRAY],r,g(e.expression.match||0,[op$2.IF_NOT_ERROR],f(h(r),[op$2.POP]),f([op$2.POP],[op$2.POP],[op$2.PUSH_FAILED])))},repeated:function(e,t){var r=e.min?e.min:e.max,a="constant"!==r.type||r.value>0,n="constant"!==e.max.type&&null!==e.max.value,o=a?2:1,s=e.min?x(e.min,t.env,t.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:t.sp},c=x(e.max,t.env,s.sp,o),i=A(e.expression,{sp:c.sp+o,env:l(t.env),action:null}),u=null!==e.delimiter?A(e.expression,{sp:c.sp+o+1,env:l(t.env),action:null}):i,p=function(e,t,r,a,n){return e?f([op$2.PUSH_CURR_POS],A(e,{sp:a.sp+n+1,env:l(a.env),action:null}),g(e.match||0,[op$2.IF_NOT_ERROR],f([op$2.POP],r,g(-t,[op$2.IF_ERROR],[op$2.POP,op$2.POP_CURR_POS,op$2.PUSH_FAILED],[op$2.NIP])),[op$2.NIP])):r}(e.delimiter,e.expression.match||0,u,t,o),d=b(p,e.max),m=n?b(i,e.max):i,$=f(a?[op$2.PUSH_CURR_POS]:[],[op$2.PUSH_EMPTY_ARRAY],m,h(d),[op$2.POP]);return f(s.pre,c.pre,a?function(e,t){var r="constant"===t.type?[op$2.IF_LT,t.value]:[op$2.IF_LT_DYNAMIC,t.sp||0];return f(e,g(SOMETIMES_MATCH,r,[op$2.POP,op$2.POP_CURR_POS,op$2.PUSH_FAILED],[op$2.NIP]))}($,r):$,c.post,s.post)},group:function(e,t){return A(e.expression,{sp:t.sp,env:l(t.env),action:null})},semantic_and:function(e,t){return $(e,!1,t)},semantic_not:function(e,t){return $(e,!0,t)},rule_ref:function(t){return[op$2.RULE,asts$6.indexOfRule(e,t.name)]},literal:function(e){if(e.value.length>0){var t=e.match||0,r=t===SOMETIMES_MATCH||t===ALWAYS_MATCH&&!e.ignoreCase?c(e.ignoreCase?e.value.toLowerCase():e.value):-1,a=t!==ALWAYS_MATCH?i({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):-1;return g(t,e.ignoreCase?[op$2.MATCH_STRING_IC,r]:[op$2.MATCH_STRING,r],e.ignoreCase?[op$2.ACCEPT_N,e.value.length]:[op$2.ACCEPT_STRING,r],[op$2.FAIL,a])}return[op$2.PUSH_EMPTY_STRING]},class:function(e){var t=e.match||0,r=t===SOMETIMES_MATCH?function(e){var t={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},r=JSON.stringify(t),n=a.findIndex((function(e){return JSON.stringify(e)===r}));return-1===n?a.push(t)-1:n}(e):-1,n=t!==ALWAYS_MATCH?i({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):-1;return g(t,[op$2.MATCH_CHAR_CLASS,r],[op$2.ACCEPT_N,1],[op$2.FAIL,n])},any:function(e){var t=e.match||0,r=t!==ALWAYS_MATCH?i({type:"any"}):-1;return g(t,[op$2.MATCH_ANY],[op$2.ACCEPT_N,1],[op$2.FAIL,r])}},t&&"source-and-map"===t.output&&Object.keys(v).forEach((function(e){var t=v[e];v[e]=function(e){for(var r=[],a=1;a>>=VLQ_BASE_SHIFT$1,a>0&&(t|=VLQ_CONTINUATION_BIT$1),r+=base64$5.encode(t)}while(a>0);return r};var util$8={};function getArg$1(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')}util$8.getArg=getArg$1;const supportsNullProto$1=!("__proto__"in Object.create(null));function identity$1(e){return e}function toSetString$1(e){return isProtoString$1(e)?"$"+e:e}function fromSetString$1(e){return isProtoString$1(e)?e.slice(1):e}function isProtoString$1(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp$1(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated$1(e,t){let r=e.generatedLine-t.generatedLine;return 0!==r?r:(r=e.generatedColumn-t.generatedColumn,0!==r?r:(r=strcmp$1(e.source,t.source),0!==r?r:(r=e.originalLine-t.originalLine,0!==r?r:(r=e.originalColumn-t.originalColumn,0!==r?r:strcmp$1(e.name,t.name)))))}util$8.toSetString=supportsNullProto$1?identity$1:toSetString$1,util$8.fromSetString=supportsNullProto$1?identity$1:fromSetString$1,util$8.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated$1;const PROTOCOL$1="http:",PROTOCOL_AND_HOST$1=`${PROTOCOL$1}//host`;function createSafeHandler$1(e){return t=>{const r=getURLType$1(t),a=buildSafeBase$1(t),n=new URL(t,a);e(n);const o=n.toString();return"absolute"===r?o:"scheme-relative"===r?o.slice(PROTOCOL$1.length):"path-absolute"===r?o.slice(PROTOCOL_AND_HOST$1.length):computeRelativeURL$1(a,o)}}function withBase$1(e,t){return new URL(e,t).toString()}function buildUniqueSegment$1(e,t){let r=0;for(;;){const a=e+r++;if(-1===t.indexOf(a))return a}}function buildSafeBase$1(e){const t=e.split("..").length-1,r=buildUniqueSegment$1("p",e);let a=`${PROTOCOL_AND_HOST$1}/`;for(let e=0;e0&&!a[a.length-1]&&a.pop();r.length>0&&a.length>0&&r[0]===a[0];)r.shift(),a.shift();return a.map((()=>"..")).concat(r).join("/")+t.search+t.hash}const ensureDirectory$1=createSafeHandler$1((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize$1=createSafeHandler$1((e=>{}));function join$1(e,t){const r=getURLType$1(t),a=getURLType$1(e);if(e=ensureDirectory$1(e),"absolute"===r)return withBase$1(t,void 0);if("absolute"===a)return withBase$1(t,e);if("scheme-relative"===r)return normalize$1(t);if("scheme-relative"===a)return withBase$1(t,withBase$1(e,PROTOCOL_AND_HOST$1)).slice(PROTOCOL$1.length);if("path-absolute"===r)return normalize$1(t);if("path-absolute"===a)return withBase$1(t,withBase$1(e,PROTOCOL_AND_HOST$1)).slice(PROTOCOL_AND_HOST$1.length);const n=buildSafeBase$1(t+e);return computeRelativeURL$1(n,withBase$1(t,withBase$1(e,n)))}function relative$1(e,t){const r=relativeIfPossible$1(e,t);return"string"==typeof r?r:normalize$1(t)}function relativeIfPossible$1(e,t){if(getURLType$1(e)!==getURLType$1(t))return null;const r=buildSafeBase$1(e+t),a=new URL(e,r),n=new URL(t,r);try{new URL("",n.toString())}catch(e){return null}return n.protocol!==a.protocol||n.user!==a.user||n.password!==a.password||n.hostname!==a.hostname||n.port!==a.port?null:computeRelativeURL$1(a,n)}util$8.normalize=normalize$1,util$8.join=join$1,util$8.relative=relative$1;var arraySet$1={};let ArraySet$4=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){const a=new e;for(let e=0,n=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&er||a==r&&o>=n||util$7.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$3=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter$1(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$7.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList$1.MappingList=MappingList$3;const base64VLQ$1=base64Vlq$1,util$6=util$8,ArraySet$3=arraySet$1.ArraySet,MappingList$2=mappingList$1.MappingList;let SourceMapGenerator$3=class e{constructor(e){e||(e={}),this._file=util$6.getArg(e,"file",null),this._sourceRoot=util$6.getArg(e,"sourceRoot",null),this._skipValidation=util$6.getArg(e,"skipValidation",!1),this._sources=new ArraySet$3,this._names=new ArraySet$3,this._mappings=new MappingList$2,this._sourcesContents=null}static fromSourceMap(t){const r=t.sourceRoot,a=new e({file:t.file,sourceRoot:r});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=r&&(t.source=util$6.relative(r,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),a.addMapping(t)})),t.sources.forEach((function(e){let n=e;null!=r&&(n=util$6.relative(r,e)),a._sources.has(n)||a._sources.add(n);const o=t.sourceContentFor(e);null!=o&&a.setSourceContent(e,o)})),a}addMapping(e){const t=util$6.getArg(e,"generated"),r=util$6.getArg(e,"original",null);let a=util$6.getArg(e,"source",null),n=util$6.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,a,n),null!=a&&(a=String(a),this._sources.has(a)||this._sources.add(a)),null!=n&&(n=String(n),this._names.has(n)||this._names.add(n)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:r&&r.line,originalColumn:r&&r.column,source:a,name:n})}setSourceContent(e,t){let r=e;null!=this._sourceRoot&&(r=util$6.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$6.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[util$6.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,r){let a=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');a=e.file}const n=this._sourceRoot;null!=n&&(a=util$6.relative(n,a));const o=this._mappings.toArray().length>0?new ArraySet$3:this._sources,s=new ArraySet$3;this._mappings.unsortedForEach((function(t){if(t.source===a&&null!=t.originalLine){const a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=r&&(t.source=util$6.join(r,t.source)),null!=n&&(t.source=util$6.relative(n,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}const c=t.source;null==c||o.has(c)||o.add(c);const i=t.name;null==i||s.has(i)||s.add(i)}),this),this._sources=o,this._names=s,e.sources.forEach((function(t){const a=e.sourceContentFor(t);null!=a&&(null!=r&&(t=util$6.join(r,t)),null!=n&&(t=util$6.relative(n,t)),this.setSourceContent(t,a))}),this)}_validateMapping(e,t,r,a){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!a);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:a}))}_serializeMappings(){let e,t,r,a,n=0,o=1,s=0,c=0,i=0,u=0,p="";const l=this._mappings.toArray();for(let f=0,g=l.length;f0){if(!util$6.compareByGeneratedPositionsInflated(t,l[f-1]))continue;e+=","}e+=base64VLQ$1.encode(t.generatedColumn-n),n=t.generatedColumn,null!=t.source&&(a=this._sources.indexOf(t.source),e+=base64VLQ$1.encode(a-u),u=a,e+=base64VLQ$1.encode(t.originalLine-1-c),c=t.originalLine-1,e+=base64VLQ$1.encode(t.originalColumn-s),s=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=base64VLQ$1.encode(r-i),i=r)),p+=e}return p}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$6.relative(t,e));const r=util$6.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$3.prototype._version=3,sourceMapGenerator$1.SourceMapGenerator=SourceMapGenerator$3;var sourceNode$1={};const SourceMapGenerator$2=sourceMapGenerator$1.SourceMapGenerator,util$5=util$8,REGEX_NEWLINE$1=/(\r?\n)/,NEWLINE_CODE$1=10,isSourceNode$1="$$$isSourceNode$$$";let SourceNode$4=class e{constructor(e,t,r,a,n){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==n?null:n,this[isSourceNode$1]=!0,null!=a&&this.add(a)}static fromStringWithSourceMap(t,r,a){const n=new e,o=t.split(REGEX_NEWLINE$1);let s=0;const c=function(){return e()+(e()||"");function e(){return s=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode$1]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let r=0,a=this.children.length;r0){for(t=[],r=0;r' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.sourceNode=function(e,t,r){var a=GrammarLocation$3.offsetStart(e);return new SourceNode$3(a.line,a.column?a.column-1:null,String(e.source),t,r)},e.prototype.push=function(t){++this.sp>this.maxSp&&(this.maxSp=this.sp);var r=this.labels[this.sp],a=[this.name(this.sp)," = ",t,";"];if(r){if(this.sourceMapStack.length){var n=e.sourceNode(r.location,a.splice(0,2),r.label),o=this.sourceMapPopInternal(),s=o.parts,c=o.location,i=c.start.offsett.end.offset&&(r[2]={start:t.end,end:r[2].end,source:r[2].source})}this.sourceMapStack.push([e,e.length,t])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop();if(!e)throw new RangeError("Rule '".concat(this.ruleName,"': Attempting to pop an empty source map stack.\nBytecode: ").concat(this.bytecode));var t=e[0],r=e[1],a=e[2],n=t.splice(r).map((function(e){return e instanceof SourceNode$3?e:e+"\n"}));if(n.length){var o=GrammarLocation$3.offsetStart(a);t.push(new SourceNode$3(o.line,o.column-1,String(a.source),n))}return{parts:t,location:a}},e.prototype.sourceMapPop=function(e){var t=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&t.end.offset>2],n+=t[(3&e[o])<<4|e[o+1]>>4],n+=t[(15&e[o+1])<<2|e[o+2]>>6],n+=t[63&e[o+2]];return 1===r?(n+=t[e[a]>>2],n+=t[(3&e[a])<<4],n+="=="):2===r&&(n+=t[e[a]>>2],n+=t[(3&e[a])<<4|e[a+1]>>4],n+=t[(15&e[a+1])<<2],n+="="),n}utils$1.hex=hex$1,utils$1.stringEscape=stringEscape$2,utils$1.regexpClassEscape=regexpClassEscape$2,utils$1.base64=base64$4;var __spreadArray$4=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n0&&(t.forEach((function(e){n.push("var "+e+' = require("'+stringEscape$1(i[e])+'");')})),n.push("")),n.push(e,"","module.exports = "+a()+";"),n},es:function(){var a=Object.keys(i),n=r();return n.push(""),a.length>0&&(a.forEach((function(e){n.push("import "+e+' from "'+stringEscape$1(i[e])+'";')})),n.push("")),n.push(e,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),n},amd:function(){var t=Object.keys(i),n="["+t.map((function(e){return i[e]})).map((function(e){return'"'+stringEscape$1(e)+'"'})).join(", ")+"]",o=t.join(", ");return __spreadArray$4(__spreadArray$4([],r(),!0),["define("+n+", function("+o+") {",' "use strict";',"",e,"",u("return "+a()+";"),"});"],!1)},globals:function(){return __spreadArray$4(__spreadArray$4([],r(),!0),["(function(root) {",' "use strict";',"",e,"",u("root."+t.exportVar+" = "+a()+";"),"})(this);"],!1)},umd:function(){var n=Object.keys(i),o=n.map((function(e){return i[e]})),s="["+o.map((function(e){return'"'+stringEscape$1(e)+'"'})).join(", ")+"]",c=o.map((function(e){return'require("'+stringEscape$1(e)+'")'})).join(", "),p=n.join(", "),l=r();return l.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+s+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+c+");"),null!==t.exportVar&&l.push(" } else {"," root."+t.exportVar+" = factory();"),l.push(" }","})(this, function("+p+") {",' "use strict";',"",e,"",u("return "+a()+";"),"});"),l}}[t.format||"bare"]();return new SourceNode$2(null,null,t.grammarSource,n.map((function(e){return e instanceof SourceNode$2?e:e+"\n"})))}(function(){var i=[];if(e.topLevelInitializer)if(Array.isArray(e.topLevelInitializer))for(var $=0,h=e.topLevelInitializer;$ targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var offset_s = (this.location.source && (typeof this.location.source.offset === "function"))'," ? this.location.source.offset(s)"," : s;",' var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;'," if (src) {"," var e = this.location.end;"," var filler = peg$padEnd(\"\", offset_s.line.toString().length, ' ');"," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --\x3e " + loc + "\\n"',' + filler + " |\\n"',' + offset_s.line + " | " + line + "\\n"',' + filler + " | " + peg$padEnd("", s.column - 1, \' \')',' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/"/g, "\\\\\\"")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/\\]/g, "\\\\]")',' .replace(/\\^/g, "\\\\^")',' .replace(/-/g, "\\\\-")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&i.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");var b="{ "+c.map((function(e){return e+": "+d(e)})).join(", ")+" }",v=d(c[0]);if(i.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+b+";"," var peg$startRuleFunction = "+v+";","",new SourceNode$2(null,null,t.grammarSource,__spreadArray$4([r.map((function(e,t){return" var "+p(t)+' = "'+stringEscape$1(e)+'";'})).concat("",n.map((function(e,t){return" var "+l(t)+" = /^["+((r=e).inverted?"^":"")+r.value.map((function(e){return Array.isArray(e)?regexpClassEscape$1(e[0])+"-"+regexpClassEscape$1(e[1]):regexpClassEscape$1(e)})).join("")+"]/"+(r.ignoreCase?"i":"")+";";var r}))).concat("",o.map((function(e,t){return" var "+f(t)+" = "+function(e){switch(e.type){case"rule":return'peg$otherExpectation("'+stringEscape$1(e.value)+'")';case"literal":return'peg$literalExpectation("'+stringEscape$1(e.value)+'", '+e.ignoreCase+")";case"class":return"peg$classExpectation(["+e.value.map((function(e){return Array.isArray(e)?'["'+stringEscape$1(e[0])+'", "'+stringEscape$1(e[1])+'"]':'"'+stringEscape$1(e)+'"'})).join(", ")+"], "+e.inverted+", "+e.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(e)+")")}}(e)+";"}))).concat("").join("\n")],s.map((function(e,t){return wrapInSourceNode("\n var ".concat(g(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")})),!0)),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&i.push(" var peg$resultsCache = {};",""),t.trace&&i.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),i.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",' throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");'," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," if (pos >= peg$posDetailsCache.length) {"," p = peg$posDetailsCache.length - 1;"," } else {"," p = pos;"," while (!peg$posDetailsCache[--p]) {}"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos, offset) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," var res = {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };",' if (offset && peg$source && (typeof peg$source.offset === "function")) {'," res.start = peg$source.offset(res.start);"," res.end = peg$source.offset(res.end);"," }"," return res;"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach((function(n){i.push.apply(i,u(function(n){var o=[],s=n.bytecode,c=new Stack$1(n.name,"s","var",s),i=function t(n){var o=0,s=n.length,i=[],m=void 0;function $(e,r,a){var s=r+3,p=n[o+s-2],l=n[o+s-1],f=c.checkedIf(o,(function(){return o+=s+p,(a||t)(n.slice(o-p,o))}),l>0?function(){return o+=l,t(n.slice(o-l,o))}:null),g=f[0],d=f[1];i.push("if ("+e+") {"),i.push.apply(i,u(g)),l>0&&(i.push("} else {"),i.push.apply(i,u(d))),i.push("}")}function h(e,r,a){var s=r+3,u=1===a?"input.charAt(peg$currPos)":"input.substr(peg$currPos, "+a+")",p=null;n[o+s]===op$1.ACCEPT_N&&n[o+s+1]===a&&(i.push(c.push(u)),u=c.pop(),p=function(e){c.sp++;var r=t(e.slice(2));return r.unshift(1===a?"peg$currPos++;":"peg$currPos += "+a+";"),r}),$(e(u,null!==p),r,p)}for(var x=function(){switch(n[o]){case op$1.PUSH_EMPTY_STRING:i.push(c.push("''")),o++;break;case op$1.PUSH_CURR_POS:i.push(c.push("peg$currPos")),o++;break;case op$1.PUSH_UNDEFINED:i.push(c.push("undefined")),o++;break;case op$1.PUSH_NULL:i.push(c.push("null")),o++;break;case op$1.PUSH_FAILED:i.push(c.push("peg$FAILED")),o++;break;case op$1.PUSH_EMPTY_ARRAY:i.push(c.push("[]")),o++;break;case op$1.POP:c.pop(),o++;break;case op$1.POP_CURR_POS:i.push("peg$currPos = "+c.pop()+";"),o++;break;case op$1.POP_N:c.pop(n[o+1]),o+=2;break;case op$1.NIP:m=c.pop(),c.pop(),i.push(c.push(m)),o++;break;case op$1.APPEND:m=c.pop(),i.push(c.top()+".push("+m+");"),o++;break;case op$1.WRAP:i.push(c.push("["+c.pop(n[o+1]).join(", ")+"]")),o+=2;break;case op$1.TEXT:i.push(c.push("input.substring("+c.pop()+", peg$currPos)")),o++;break;case op$1.PLUCK:var s=n[o+3-1],x=3+s;m=n.slice(o+3,o+x),m=1===s?c.index(m[0]):"[ ".concat(m.map((function(e){return c.index(e)})).join(", ")," ]"),c.pop(n[o+1]),i.push(c.push(m)),o+=x;break;case op$1.IF:$(c.top(),0);break;case op$1.IF_ERROR:$(c.top()+" === peg$FAILED",0);break;case op$1.IF_NOT_ERROR:$(c.top()+" !== peg$FAILED",0);break;case op$1.IF_LT:$(c.top()+".length < "+n[o+1],1);break;case op$1.IF_GE:$(c.top()+".length >= "+n[o+1],1);break;case op$1.IF_LT_DYNAMIC:$(c.top()+".length < ("+c.index(n[o+1])+"|0)",1);break;case op$1.IF_GE_DYNAMIC:$(c.top()+".length >= ("+c.index(n[o+1])+"|0)",1);break;case op$1.WHILE_NOT_ERROR:S=c.top()+" !== peg$FAILED",_=n[o+2-1],E=c.checkedLoop(o,(function(){return o+=2+_,t(n.slice(o-_,o))})),i.push("while ("+S+") {"),i.push.apply(i,u(E)),i.push("}");break;case op$1.MATCH_ANY:$("input.length > peg$currPos",0);break;case op$1.MATCH_STRING:var b=n[o+1],v=r[b];h((function(e,t){return v.length>1?"".concat(e," === ").concat(p(b)):(e=t?"".concat(e,".charCodeAt(0)"):"input.charCodeAt(peg$currPos)","".concat(e," === ").concat(v.charCodeAt(0)))}),1,v.length);break;case op$1.MATCH_STRING_IC:var A=n[o+1];h((function(e){return"".concat(e,".toLowerCase() === ").concat(p(A))}),1,r[A].length);break;case op$1.MATCH_CHAR_CLASS:var y=n[o+1];h((function(e){return"".concat(l(y),".test(").concat(e,")")}),1,1);break;case op$1.ACCEPT_N:i.push(c.push(n[o+1]>1?"input.substr(peg$currPos, "+n[o+1]+")":"input.charAt(peg$currPos)")),i.push(n[o+1]>1?"peg$currPos += "+n[o+1]+";":"peg$currPos++;"),o+=2;break;case op$1.ACCEPT_STRING:i.push(c.push(p(n[o+1]))),i.push(r[n[o+1]].length>1?"peg$currPos += "+r[n[o+1]].length+";":"peg$currPos++;"),o+=2;break;case op$1.FAIL:i.push(c.push("peg$FAILED")),i.push("if (peg$silentFails === 0) { peg$fail("+f(n[o+1])+"); }"),o+=2;break;case op$1.LOAD_SAVED_POS:i.push("peg$savedPos = "+c.index(n[o+1])+";"),o+=2;break;case op$1.UPDATE_SAVED_POS:i.push("peg$savedPos = peg$currPos;"),o++;break;case op$1.CALL:m=function(e){var t=n[o+4-1];return g(n[o+1])+"("+n.slice(o+4,o+4+t).map((function(e){return c.index(e)})).join(", ")+")"}(),c.pop(n[o+2]),i.push(c.push(m)),o+=4+n[o+3];break;case op$1.RULE:i.push(c.push(d(e.rules[n[o+1]].name)+"()")),o+=2;break;case op$1.SILENT_FAILS_ON:i.push("peg$silentFails++;"),o++;break;case op$1.SILENT_FAILS_OFF:i.push("peg$silentFails--;"),o++;break;case op$1.SOURCE_MAP_PUSH:c.sourceMapPush(i,a[n[o+1]]),o+=2;break;case op$1.SOURCE_MAP_POP:c.sourceMapPop(),o++;break;case op$1.SOURCE_MAP_LABEL_PUSH:c.labels[n[o+1]]={label:r[n[o+2]],location:a[n[o+3]]},o+=4;break;case op$1.SOURCE_MAP_LABEL_POP:delete c.labels[n[o+1]],o+=2;break;default:throw new Error("Invalid opcode: "+n[o]+".")}var S,_,E};oc?-1:1:0}));for(var t="",r="",a=0;a=s.charCodeAt(0)?(e.splice(a--,1),e[a]=[t,r=c]):(t=s,r=c)}return e}function mergeCharacterClasses$1(e){var t=Object.create(null);e.rules.forEach((function(e){return t[e.name]=e.expression}));var r=Object.create(null),a=[function(e,a){if("class"===e.type&&!e.inverted)return a&&((e=__assign$1({},e)).parts=__spreadArray$3([],e.parts,!0)),e;if("literal"===e.type&&1===e.value.length)return{type:"class",parts:[e.value],inverted:!1,ignoreCase:e.ignoreCase,location:e.location};if("rule_ref"===e.type){var s=t[e.name];if(s){r[e.name]||(r[e.name]=!0,o(s));var c=n(s,!0);return c&&(c.location=e.location),c}}return null},visitor$7.build({choice:function(e){var t=null,r=!1;e.alternatives.forEach((function(a,s){var c;o(a);var i=n(a);i?t&&t.ignoreCase===i.ignoreCase?((c=t.parts).push.apply(c,i.parts),e.alternatives[s-1]=t,e.alternatives[s]=t,t.location={source:t.location.source,start:t.location.start,end:i.location.end},r=!0):t=i:t=null})),r&&(e.alternatives=e.alternatives.filter((function(e,t,r){return!t||e!==r[t-1]})),e.alternatives.forEach((function(t,r){"class"===t.type&&(t.parts=cleanParts(t.parts),1!==t.parts.length||Array.isArray(t.parts[0])||t.inverted||(e.alternatives[r]={type:"literal",value:t.parts[0],ignoreCase:t.ignoreCase,location:t.location}))})),1===e.alternatives.length&&cloneOver(e,e.alternatives[0]))},text:function(e){if(o(e.expression),"class"===e.expression.type||"literal"===e.expression.type){var t=e.location;cloneOver(e,e.expression),e.location=t}}})],n=a[0],o=a[1];e.rules.forEach((function(e){r[e.name]=!0,o(e.expression)}))}var mergeCharacterClasses_1=mergeCharacterClasses$1;function moveImports$1(e){Array.isArray(e.topLevelInitializer)&&(e.topLevelInitializer=e.topLevelInitializer.filter((function(e){return e.imports})).concat(e.topLevelInitializer.filter((function(e){return!e.imports}))))}var moveImports_1=moveImports$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,t,r){function a(e){var t={};return Object.keys(e).forEach((function(r){t[r]=e[r]})),t}function n(e,t){o(e.expression,a(t))}var o=visitor$6.build({rule:function(e){o(e.expression,{})},choice:function(e,t){e.alternatives.forEach((function(e){o(e,a(t))}))},action:n,labeled:function(e,t){var a=e.label;a&&Object.prototype.hasOwnProperty.call(t,a)&&r.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:t[a]}]),o(e.expression,t),t[e.label]=e.labelLocation},text:n,simple_and:n,simple_not:n,optional:n,zero_or_more:n,one_or_more:n,repeated:function(e,t){e.delimiter&&o(e.delimiter,a(t)),o(e.expression,a(t))},group:n});o(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,t,r){var a={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(a,e.name)?r.error('Rule "'.concat(e.name,'" is already defined'),e.nameLocation,[{message:"Original rule location",location:a[e.name]}]):a[e.name]=e.nameLocation}})(e)}var reportDuplicateRules_1=reportDuplicateRules$1,asts$3=asts_1,visitor$4=visitor_1;function reportInfiniteRecursion$1(e,t,r){var a=[],n=[],o=visitor$4.build({rule:function(e){a.push(e.name),o(e.expression),a.pop()},sequence:function(t){t.elements.every((function(t){return o(t),!asts$3.alwaysConsumesOnSuccess(e,t)}))},repeated:function(t){o(t.expression),t.delimiter&&!asts$3.alwaysConsumesOnSuccess(e,t.expression)&&o(t.delimiter)},rule_ref:function(t){n.push(t);var s=asts$3.findRule(e,t.name);if(-1!==a.indexOf(t.name))return a.push(t.name),void r.error("Possible infinite loop when parsing (left recursion: "+a.join(" -> ")+")",s.nameLocation,n.map((function(e,t,r){return{message:t+1!==r.length?"Step ".concat(t+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(t+1,": call itself without input consumption - left recursion"),location:e.location}})));s&&o(s),n.pop()}});o(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$2=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,t,r){var a=visitor$3.build({zero_or_more:function(t){asts$2.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},one_or_more:function(t){asts$2.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},repeated:function(t){if(t.delimiter&&a(t.delimiter),!(asts$2.alwaysConsumesOnSuccess(e,t.expression)||t.delimiter&&asts$2.alwaysConsumesOnSuccess(e,t.delimiter)))if(null===t.max.value)r.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",t.location);else{var n=t.min?t.min:t.max;r.warning("constant"===n.type&&"constant"===t.max.type?"An expression may not consume any input and may always match ".concat(t.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",t.location)}}});a(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts$1=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,t,r){visitor$2.build({rule_ref:function(t){asts$1.findRule(e,t.name)||r.error('Rule "'.concat(t.name,'" is not defined'),t.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,t,r){var a=visitor$1.build({action:function(e){a(e.expression,e)},labeled:function(e,t){e.pick&&t&&r.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:t.codeLocation}]),a(e.expression)}});a(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray$2=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n0:e&&"function"==typeof e.offset}var compiler$2={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,mergeCharacterClasses,inferenceMatchResult,moveImports],generate:[generateBytecode,generateJS]},compile:function(ast,passes,options){if(options=void 0!==options?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(0===options.allowedStartRules.length)throw new Error("Must have at least one start rule");var allRules=ast.rules.map((function(e){return e.name}));if(options.allowedStartRules.some((function(e){return"*"===e})))options.allowedStartRules=allRules;else for(var _i=0,_a=options.allowedStartRules;_i<_a.length;_i++){var rule=_a[_i];if(-1===allRules.indexOf(rule))throw new Error('Unknown start rule "'.concat(rule,'"'))}if(("source-and-map"===options.output||"source-with-inline-map"===options.output)&&!isSourceMapCapable(options.grammarSource))throw new Error("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps");var session=new Session$1(options);switch(Object.keys(passes).forEach((function(e){session.stage=e,session.info("Process stage ".concat(e)),passes[e].forEach((function(t){session.info("Process pass ".concat(e,".").concat(t.name)),t(ast,options,session)})),session.checkErrors()})),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;case"source-with-inline-map":if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not supported by this platform");var sourceMap=ast.code.toStringWithSourceMap(),encoder=new TextEncoder,b64=base64$3(encoder.encode(JSON.stringify(sourceMap.map.toJSON())));return sourceMap.code+"//# sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(b64,"\n");case"ast":return ast;default:throw new Error("Invalid output format: "+options.output+".")}}},compiler_1=compiler$2,OPS_TO_PREFIXED_TYPES={$:"text","&":"simple_and","!":"simple_not"},OPS_TO_SUFFIXED_TYPES={"?":"optional","*":"zero_or_more","+":"one_or_more"},OPS_TO_SEMANTIC_PREDICATE_TYPES={"&":"semantic_and","!":"semantic_not"};function peg$subclass(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function peg$SyntaxError(e,t,r,a){var n=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(n,peg$SyntaxError.prototype),n.expected=t,n.found=r,n.location=a,n.name="SyntaxError",n}function peg$padEnd(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,e+(r+=r.repeat(t)).slice(0,t))}function peg$parse(e,t){var r,a={},n=(t=void 0!==t?t:{}).grammarSource,o={Grammar:Ar},s=Ar,c="{",i="}",u="import",p=";",l=",",f="*",g="as",d="from",m="=",$="/",h="@",x=":",b="|",v="..",A="(",y=")",S="\n",_="\r\n",E="/*",T="*/",C="//",P="\\",w="i",R='"',L="'",F="[",O="^",B="]",M="-",D="0",I="b",k="f",j="n",N="r",U="t",q="v",G="x",H="u",z=".",W=/^[!$&]/,V=/^[*-+?]/,Y=/^[!&]/,Q=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,J=/^[\n\r\u2028\u2029]/,X=/^[\r\u2028-\u2029]/,K=/^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Z=/^[$0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F1\uA900-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,ee=/^[\n\r"\\\u2028-\u2029]/,te=/^[\n\r'\\\u2028-\u2029]/,re=/^[\n\r\\-\]\u2028-\u2029]/,ae=/^["'\\]/,ne=/^[0-9ux]/,oe=/^[0-9]/,se=/^[0-9a-f]/i,ce=/^[{}]/,ie=mr("{",!1),ue=mr("}",!1),pe=mr("import",!1),le=mr(";",!1),fe=mr(",",!1),ge=mr("*",!1),de=mr("as",!1),me=mr("from",!1),$e=mr("=",!1),he=mr("/",!1),xe=mr("@",!1),be=mr(":",!1),ve=$r(["!","$","&"],!1,!1),Ae=$r([["*","+"],"?"],!1,!1),ye=mr("|",!1),Se=mr("..",!1),_e=mr("(",!1),Ee=mr(")",!1),Te=$r(["!","&"],!1,!1),Ce={type:"any"},Pe=hr("whitespace"),we=$r(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),Re=$r(["\n","\r","\u2028","\u2029"],!1,!1),Le=hr("end of line"),Fe=mr("\n",!1),Oe=mr("\r\n",!1),Be=$r(["\r",["\u2028","\u2029"]],!1,!1),Me=hr("comment"),De=mr("/*",!1),Ie=mr("*/",!1),ke=mr("//",!1),je=hr("identifier"),Ne=$r([["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","Ɬ"],["Ʞ","ꞷ"],["ꟷ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭥ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Ue=mr("\\",!1),qe=$r(["$",["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["ୖ","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ః"],["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],["ഁ","ഃ"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ං","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠐","᠙"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭",["ᳲ","᳴"],["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["‌","‍"],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],["ꢀ","ꢁ"],["ꢴ","꣄"],["꣐","꣙"],["꣠","꣱"],["꤀","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),Ge=hr("literal"),He=mr("i",!1),ze=hr("string"),We=mr('"',!1),Ve=mr("'",!1),Ye=$r(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),Qe=$r(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),Je=hr("character class"),Xe=mr("[",!1),Ke=mr("^",!1),Ze=mr("]",!1),et=mr("-",!1),tt=$r(["\n","\r",["\\","]"],["\u2028","\u2029"]],!1,!1),rt=mr("0",!1),at=$r(['"',"'","\\"],!1,!1),nt=mr("b",!1),ot=mr("f",!1),st=mr("n",!1),ct=mr("r",!1),it=mr("t",!1),ut=mr("v",!1),pt=$r([["0","9"],"u","x"],!1,!1),lt=mr("x",!1),ft=mr("u",!1),gt=$r([["0","9"]],!1,!1),dt=$r([["0","9"],["a","f"]],!1,!0),mt=mr(".",!1),$t=hr("code block"),ht=$r(["{","}"],!1,!1),xt=function(e,t,r){return{type:"grammar",topLevelInitializer:e,initializer:t,rules:r,location:gr()}},bt=function(e,t){var r={type:"top_level_initializer",code:t[0],codeLocation:t[1],imports:!1,location:gr()};return e[0]?[{type:"top_level_initializer",code:e[0],codeLocation:e[1],imports:!0,location:gr()},r]:r},vt=function(e){return[e,gr()]},At=function(e){return-1===ia.indexOf(e[0])},yt=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:gr()}},St=function(e,t,r){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==t?{type:"named",name:t,expression:r,location:gr()}:r,location:gr()}},_t=function(e,t){return t.length>0?{type:"choice",alternatives:[e].concat(t),location:gr()}:e},Et=function(e,t){return null!==t?{type:"action",expression:e,code:t[0],codeLocation:t[1],location:gr()}:e},Tt=function(e,t){return t.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(t),location:gr()}:e},Ct=function(e,t,r){return r.type.startsWith("semantic_")&&dr('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==t?t[0]:null,labelLocation:null!==t?t[1]:e,pick:!0,expression:r,location:gr()}},Pt=function(e,t){return{type:"labeled",label:e[0],labelLocation:e[1],expression:t,location:gr()}},wt=function(){return gr()},Rt=function(e){return ia.indexOf(e[0])>=0&&dr("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},Lt=function(e,t){return{type:OPS_TO_PREFIXED_TYPES[e],expression:t,location:gr()}},Ft=function(e,t){return{type:OPS_TO_SUFFIXED_TYPES[t],expression:e,location:gr()}},Ot=function(e,t,r){var a=t[0],n=t[1];return"constant"===n.type&&0===n.value&&dr("The maximum count of repetitions of the rule must be > 0",n.location),{type:"repeated",min:a,max:n,expression:e,delimiter:r,location:gr()}},Bt=function(e,t){return[null!==e?e:{type:"constant",value:0},null!==t?t:{type:"constant",value:null}]},Mt=function(e){return[null,e]},Dt=function(e){return{type:"constant",value:e,location:gr()}},It=function(e){return{type:"variable",value:e[0],location:gr()}},kt=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:gr()}},jt=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:gr()}:e},Nt=function(e){return{type:"rule_ref",name:e[0],location:gr()}},Ut=function(e,t){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:t[0],codeLocation:t[1],location:gr()}},qt=function(e,t){return[e+t.join(""),gr()]},Gt=function(e,t){return{type:"literal",value:e,ignoreCase:null!==t,location:gr()}},Ht=function(e){return e.join("")},zt=function(e){return e.join("")},Wt=function(e,t,r){return{type:"class",parts:t.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==r,location:gr()}},Vt=function(t,r){return t.charCodeAt(0)>r.charCodeAt(0)&&dr("Invalid character range: "+e.substring(ir,cr)+"."),[t,r]},Yt=function(){return""},Qt=function(){return"\0"},Jt=function(){return"\b"},Xt=function(){return"\f"},Kt=function(){return"\n"},Zt=function(){return"\r"},er=function(){return"\t"},tr=function(){return"\v"},rr=function(e){return String.fromCharCode(parseInt(e,16))},ar=function(e){return String.fromCharCode(parseInt(e,16))},nr=function(){return{type:"any",location:gr()}},or=function(e){return[e,gr()]},sr=function(e){return parseInt(e,10)},cr=0,ir=0,ur=[{line:1,column:1}],pr=0,lr=[],fr=0;if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function gr(){return br(ir,cr)}function dr(e,t){throw function(e,t){return new peg$SyntaxError(e,null,null,t)}(e,t=void 0!==t?t:br(ir,cr))}function mr(e,t){return{type:"literal",text:e,ignoreCase:t}}function $r(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function hr(e){return{type:"other",description:e}}function xr(t){var r,a=ur[t];if(a)return a;if(t>=ur.length)r=ur.length-1;else for(r=t;!ur[--r];);for(a={line:(a=ur[r]).line,column:a.column};rpr&&(pr=cr,lr=[]),lr.push(e))}function Ar(){var t,r,n,o,s,u;if(t=cr,sa(),r=cr,n=function(){var t,r,n,o,s,u,p;return t=cr,123===e.charCodeAt(cr)?(r=c,cr++):(r=a,0===fr&&vr(ie)),r!==a?(123===e.charCodeAt(cr)?(n=c,cr++):(n=a,0===fr&&vr(ie)),n!==a?(o=function(){var t,r,n,o;for(t=cr,r=cr,n=[],o=yr();o!==a;)n.push(o),o=yr();return r=e.substring(r,cr),ir=t,t=r=vt(r)}(),s=na(),125===e.charCodeAt(cr)?(u=i,cr++):(u=a,0===fr&&vr(ue)),u!==a?(125===e.charCodeAt(cr)?(p=i,cr++):(p=a,0===fr&&vr(ue)),p!==a&&ca()!==a?(ir=t,t=bt(o,s)):(cr=t,t=a)):(cr=t,t=a)):(cr=t,t=a)):(cr=t,t=a),t}(),n!==a?(o=sa(),r=n):(cr=r,r=a),r===a&&(r=null),n=cr,o=function(){var e,t;return e=cr,(t=aa())!==a&&ca()!==a?(ir=e,e=yt(t)):(cr=e,e=a),e}(),o!==a?(s=sa(),n=o):(cr=n,n=a),n===a&&(n=null),o=[],s=cr,(u=Cr())!==a?(sa(),s=u):(cr=s,s=a),s!==a)for(;s!==a;)o.push(s),s=cr,(u=Cr())!==a?(sa(),s=u):(cr=s,s=a);else o=a;return o!==a?(ir=t,t=xt(r,n,o)):(cr=t,t=a),t}function yr(){var t,r,n,o,s,c,i,f,g;return t=cr,r=sa(),e.substr(cr,6)===u?(n=u,cr+=6):(n=a,0===fr&&vr(pe)),n!==a?(o=sa(),s=function(){var t,r,n,o,s,c;return(t=Tr())===a&&(t=Sr())===a&&(t=_r())===a&&(t=cr,(r=Tr())!==a?(n=sa(),44===e.charCodeAt(cr)?(o=l,cr++):(o=a,0===fr&&vr(fe)),o!==a?(s=sa(),(c=Sr())===a&&(c=_r()),c!==a?t=r=[r,n,o,s,c]:(cr=t,t=a)):(cr=t,t=a)):(cr=t,t=a)),t}(),s!==a?(c=sa(),i=function(){var t,r,n,o;return t=cr,e.substr(cr,4)===d?(r=d,cr+=4):(r=a,0===fr&&vr(me)),r!==a?(n=sa(),(o=Wr())!==a?t=r=[r,n,o]:(cr=t,t=a)):(cr=t,t=a),t}(),i!==a?(f=sa(),59===e.charCodeAt(cr)?(g=p,cr++):(g=a,0===fr&&vr(le)),g===a&&(g=null),t=r=[r,n,o,s,c,i,f,g]):(cr=t,t=a)):(cr=t,t=a)):(cr=t,t=a),t===a&&(t=cr,r=sa(),e.substr(cr,6)===u?(n=u,cr+=6):(n=a,0===fr&&vr(pe)),n!==a?(o=sa(),(s=Wr())!==a?(c=sa(),59===e.charCodeAt(cr)?(i=p,cr++):(i=a,0===fr&&vr(le)),i===a&&(i=null),t=r=[r,n,o,s,c,i]):(cr=t,t=a)):(cr=t,t=a)),t}function Sr(){var t,r,n,o,s,c;return t=cr,42===e.charCodeAt(cr)?(r=f,cr++):(r=a,0===fr&&vr(ge)),r!==a?(n=sa(),e.substr(cr,2)===g?(o=g,cr+=2):(o=a,0===fr&&vr(de)),o!==a?(s=sa(),(c=Tr())!==a?t=r=[r,n,o,s,c]:(cr=t,t=a)):(cr=t,t=a)):(cr=t,t=a),t}function _r(){var t,r,n,o,s,u,p,f;return t=cr,123===e.charCodeAt(cr)?(r=c,cr++):(r=a,0===fr&&vr(ie)),r!==a?(n=sa(),125===e.charCodeAt(cr)?(o=i,cr++):(o=a,0===fr&&vr(ue)),o!==a?t=r=[r,n,o]:(cr=t,t=a)):(cr=t,t=a),t===a&&(t=cr,123===e.charCodeAt(cr)?(r=c,cr++):(r=a,0===fr&&vr(ie)),r!==a?(n=sa(),o=function(){var t,r,n,o,s,c;for(t=cr,r=[],n=Er();n!==a;)r.push(n),n=cr,o=cr,s=sa(),44===e.charCodeAt(cr)?(c=l,cr++):(c=a,0===fr&&vr(fe)),c!==a?o=s=[s,c,sa()]:(cr=o,o=a),o!==a&&(o=Er())===a?(cr=n,n=a):n=o;return r.length<1?(cr=t,t=a):t=r,t}(),o!==a?(s=sa(),44===e.charCodeAt(cr)?(u=l,cr++):(u=a,0===fr&&vr(fe)),u===a&&(u=null),p=sa(),125===e.charCodeAt(cr)?(f=i,cr++):(f=a,0===fr&&vr(ue)),f!==a?t=r=[r,n,o,s,u,p,f]:(cr=t,t=a)):(cr=t,t=a)):(cr=t,t=a)),t}function Er(){var t,r,n,o,s,c;return t=cr,r=function(){var e;return(e=Gr())===a&&(e=Wr()),e}(),r!==a?(n=sa(),e.substr(cr,2)===g?(o=g,cr+=2):(o=a,0===fr&&vr(de)),o!==a?(s=sa(),(c=Tr())!==a?t=r=[r,n,o,s,c]:(cr=t,t=a)):(cr=t,t=a)):(cr=t,t=a),t===a&&(t=Tr()),t}function Tr(){var e,t,r;return e=cr,(t=Gr())!==a?(ir=cr,(r=(r=At(t))?void 0:a)!==a?e=t=[t,r]:(cr=e,e=a)):(cr=e,e=a),e}function Cr(){var t,r,n,o,s;return t=cr,(r=Gr())!==a?(sa(),n=cr,(o=Wr())!==a?(sa(),n=o):(cr=n,n=a),n===a&&(n=null),61===e.charCodeAt(cr)?(o=m,cr++):(o=a,0===fr&&vr($e)),o!==a?(sa(),(s=Pr())!==a&&ca()!==a?(ir=t,t=St(r,n,s)):(cr=t,t=a)):(cr=t,t=a)):(cr=t,t=a),t}function Pr(){var t,r,n,o,s,c;if(t=cr,(r=wr())!==a){for(n=[],o=cr,sa(),47===e.charCodeAt(cr)?(s=$,cr++):(s=a,0===fr&&vr(he)),s!==a?(sa(),(c=wr())!==a?o=c:(cr=o,o=a)):(cr=o,o=a);o!==a;)n.push(o),o=cr,sa(),47===e.charCodeAt(cr)?(s=$,cr++):(s=a,0===fr&&vr(he)),s!==a?(sa(),(c=wr())!==a?o=c:(cr=o,o=a)):(cr=o,o=a);ir=t,t=_t(r,n)}else cr=t,t=a;return t}function wr(){var e,t,r,n;return e=cr,t=function(){var e,t,r,n,o;if(e=cr,(t=Rr())!==a){for(r=[],n=cr,sa(),(o=Rr())!==a?n=o:(cr=n,n=a);n!==a;)r.push(n),n=cr,sa(),(o=Rr())!==a?n=o:(cr=n,n=a);ir=e,e=Tt(t,r)}else cr=e,e=a;return e}(),t!==a?(r=cr,sa(),(n=aa())!==a?r=n:(cr=r,r=a),r===a&&(r=null),ir=e,e=Et(t,r)):(cr=e,e=a),e}function Rr(){var t,r,n,o;return t=cr,r=function(){var t,r;return t=cr,64===e.charCodeAt(cr)?(r=h,cr++):(r=a,0===fr&&vr(xe)),r!==a&&(ir=t,r=wt()),t=r}(),r!==a?((n=Lr())===a&&(n=null),(o=Fr())!==a?(ir=t,t=Ct(r,n,o)):(cr=t,t=a)):(cr=t,t=a),t===a&&(t=cr,(r=Lr())!==a?(n=sa(),(o=Fr())!==a?(ir=t,t=Pt(r,o)):(cr=t,t=a)):(cr=t,t=a),t===a&&(t=Fr())),t}function Lr(){var t,r,n;return t=cr,(r=Gr())!==a?(sa(),58===e.charCodeAt(cr)?(n=x,cr++):(n=a,0===fr&&vr(be)),n!==a?(ir=t,t=Rt(r)):(cr=t,t=a)):(cr=t,t=a),t}function Fr(){var t,r,n;return t=cr,r=function(){var t;return t=e.charAt(cr),W.test(t)?cr++:(t=a,0===fr&&vr(ve)),t}(),r!==a?(sa(),(n=Or())!==a?(ir=t,t=Lt(r,n)):(cr=t,t=a)):(cr=t,t=a),t===a&&(t=Or()),t}function Or(){var t,r,n;return t=cr,(r=Mr())!==a?(sa(),n=function(){var t;return t=e.charAt(cr),V.test(t)?cr++:(t=a,0===fr&&vr(Ae)),t}(),n!==a?(ir=t,t=Ft(r,n)):(cr=t,t=a)):(cr=t,t=a),t===a&&(t=function(){var t,r,n,o,s,c,i;return t=cr,(r=Mr())!==a?(sa(),124===e.charCodeAt(cr)?(n=b,cr++):(n=a,0===fr&&vr(ye)),n!==a?(sa(),o=function(){var t,r,n,o;return t=cr,(r=Br())===a&&(r=null),sa(),e.substr(cr,2)===v?(n=v,cr+=2):(n=a,0===fr&&vr(Se)),n!==a?(sa(),(o=Br())===a&&(o=null),ir=t,t=Bt(r,o)):(cr=t,t=a),t===a&&(t=cr,(r=Br())!==a&&(ir=t,r=Mt(r)),t=r),t}(),o!==a?(sa(),s=cr,44===e.charCodeAt(cr)?(c=l,cr++):(c=a,0===fr&&vr(fe)),c!==a?(sa(),(i=Pr())!==a?(sa(),s=i):(cr=s,s=a)):(cr=s,s=a),s===a&&(s=null),124===e.charCodeAt(cr)?(c=b,cr++):(c=a,0===fr&&vr(ye)),c!==a?(ir=t,t=Ot(r,o,s)):(cr=t,t=a)):(cr=t,t=a)):(cr=t,t=a)):(cr=t,t=a),t}(),t===a&&(t=Mr())),t}function Br(){var t,r;return t=cr,r=function(){var t,r,n,o;if(t=cr,r=cr,n=[],(o=ta())!==a)for(;o!==a;)n.push(o),o=ta();else n=a;return(r=n!==a?e.substring(r,cr):n)!==a&&(ir=t,r=sr(r)),t=r}(),r!==a&&(ir=t,r=Dt(r)),(t=r)===a&&(t=cr,(r=Gr())!==a&&(ir=t,r=It(r)),(t=r)===a&&(t=cr,(r=aa())!==a&&(ir=t,r=kt(r)),t=r)),t}function Mr(){var t,r,n,o;return t=function(){var t,r,n;return fr++,t=cr,(r=Wr())!==a?(105===e.charCodeAt(cr)?(n=w,cr++):(n=a,0===fr&&vr(He)),n===a&&(n=null),ir=t,t=Gt(r,n)):(cr=t,t=a),fr--,t===a&&(r=a,0===fr&&vr(Ge)),t}(),t===a&&(t=function(){var t,r,n,o,s,c;if(fr++,t=cr,91===e.charCodeAt(cr)?(r=F,cr++):(r=a,0===fr&&vr(Xe)),r!==a){for(94===e.charCodeAt(cr)?(n=O,cr++):(n=a,0===fr&&vr(Ke)),n===a&&(n=null),o=[],(s=Qr())===a&&(s=Jr());s!==a;)o.push(s),(s=Qr())===a&&(s=Jr());93===e.charCodeAt(cr)?(s=B,cr++):(s=a,0===fr&&vr(Ze)),s!==a?(105===e.charCodeAt(cr)?(c=w,cr++):(c=a,0===fr&&vr(He)),c===a&&(c=null),ir=t,t=Wt(n,o,c)):(cr=t,t=a)}else cr=t,t=a;return fr--,t===a&&(r=a,0===fr&&vr(Je)),t}(),t===a&&(t=function(){var t,r;return t=cr,46===e.charCodeAt(cr)?(r=z,cr++):(r=a,0===fr&&vr(mt)),r!==a&&(ir=t,r=nr()),t=r}(),t===a&&(t=function(){var t,r,n,o,s,c,i;return t=cr,(r=Gr())!==a?(n=cr,fr++,o=cr,s=sa(),c=cr,(i=Wr())!==a?c=i=[i,sa()]:(cr=c,c=a),c===a&&(c=null),61===e.charCodeAt(cr)?(i=m,cr++):(i=a,0===fr&&vr($e)),i!==a?o=s=[s,c,i]:(cr=o,o=a),fr--,o===a?n=void 0:(cr=n,n=a),n!==a?(ir=t,t=Nt(r)):(cr=t,t=a)):(cr=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=cr,r=function(){var t;return t=e.charAt(cr),Y.test(t)?cr++:(t=a,0===fr&&vr(Te)),t}(),r!==a?(sa(),(n=aa())!==a?(ir=t,t=Ut(r,n)):(cr=t,t=a)):(cr=t,t=a),t}(),t===a&&(t=cr,40===e.charCodeAt(cr)?(r=A,cr++):(r=a,0===fr&&vr(_e)),r!==a?(sa(),(n=Pr())!==a?(sa(),41===e.charCodeAt(cr)?(o=y,cr++):(o=a,0===fr&&vr(Ee)),o!==a?(ir=t,t=jt(n)):(cr=t,t=a)):(cr=t,t=a)):(cr=t,t=a)))))),t}function Dr(){var t;return e.length>cr?(t=e.charAt(cr),cr++):(t=a,0===fr&&vr(Ce)),t}function Ir(){var t;return fr++,t=e.charAt(cr),Q.test(t)?cr++:(t=a,0===fr&&vr(we)),fr--,t===a&&0===fr&&vr(Pe),t}function kr(){var t;return t=e.charAt(cr),J.test(t)?cr++:(t=a,0===fr&&vr(Re)),t}function jr(){var t;return fr++,10===e.charCodeAt(cr)?(t=S,cr++):(t=a,0===fr&&vr(Fe)),t===a&&(e.substr(cr,2)===_?(t=_,cr+=2):(t=a,0===fr&&vr(Oe)),t===a&&(t=e.charAt(cr),X.test(t)?cr++:(t=a,0===fr&&vr(Be)))),fr--,t===a&&0===fr&&vr(Le),t}function Nr(){var t;return fr++,(t=function(){var t,r,n,o,s,c;if(t=cr,e.substr(cr,2)===E?(r=E,cr+=2):(r=a,0===fr&&vr(De)),r!==a){for(n=[],o=cr,s=cr,fr++,e.substr(cr,2)===T?(c=T,cr+=2):(c=a,0===fr&&vr(Ie)),fr--,c===a?s=void 0:(cr=s,s=a),s!==a&&(c=Dr())!==a?o=s=[s,c]:(cr=o,o=a);o!==a;)n.push(o),o=cr,s=cr,fr++,e.substr(cr,2)===T?(c=T,cr+=2):(c=a,0===fr&&vr(Ie)),fr--,c===a?s=void 0:(cr=s,s=a),s!==a&&(c=Dr())!==a?o=s=[s,c]:(cr=o,o=a);e.substr(cr,2)===T?(o=T,cr+=2):(o=a,0===fr&&vr(Ie)),o!==a?t=r=[r,n,o]:(cr=t,t=a)}else cr=t,t=a;return t}())===a&&(t=qr()),fr--,t===a&&0===fr&&vr(Me),t}function Ur(){var t,r,n,o,s,c;if(t=cr,e.substr(cr,2)===E?(r=E,cr+=2):(r=a,0===fr&&vr(De)),r!==a){for(n=[],o=cr,s=cr,fr++,e.substr(cr,2)===T?(c=T,cr+=2):(c=a,0===fr&&vr(Ie)),c===a&&(c=kr()),fr--,c===a?s=void 0:(cr=s,s=a),s!==a&&(c=Dr())!==a?o=s=[s,c]:(cr=o,o=a);o!==a;)n.push(o),o=cr,s=cr,fr++,e.substr(cr,2)===T?(c=T,cr+=2):(c=a,0===fr&&vr(Ie)),c===a&&(c=kr()),fr--,c===a?s=void 0:(cr=s,s=a),s!==a&&(c=Dr())!==a?o=s=[s,c]:(cr=o,o=a);e.substr(cr,2)===T?(o=T,cr+=2):(o=a,0===fr&&vr(Ie)),o!==a?t=r=[r,n,o]:(cr=t,t=a)}else cr=t,t=a;return t}function qr(){var t,r,n,o,s,c;if(t=cr,e.substr(cr,2)===C?(r=C,cr+=2):(r=a,0===fr&&vr(ke)),r!==a){for(n=[],o=cr,s=cr,fr++,c=kr(),fr--,c===a?s=void 0:(cr=s,s=a),s!==a&&(c=Dr())!==a?o=s=[s,c]:(cr=o,o=a);o!==a;)n.push(o),o=cr,s=cr,fr++,c=kr(),fr--,c===a?s=void 0:(cr=s,s=a),s!==a&&(c=Dr())!==a?o=s=[s,c]:(cr=o,o=a);t=r=[r,n]}else cr=t,t=a;return t}function Gr(){var e,t,r,n;if(fr++,e=cr,(t=Hr())!==a){for(r=[],n=zr();n!==a;)r.push(n),n=zr();ir=e,e=qt(t,r)}else cr=e,e=a;return fr--,e===a&&(t=a,0===fr&&vr(je)),e}function Hr(){var t,r,n;return t=e.charAt(cr),K.test(t)?cr++:(t=a,0===fr&&vr(Ne)),t===a&&(t=cr,92===e.charCodeAt(cr)?(r=P,cr++):(r=a,0===fr&&vr(Ue)),r!==a&&(n=ea())!==a?t=n:(cr=t,t=a)),t}function zr(){var t;return(t=Hr())===a&&(t=e.charAt(cr),Z.test(t)?cr++:(t=a,0===fr&&vr(qe))),t}function Wr(){var t,r,n,o;if(fr++,t=cr,34===e.charCodeAt(cr)?(r=R,cr++):(r=a,0===fr&&vr(We)),r!==a){for(n=[],o=Vr();o!==a;)n.push(o),o=Vr();34===e.charCodeAt(cr)?(o=R,cr++):(o=a,0===fr&&vr(We)),o!==a?(ir=t,t=Ht(n)):(cr=t,t=a)}else cr=t,t=a;if(t===a)if(t=cr,39===e.charCodeAt(cr)?(r=L,cr++):(r=a,0===fr&&vr(Ve)),r!==a){for(n=[],o=Yr();o!==a;)n.push(o),o=Yr();39===e.charCodeAt(cr)?(o=L,cr++):(o=a,0===fr&&vr(Ve)),o!==a?(ir=t,t=zt(n)):(cr=t,t=a)}else cr=t,t=a;return fr--,t===a&&(r=a,0===fr&&vr(ze)),t}function Vr(){var t,r,n,o;return t=cr,r=cr,n=cr,fr++,o=e.charAt(cr),ee.test(o)?cr++:(o=a,0===fr&&vr(Ye)),fr--,o===a?n=void 0:(cr=n,n=a),n!==a&&(o=Dr())!==a?r=n=[n,o]:(cr=r,r=a),(t=r!==a?e.substring(t,cr):r)===a&&(t=cr,92===e.charCodeAt(cr)?(r=P,cr++):(r=a,0===fr&&vr(Ue)),r!==a&&(n=Kr())!==a?t=n:(cr=t,t=a),t===a&&(t=Xr())),t}function Yr(){var t,r,n,o;return t=cr,r=cr,n=cr,fr++,o=e.charAt(cr),te.test(o)?cr++:(o=a,0===fr&&vr(Qe)),fr--,o===a?n=void 0:(cr=n,n=a),n!==a&&(o=Dr())!==a?r=n=[n,o]:(cr=r,r=a),(t=r!==a?e.substring(t,cr):r)===a&&(t=cr,92===e.charCodeAt(cr)?(r=P,cr++):(r=a,0===fr&&vr(Ue)),r!==a&&(n=Kr())!==a?t=n:(cr=t,t=a),t===a&&(t=Xr())),t}function Qr(){var t,r,n,o;return t=cr,(r=Jr())!==a?(45===e.charCodeAt(cr)?(n=M,cr++):(n=a,0===fr&&vr(et)),n!==a&&(o=Jr())!==a?(ir=t,t=Vt(r,o)):(cr=t,t=a)):(cr=t,t=a),t}function Jr(){var t,r,n,o;return t=cr,r=cr,n=cr,fr++,o=e.charAt(cr),re.test(o)?cr++:(o=a,0===fr&&vr(tt)),fr--,o===a?n=void 0:(cr=n,n=a),n!==a&&(o=Dr())!==a?r=n=[n,o]:(cr=r,r=a),(t=r!==a?e.substring(t,cr):r)===a&&(t=cr,92===e.charCodeAt(cr)?(r=P,cr++):(r=a,0===fr&&vr(Ue)),r!==a&&(n=Kr())!==a?t=n:(cr=t,t=a),t===a&&(t=Xr())),t}function Xr(){var t,r;return t=cr,92===e.charCodeAt(cr)?(r=P,cr++):(r=a,0===fr&&vr(Ue)),r!==a&&jr()!==a?(ir=t,t=Yt()):(cr=t,t=a),t}function Kr(){var t,r,n,o;return t=function(){var t;return(t=Zr())===a&&(t=function(){var t,r,n,o;return t=cr,r=cr,n=cr,fr++,o=function(){var t;return(t=Zr())===a&&(t=e.charAt(cr),ne.test(t)?cr++:(t=a,0===fr&&vr(pt))),t}(),o===a&&(o=kr()),fr--,o===a?n=void 0:(cr=n,n=a),n!==a&&(o=Dr())!==a?r=n=[n,o]:(cr=r,r=a),t=r!==a?e.substring(t,cr):r}()),t}(),t===a&&(t=cr,48===e.charCodeAt(cr)?(r=D,cr++):(r=a,0===fr&&vr(rt)),r!==a?(n=cr,fr++,o=ta(),fr--,o===a?n=void 0:(cr=n,n=a),n!==a?(ir=t,t=Qt()):(cr=t,t=a)):(cr=t,t=a),t===a&&(t=function(){var t,r,n,o,s,c;return t=cr,120===e.charCodeAt(cr)?(r=G,cr++):(r=a,0===fr&&vr(lt)),r!==a?(n=cr,o=cr,(s=ra())!==a&&(c=ra())!==a?o=s=[s,c]:(cr=o,o=a),(n=o!==a?e.substring(n,cr):o)!==a?(ir=t,t=rr(n)):(cr=t,t=a)):(cr=t,t=a),t}(),t===a&&(t=ea()))),t}function Zr(){var t,r;return t=e.charAt(cr),ae.test(t)?cr++:(t=a,0===fr&&vr(at)),t===a&&(t=cr,98===e.charCodeAt(cr)?(r=I,cr++):(r=a,0===fr&&vr(nt)),r!==a&&(ir=t,r=Jt()),(t=r)===a&&(t=cr,102===e.charCodeAt(cr)?(r=k,cr++):(r=a,0===fr&&vr(ot)),r!==a&&(ir=t,r=Xt()),(t=r)===a&&(t=cr,110===e.charCodeAt(cr)?(r=j,cr++):(r=a,0===fr&&vr(st)),r!==a&&(ir=t,r=Kt()),(t=r)===a&&(t=cr,114===e.charCodeAt(cr)?(r=N,cr++):(r=a,0===fr&&vr(ct)),r!==a&&(ir=t,r=Zt()),(t=r)===a&&(t=cr,116===e.charCodeAt(cr)?(r=U,cr++):(r=a,0===fr&&vr(it)),r!==a&&(ir=t,r=er()),(t=r)===a&&(t=cr,118===e.charCodeAt(cr)?(r=q,cr++):(r=a,0===fr&&vr(ut)),r!==a&&(ir=t,r=tr()),t=r)))))),t}function ea(){var t,r,n,o,s,c,i,u;return t=cr,117===e.charCodeAt(cr)?(r=H,cr++):(r=a,0===fr&&vr(ft)),r!==a?(n=cr,o=cr,(s=ra())!==a&&(c=ra())!==a&&(i=ra())!==a&&(u=ra())!==a?o=s=[s,c,i,u]:(cr=o,o=a),(n=o!==a?e.substring(n,cr):o)!==a?(ir=t,t=ar(n)):(cr=t,t=a)):(cr=t,t=a),t}function ta(){var t;return t=e.charAt(cr),oe.test(t)?cr++:(t=a,0===fr&&vr(gt)),t}function ra(){var t;return t=e.charAt(cr),se.test(t)?cr++:(t=a,0===fr&&vr(dt)),t}function aa(){var t,r,n,o;return fr++,t=cr,123===e.charCodeAt(cr)?(r=c,cr++):(r=a,0===fr&&vr(ie)),r!==a?(n=na(),125===e.charCodeAt(cr)?(o=i,cr++):(o=a,0===fr&&vr(ue)),o!==a?t=n:(cr=t,t=a)):(cr=t,t=a),fr--,t===a&&(r=a,0===fr&&vr($t)),t}function na(){var e,t;return e=cr,t=oa(),ir=e,or(t)}function oa(){var t,r,n,o,s,u;if(t=cr,r=[],n=[],o=cr,s=cr,fr++,u=e.charAt(cr),ce.test(u)?cr++:(u=a,0===fr&&vr(ht)),fr--,u===a?s=void 0:(cr=s,s=a),s!==a&&(u=Dr())!==a?o=s=[s,u]:(cr=o,o=a),o!==a)for(;o!==a;)n.push(o),o=cr,s=cr,fr++,u=e.charAt(cr),ce.test(u)?cr++:(u=a,0===fr&&vr(ht)),fr--,u===a?s=void 0:(cr=s,s=a),s!==a&&(u=Dr())!==a?o=s=[s,u]:(cr=o,o=a);else n=a;for(n===a&&(n=cr,123===e.charCodeAt(cr)?(o=c,cr++):(o=a,0===fr&&vr(ie)),o!==a?(s=oa(),125===e.charCodeAt(cr)?(u=i,cr++):(u=a,0===fr&&vr(ue)),u!==a?n=o=[o,s,u]:(cr=n,n=a)):(cr=n,n=a));n!==a;){if(r.push(n),n=[],o=cr,s=cr,fr++,u=e.charAt(cr),ce.test(u)?cr++:(u=a,0===fr&&vr(ht)),fr--,u===a?s=void 0:(cr=s,s=a),s!==a&&(u=Dr())!==a?o=s=[s,u]:(cr=o,o=a),o!==a)for(;o!==a;)n.push(o),o=cr,s=cr,fr++,u=e.charAt(cr),ce.test(u)?cr++:(u=a,0===fr&&vr(ht)),fr--,u===a?s=void 0:(cr=s,s=a),s!==a&&(u=Dr())!==a?o=s=[s,u]:(cr=o,o=a);else n=a;n===a&&(n=cr,123===e.charCodeAt(cr)?(o=c,cr++):(o=a,0===fr&&vr(ie)),o!==a?(s=oa(),125===e.charCodeAt(cr)?(u=i,cr++):(u=a,0===fr&&vr(ue)),u!==a?n=o=[o,s,u]:(cr=n,n=a)):(cr=n,n=a))}return e.substring(t,cr)}function sa(){var e,t;for(e=[],(t=Ir())===a&&(t=jr())===a&&(t=Nr());t!==a;)e.push(t),(t=Ir())===a&&(t=jr())===a&&(t=Nr());return e}function ca(){var t,r,n,o;if(t=[],r=cr,n=sa(),59===e.charCodeAt(cr)?(o=p,cr++):(o=a,0===fr&&vr(le)),o!==a?r=n=[n,o]:(cr=r,r=a),r!==a)for(;r!==a;)t.push(r),r=cr,n=sa(),59===e.charCodeAt(cr)?(o=p,cr++):(o=a,0===fr&&vr(le)),o!==a?r=n=[n,o]:(cr=r,r=a);else t=a;return t===a&&(t=cr,r=function(){var e,t;for(e=[],(t=Ir())===a&&(t=Ur());t!==a;)e.push(t),(t=Ir())===a&&(t=Ur());return e}(),(n=qr())===a&&(n=null),(o=jr())!==a?t=r=[r,n,o]:(cr=t,t=a),t===a&&(t=cr,r=sa(),n=function(){var t,r;return t=cr,fr++,e.length>cr?(r=e.charAt(cr),cr++):(r=a,0===fr&&vr(Ce)),fr--,r===a?t=void 0:(cr=t,t=a),t}(),n!==a?t=r=[r,n]:(cr=t,t=a))),t}var ia=t.reservedWords||[];if((r=s())!==a&&cr===e.length)return r;throw r!==a&&cr0){for(t=1,r=1;t=16"},require$$2={name:name,version:version,description:description,keywords:keywords,homepage:homepage,repository:repository,bugs:bugs,license:license,author:author,main:main,browser:browser,unpkg:unpkg,jsdelivr:jsdelivr,types:types,bin:bin,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies,engines:engines},sourceMap={},sourceMapGenerator={},base64Vlq={},base64$2={};const intToCharMap="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");base64$2.encode=function(e){if(0<=e&&e>>=VLQ_BASE_SHIFT,a>0&&(t|=VLQ_CONTINUATION_BIT),r+=base64$1.encode(t)}while(a>0);return r};var util$4={},urlBrowser=require$$0$1.URL;const URL$1=urlBrowser;function getArg(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')}util$4.getArg=getArg;const supportsNullProto=!("__proto__"in Object.create(null));function identity(e){return e}function toSetString(e){return isProtoString(e)?"$"+e:e}function fromSetString(e){return isProtoString(e)?e.slice(1):e}function isProtoString(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated(e,t){let r=e.generatedLine-t.generatedLine;return 0!==r?r:(r=e.generatedColumn-t.generatedColumn,0!==r?r:(r=strcmp(e.source,t.source),0!==r?r:(r=e.originalLine-t.originalLine,0!==r?r:(r=e.originalColumn-t.originalColumn,0!==r?r:strcmp(e.name,t.name)))))}function parseSourceMapInput(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}util$4.toSetString=supportsNullProto?identity:toSetString,util$4.fromSetString=supportsNullProto?identity:fromSetString,util$4.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated,util$4.parseSourceMapInput=parseSourceMapInput;const PROTOCOL="http:",PROTOCOL_AND_HOST=`${PROTOCOL}//host`;function createSafeHandler(e){return t=>{const r=getURLType(t),a=buildSafeBase(t),n=new URL$1(t,a);e(n);const o=n.toString();return"absolute"===r?o:"scheme-relative"===r?o.slice(PROTOCOL.length):"path-absolute"===r?o.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(a,o)}}function withBase(e,t){return new URL$1(e,t).toString()}function buildUniqueSegment(e,t){let r=0;for(;;){const a=e+r++;if(-1===t.indexOf(a))return a}}function buildSafeBase(e){const t=e.split("..").length-1,r=buildUniqueSegment("p",e);let a=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!a[a.length-1]&&a.pop();r.length>0&&a.length>0&&r[0]===a[0];)r.shift(),a.shift();return a.map((()=>"..")).concat(r).join("/")+t.search+t.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),trimFilename=createSafeHandler((e=>{e.href=new URL$1(".",e.toString()).toString()})),normalize=createSafeHandler((e=>{}));function join(e,t){const r=getURLType(t),a=getURLType(e);if(e=ensureDirectory(e),"absolute"===r)return withBase(t,void 0);if("absolute"===a)return withBase(t,e);if("scheme-relative"===r)return normalize(t);if("scheme-relative"===a)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===r)return normalize(t);if("path-absolute"===a)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const n=buildSafeBase(t+e);return computeRelativeURL(n,withBase(t,withBase(e,n)))}function relative(e,t){const r=relativeIfPossible(e,t);return"string"==typeof r?r:normalize(t)}function relativeIfPossible(e,t){if(getURLType(e)!==getURLType(t))return null;const r=buildSafeBase(e+t),a=new URL$1(e,r),n=new URL$1(t,r);try{new URL$1("",n.toString())}catch(e){return null}return n.protocol!==a.protocol||n.user!==a.user||n.password!==a.password||n.hostname!==a.hostname||n.port!==a.port?null:computeRelativeURL(a,n)}function computeSourceURL(e,t,r){e&&"path-absolute"===getURLType(t)&&(t=t.replace(/^\//,""));let a=normalize(t||"");return e&&(a=join(e,a)),r&&(a=join(trimFilename(r),a)),a}util$4.normalize=normalize,util$4.join=join,util$4.relative=relative,util$4.computeSourceURL=computeSourceURL;var arraySet={};let ArraySet$2=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){const a=new e;for(let e=0,n=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&er||a==r&&o>=n||util$3.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$3.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList.MappingList=MappingList$1;const base64VLQ=base64Vlq,util$2=util$4,ArraySet$1=arraySet.ArraySet,MappingList=mappingList.MappingList;let SourceMapGenerator$1=class e{constructor(e){e||(e={}),this._file=util$2.getArg(e,"file",null),this._sourceRoot=util$2.getArg(e,"sourceRoot",null),this._skipValidation=util$2.getArg(e,"skipValidation",!1),this._sources=new ArraySet$1,this._names=new ArraySet$1,this._mappings=new MappingList,this._sourcesContents=null}static fromSourceMap(t){const r=t.sourceRoot,a=new e({file:t.file,sourceRoot:r});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=r&&(t.source=util$2.relative(r,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),a.addMapping(t)})),t.sources.forEach((function(e){let n=e;null!==r&&(n=util$2.relative(r,e)),a._sources.has(n)||a._sources.add(n);const o=t.sourceContentFor(e);null!=o&&a.setSourceContent(e,o)})),a}addMapping(e){const t=util$2.getArg(e,"generated"),r=util$2.getArg(e,"original",null);let a=util$2.getArg(e,"source",null),n=util$2.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,a,n),null!=a&&(a=String(a),this._sources.has(a)||this._sources.add(a)),null!=n&&(n=String(n),this._names.has(n)||this._names.add(n)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:a,name:n})}setSourceContent(e,t){let r=e;null!=this._sourceRoot&&(r=util$2.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$2.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[util$2.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,r){let a=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');a=e.file}const n=this._sourceRoot;null!=n&&(a=util$2.relative(n,a));const o=this._mappings.toArray().length>0?new ArraySet$1:this._sources,s=new ArraySet$1;this._mappings.unsortedForEach((function(t){if(t.source===a&&null!=t.originalLine){const a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=r&&(t.source=util$2.join(r,t.source)),null!=n&&(t.source=util$2.relative(n,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}const c=t.source;null==c||o.has(c)||o.add(c);const i=t.name;null==i||s.has(i)||s.add(i)}),this),this._sources=o,this._names=s,e.sources.forEach((function(t){const a=e.sourceContentFor(t);null!=a&&(null!=r&&(t=util$2.join(r,t)),null!=n&&(t=util$2.relative(n,t)),this.setSourceContent(t,a))}),this)}_validateMapping(e,t,r,a){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!a);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:a}))}_serializeMappings(){let e,t,r,a,n=0,o=1,s=0,c=0,i=0,u=0,p="";const l=this._mappings.toArray();for(let f=0,g=l.length;f0){if(!util$2.compareByGeneratedPositionsInflated(t,l[f-1]))continue;e+=","}e+=base64VLQ.encode(t.generatedColumn-n),n=t.generatedColumn,null!=t.source&&(a=this._sources.indexOf(t.source),e+=base64VLQ.encode(a-u),u=a,e+=base64VLQ.encode(t.originalLine-1-c),c=t.originalLine-1,e+=base64VLQ.encode(t.originalColumn-s),s=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=base64VLQ.encode(r-i),i=r)),p+=e}return p}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$2.relative(t,e));const r=util$2.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$1.prototype._version=3,sourceMapGenerator.SourceMapGenerator=SourceMapGenerator$1;var sourceMapConsumer={},binarySearch$1={};!function(e){function t(r,a,n,o,s,c){const i=Math.floor((a-r)/2)+r,u=s(n,o[i],!0);return 0===u?i:u>0?a-i>1?t(i,a,n,o,s,c):c==e.LEAST_UPPER_BOUND?a1?t(r,i,n,o,s,c):c==e.LEAST_UPPER_BOUND?i:r<0?-1:r}e.GREATEST_LOWER_BOUND=1,e.LEAST_UPPER_BOUND=2,e.search=function(r,a,n,o){if(0===a.length)return-1;let s=t(-1,a.length,r,a,n,o||e.GREATEST_LOWER_BOUND);if(s<0)return-1;for(;s-1>=0&&0===n(a[s],a[s-1],!0);)--s;return s}}(binarySearch$1);var readWasmBrowser={exports:{}};let mappingsWasm=null;readWasmBrowser.exports=function(){if("string"==typeof mappingsWasm)return fetch(mappingsWasm).then((e=>e.arrayBuffer()));if(mappingsWasm instanceof ArrayBuffer)return Promise.resolve(mappingsWasm);throw new Error("You must provide the string URL or ArrayBuffer contents of lib/mappings.wasm by calling SourceMapConsumer.initialize({ 'lib/mappings.wasm': ... }) before using SourceMapConsumer")},readWasmBrowser.exports.initialize=e=>{mappingsWasm=e};var readWasmBrowserExports=readWasmBrowser.exports;const readWasm$1=readWasmBrowserExports;function Mapping(){this.generatedLine=0,this.generatedColumn=0,this.lastGeneratedColumn=null,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}let cachedWasm=null;var wasm$1=function(){if(cachedWasm)return cachedWasm;const e=[];return cachedWasm=readWasm$1().then((t=>WebAssembly.instantiate(t,{env:{mapping_callback(t,r,a,n,o,s,c,i,u,p){const l=new Mapping;l.generatedLine=t+1,l.generatedColumn=r,a&&(l.lastGeneratedColumn=n-1),o&&(l.source=s,l.originalLine=c+1,l.originalColumn=i,u&&(l.name=p)),e[e.length-1](l)},start_all_generated_locations_for(){console.time("all_generated_locations_for")},end_all_generated_locations_for(){console.timeEnd("all_generated_locations_for")},start_compute_column_spans(){console.time("compute_column_spans")},end_compute_column_spans(){console.timeEnd("compute_column_spans")},start_generated_location_for(){console.time("generated_location_for")},end_generated_location_for(){console.timeEnd("generated_location_for")},start_original_location_for(){console.time("original_location_for")},end_original_location_for(){console.timeEnd("original_location_for")},start_parse_mappings(){console.time("parse_mappings")},end_parse_mappings(){console.timeEnd("parse_mappings")},start_sort_by_generated_location(){console.time("sort_by_generated_location")},end_sort_by_generated_location(){console.timeEnd("sort_by_generated_location")},start_sort_by_original_location(){console.time("sort_by_original_location")},end_sort_by_original_location(){console.timeEnd("sort_by_original_location")}}}))).then((t=>({exports:t.instance.exports,withMappingCallback:(t,r)=>{e.push(t);try{r()}finally{e.pop()}}}))).then(null,(e=>{throw cachedWasm=null,e})),cachedWasm};const util$1=util$4,binarySearch=binarySearch$1,ArraySet=arraySet.ArraySet,readWasm=readWasmBrowserExports,wasm=wasm$1,INTERNAL=Symbol("smcInternal");let SourceMapConsumer$1=class e{constructor(e,t){return e==INTERNAL?Promise.resolve(this):_factory(e,t)}static initialize(e){readWasm.initialize(e["lib/mappings.wasm"])}static fromSourceMap(e,t){return _factoryBSM(e,t)}static async with(t,r,a){const n=await new e(t,r);try{return await a(n)}finally{n.destroy()}}eachMapping(e,t,r){throw new Error("Subclasses must implement eachMapping")}allGeneratedPositionsFor(e){throw new Error("Subclasses must implement allGeneratedPositionsFor")}destroy(){throw new Error("Subclasses must implement destroy")}};SourceMapConsumer$1.prototype._version=3,SourceMapConsumer$1.GENERATED_ORDER=1,SourceMapConsumer$1.ORIGINAL_ORDER=2,SourceMapConsumer$1.GREATEST_LOWER_BOUND=1,SourceMapConsumer$1.LEAST_UPPER_BOUND=2,sourceMapConsumer.SourceMapConsumer=SourceMapConsumer$1;class BasicSourceMapConsumer extends SourceMapConsumer$1{constructor(e,t){return super(INTERNAL).then((r=>{let a=e;"string"==typeof e&&(a=util$1.parseSourceMapInput(e));const n=util$1.getArg(a,"version"),o=util$1.getArg(a,"sources").map(String),s=util$1.getArg(a,"names",[]),c=util$1.getArg(a,"sourceRoot",null),i=util$1.getArg(a,"sourcesContent",null),u=util$1.getArg(a,"mappings"),p=util$1.getArg(a,"file",null);if(n!=r._version)throw new Error("Unsupported version: "+n);return r._sourceLookupCache=new Map,r._names=ArraySet.fromArray(s.map(String),!0),r._sources=ArraySet.fromArray(o,!0),r._absoluteSources=ArraySet.fromArray(r._sources.toArray().map((function(e){return util$1.computeSourceURL(c,e,t)})),!0),r.sourceRoot=c,r.sourcesContent=i,r._mappings=u,r._sourceMapURL=t,r.file=p,r._computedColumnSpans=!1,r._mappingsPtr=0,r._wasm=null,wasm().then((e=>(r._wasm=e,r)))}))}_findSourceIndex(e){const t=this._sourceLookupCache.get(e);if("number"==typeof t)return t;const r=util$1.computeSourceURL(null,e,this._sourceMapURL);if(this._absoluteSources.has(r)){const t=this._absoluteSources.indexOf(r);return this._sourceLookupCache.set(e,t),t}const a=util$1.computeSourceURL(this.sourceRoot,e,this._sourceMapURL);if(this._absoluteSources.has(a)){const t=this._absoluteSources.indexOf(a);return this._sourceLookupCache.set(e,t),t}return-1}static fromSourceMap(e,t){return new BasicSourceMapConsumer(e.toString())}get sources(){return this._absoluteSources.toArray()}_getMappingsPtr(){return 0===this._mappingsPtr&&this._parseMappings(),this._mappingsPtr}_parseMappings(){const e=this._mappings,t=e.length,r=this._wasm.exports.allocate_mappings(t),a=new Uint8Array(this._wasm.exports.memory.buffer,r,t);for(let r=0;r{null!==t.source&&(t.source=this._absoluteSources.at(t.source),null!==t.name&&(t.name=this._names.at(t.name))),this._computedColumnSpans&&null===t.lastGeneratedColumn&&(t.lastGeneratedColumn=1/0),e.call(a,t)}),(()=>{switch(n){case SourceMapConsumer$1.GENERATED_ORDER:this._wasm.exports.by_generated_location(this._getMappingsPtr());break;case SourceMapConsumer$1.ORIGINAL_ORDER:this._wasm.exports.by_original_location(this._getMappingsPtr());break;default:throw new Error("Unknown order of iteration.")}}))}allGeneratedPositionsFor(e){let t=util$1.getArg(e,"source");const r=util$1.getArg(e,"line"),a=e.column||0;if(t=this._findSourceIndex(t),t<0)return[];if(r<1)throw new Error("Line numbers must be >= 1");if(a<0)throw new Error("Column numbers must be >= 0");const n=[];return this._wasm.withMappingCallback((e=>{let t=e.lastGeneratedColumn;this._computedColumnSpans&&null===t&&(t=1/0),n.push({line:e.generatedLine,column:e.generatedColumn,lastColumn:t})}),(()=>{this._wasm.exports.all_generated_locations_for(this._getMappingsPtr(),t,r-1,"column"in e,a)})),n}destroy(){0!==this._mappingsPtr&&(this._wasm.exports.free_mappings(this._mappingsPtr),this._mappingsPtr=0)}computeColumnSpans(){this._computedColumnSpans||(this._wasm.exports.compute_column_spans(this._getMappingsPtr()),this._computedColumnSpans=!0)}originalPositionFor(e){const t={generatedLine:util$1.getArg(e,"line"),generatedColumn:util$1.getArg(e,"column")};if(t.generatedLine<1)throw new Error("Line numbers must be >= 1");if(t.generatedColumn<0)throw new Error("Column numbers must be >= 0");let r,a=util$1.getArg(e,"bias",SourceMapConsumer$1.GREATEST_LOWER_BOUND);if(null==a&&(a=SourceMapConsumer$1.GREATEST_LOWER_BOUND),this._wasm.withMappingCallback((e=>r=e),(()=>{this._wasm.exports.original_location_for(this._getMappingsPtr(),t.generatedLine-1,t.generatedColumn,a)})),r&&r.generatedLine===t.generatedLine){let e=util$1.getArg(r,"source",null);null!==e&&(e=this._absoluteSources.at(e));let t=util$1.getArg(r,"name",null);return null!==t&&(t=this._names.at(t)),{source:e,line:util$1.getArg(r,"originalLine",null),column:util$1.getArg(r,"originalColumn",null),name:t}}return{source:null,line:null,column:null,name:null}}hasContentsOfAllSources(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e}))}sourceContentFor(e,t){if(!this.sourcesContent)return null;const r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')}generatedPositionFor(e){let t=util$1.getArg(e,"source");if(t=this._findSourceIndex(t),t<0)return{line:null,column:null,lastColumn:null};const r={source:t,originalLine:util$1.getArg(e,"line"),originalColumn:util$1.getArg(e,"column")};if(r.originalLine<1)throw new Error("Line numbers must be >= 1");if(r.originalColumn<0)throw new Error("Column numbers must be >= 0");let a,n=util$1.getArg(e,"bias",SourceMapConsumer$1.GREATEST_LOWER_BOUND);if(null==n&&(n=SourceMapConsumer$1.GREATEST_LOWER_BOUND),this._wasm.withMappingCallback((e=>a=e),(()=>{this._wasm.exports.generated_location_for(this._getMappingsPtr(),r.source,r.originalLine-1,r.originalColumn,n)})),a&&a.source===r.source){let e=a.lastGeneratedColumn;return this._computedColumnSpans&&null===e&&(e=1/0),{line:util$1.getArg(a,"generatedLine",null),column:util$1.getArg(a,"generatedColumn",null),lastColumn:e}}return{line:null,column:null,lastColumn:null}}}BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer$1,sourceMapConsumer.BasicSourceMapConsumer=BasicSourceMapConsumer;class IndexedSourceMapConsumer extends SourceMapConsumer$1{constructor(e,t){return super(INTERNAL).then((r=>{let a=e;"string"==typeof e&&(a=util$1.parseSourceMapInput(e));const n=util$1.getArg(a,"version"),o=util$1.getArg(a,"sections");if(n!=r._version)throw new Error("Unsupported version: "+n);let s={line:-1,column:0};return Promise.all(o.map((e=>{if(e.url)throw new Error("Support for url field in sections not implemented.");const r=util$1.getArg(e,"offset"),a=util$1.getArg(r,"line"),n=util$1.getArg(r,"column");if(a({generatedOffset:{generatedLine:a+1,generatedColumn:n+1},consumer:e})))}))).then((e=>(r._sections=e,r)))}))}get sources(){const e=[];for(let t=0;t=0?this._sections[t]:null,a=t>=0&&t+1=0?this._sections[t]:null,a=t>=0&&t+1{const t=r.generatedOffset.generatedLine-1,n=r.generatedOffset.generatedColumn-1;return 1===e.line&&(e.column+=n,"number"==typeof e.lastColumn&&(e.lastColumn+=n)),e.lastColumn===1/0&&a&&e.line===a.generatedOffset.generatedLine&&(e.lastColumn=a.generatedOffset.generatedColumn-2),e.line+=t,e})):[]}eachMapping(e,t,r){this._sections.forEach(((a,n)=>{const o=n+1=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let r=0,a=this.children.length;r0){for(t=[],r=0;r start -> leftRecursion -> duplicatedRule)"])}}))}))}));var chai$f=require$$0,parser$2=parser$4,compiler=compiler_1,expect$f=chai$f.expect;describe("Peggy compiler",(function(){it("checks start rules",(function(){var e=parser$2.parse("foo='1'");expect$f(compiler.compile(e,compiler.passes)).to.be.an("object"),expect$f((function(){return compiler.compile(e,compiler.passes,{allowedStartRules:null})})).to.throw("allowedStartRules must be an array"),expect$f((function(){return compiler.compile(e,compiler.passes,{allowedStartRules:[]})})).to.throw("Must have at least one start rule"),expect$f((function(){return compiler.compile(e,compiler.passes,{allowedStartRules:["bar"]})})).to.throw('Unknown start rule "bar"')})),it("checks output type",(function(){var e=parser$2.parse("foo='1'");expect$f(compiler.compile(e,compiler.passes,{output:"source"})).to.be.a("string"),expect$f((function(){return compiler.compile(e,compiler.passes,{output:"INVALID OUTPUT TYPE"})})).to.throw("Invalid output format: INVALID OUTPUT TYPE.")})),it("generates inline sourceMappingURL",(function(){var e=parser$2.parse("foo='1'");if(expect$f(e).to.be.an("object"),"function"==typeof TextEncoder&&(expect$f(compiler.compile(e,compiler.passes,{output:"source-with-inline-map",grammarSource:"src.peggy"})).to.match(/^\/\/# sourceMappingURL=data:application\/json;charset=utf-8;base64,/m),"object"==typeof globalThis)){var t=globalThis.TextEncoder;delete globalThis.TextEncoder,expect$f((function(){return compiler.compile(e,compiler.passes,{output:"source-with-inline-map",grammarSource:"src.peggy"})})).to.throw("TextEncoder is not supported by this platform"),globalThis.TextEncoder=t}})),it("requires grammarSource with source-map",(function(){var e=parser$2.parse("foo='1'");expect$f(e).to.be.an("object"),expect$f((function(){return compiler.compile(e,compiler.passes,{output:"source-and-map"})})).to.throw("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps"),expect$f((function(){return compiler.compile(e,compiler.passes,{output:"source-and-map",grammarSource:""})})).to.throw("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps"),"function"==typeof TextEncoder&&expect$f((function(){return compiler.compile(e,compiler.passes,{output:"source-with-inline-map",grammarSource:{toString:function(){return""}}})})).to.throw("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps")}))}));var __spreadArray$1=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n start)",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:5,line:1,column:6}}})})),it("reports indirect left recursion",(function(){expect$6(pass$2).to.reportError(["start = stop","stop = start"].join("\n"),{message:"Possible infinite loop when parsing (left recursion: start -> stop -> start)",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:5,line:1,column:6}}})})),describe("in sequences",(function(){it("reports left recursion if all preceding elements match empty string",(function(){expect$6(pass$2).to.reportError("start = '' '' '' start")})),it("doesn't report left recursion if some preceding element doesn't match empty string",(function(){expect$6(pass$2).to.not.reportError("start = 'a' '' '' start"),expect$6(pass$2).to.not.reportError("start = '' 'a' '' start"),expect$6(pass$2).to.not.reportError("start = '' '' 'a' start")})),it("reports left recursion when rule reference is wrapped in an expression",(function(){expect$6(pass$2).to.reportError("start = '' start?")})),it("computes expressions that always consume input on success correctly",(function(){expect$6(pass$2).to.reportError(["start = a start","a 'a' = ''"].join("\n")),expect$6(pass$2).to.not.reportError(["start = a start","a 'a' = 'a'"].join("\n")),expect$6(pass$2).to.reportError("start = ('' / 'a' / 'b') start"),expect$6(pass$2).to.reportError("start = ('a' / '' / 'b') start"),expect$6(pass$2).to.reportError("start = ('a' / 'b' / '') start"),expect$6(pass$2).to.not.reportError("start = ('a' / 'b' / 'c') start"),expect$6(pass$2).to.reportError("start = ('' { }) start"),expect$6(pass$2).to.not.reportError("start = ('a' { }) start"),expect$6(pass$2).to.reportError("start = ('' '' '') start"),expect$6(pass$2).to.not.reportError("start = ('a' '' '') start"),expect$6(pass$2).to.not.reportError("start = ('' 'a' '') start"),expect$6(pass$2).to.not.reportError("start = ('' '' 'a') start"),expect$6(pass$2).to.reportError("start = a:'' start"),expect$6(pass$2).to.not.reportError("start = a:'a' start"),expect$6(pass$2).to.reportError("start = $'' start"),expect$6(pass$2).to.not.reportError("start = $'a' start"),expect$6(pass$2).to.reportError("start = &'' start"),expect$6(pass$2).to.reportError("start = &'a' start"),expect$6(pass$2).to.reportError("start = !'' start"),expect$6(pass$2).to.reportError("start = !'a' start"),expect$6(pass$2).to.reportError("start = ''? start"),expect$6(pass$2).to.reportError("start = 'a'? start"),expect$6(pass$2).to.reportError("start = ''* start"),expect$6(pass$2).to.reportError("start = 'a'* start"),expect$6(pass$2).to.reportError("start = ''+ start"),expect$6(pass$2).to.not.reportError("start = 'a'+ start"),expect$6(pass$2).to.reportError("start = ''| .. | start"),expect$6(pass$2).to.reportError("start = ''|0.. | start"),expect$6(pass$2).to.reportError("start = ''|1.. | start"),expect$6(pass$2).to.reportError("start = ''|2.. | start"),expect$6(pass$2).to.reportError("start = ''| ..1| start"),expect$6(pass$2).to.reportError("start = ''| ..3| start"),expect$6(pass$2).to.reportError("start = ''|2..3| start"),expect$6(pass$2).to.reportError("start = ''| 42 | start"),expect$6(pass$2).to.reportError("start = 'a'| .. | start"),expect$6(pass$2).to.reportError("start = 'a'|0.. | start"),expect$6(pass$2).to.not.reportError("start = 'a'|1.. | start"),expect$6(pass$2).to.not.reportError("start = 'a'|2.. | start"),expect$6(pass$2).to.reportError("start = 'a'| ..1| start"),expect$6(pass$2).to.reportError("start = 'a'| ..3| start"),expect$6(pass$2).to.not.reportError("start = 'a'|2..3| start"),expect$6(pass$2).to.not.reportError("start = 'a'| 42 | start"),expect$6(pass$2).to.reportError("start = ('') start"),expect$6(pass$2).to.not.reportError("start = ('a') start"),expect$6(pass$2).to.reportError("start = &{ } start"),expect$6(pass$2).to.reportError("start = !{ } start"),expect$6(pass$2).to.reportError(["start = a start","a = ''"].join("\n")),expect$6(pass$2).to.not.reportError(["start = a start","a = 'a'"].join("\n")),expect$6(pass$2).to.reportError("start = '' start"),expect$6(pass$2).to.not.reportError("start = 'a' start"),expect$6(pass$2).to.not.reportError("start = [a-d] start"),expect$6(pass$2).to.not.reportError("start = . start")}))})),describe("in repeated with delimiter",(function(){it("doesn't report left recursion for delimiter if expression not match empty string",(function(){expect$6(pass$2).to.not.reportError("start = 'a'| .. , start|"),expect$6(pass$2).to.not.reportError("start = 'a'|0.. , start|"),expect$6(pass$2).to.not.reportError("start = 'a'|1.. , start|"),expect$6(pass$2).to.not.reportError("start = 'a'|2.. , start|"),expect$6(pass$2).to.not.reportError("start = 'a'| ..3, start|"),expect$6(pass$2).to.not.reportError("start = 'a'|2..3, start|"),expect$6(pass$2).to.not.reportError("start = 'a'| 42 , start|")})),it("reports left recursion for delimiter if expression match empty string",(function(){expect$6(pass$2).to.reportError("start = ''| .. , start|"),expect$6(pass$2).to.reportError("start = ''|0.. , start|"),expect$6(pass$2).to.reportError("start = ''|1.. , start|"),expect$6(pass$2).to.reportError("start = ''|2.. , start|"),expect$6(pass$2).to.reportError("start = ''| ..3, start|"),expect$6(pass$2).to.reportError("start = ''|2..3, start|"),expect$6(pass$2).to.reportError("start = ''| 42 , start|")}))}))}));var chai$5=require$$0,helpers$1=helpers$a,pass$1=reportInfiniteRepetition_1;chai$5.use(helpers$1);var expect$5=chai$5.expect;describe("compiler pass |reportInfiniteRepetition|",(function(){it("reports infinite loops for zero_or_more",(function(){expect$5(pass$1).to.reportError("start = ('')*",{message:"Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:13,line:1,column:14}}})})),it("reports infinite loops for one_or_more",(function(){expect$5(pass$1).to.reportError("start = ('')+",{message:"Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:13,line:1,column:14}}})})),describe("reports infinite loops for repeated",(function(){describe("without delimiter",(function(){it("with constant boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:16,line:1,column:17}}}),expect$5(pass$1).to.reportError("start = ('')|0..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$5(pass$1).to.reportError("start = ('')|1..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$5(pass$1).to.reportError("start = ('')|2..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$5(pass$1).to.not.reportError("start = ('')| ..1|"),expect$5(pass$1).to.not.reportError("start = ('')| ..3|"),expect$5(pass$1).to.not.reportError("start = ('')|2..3|"),expect$5(pass$1).to.not.reportError("start = ('')| 42 |")})),it("with variable boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|len..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:19,line:1,column:20}}}),expect$5(pass$1).to.not.reportError("start = ('')|..len|"),expect$5(pass$1).to.not.reportError("start = ('')|len1..len2|"),expect$5(pass$1).to.not.reportError("start = ('')|len|")})),it("with function boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|{}..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:18,line:1,column:19}}}),expect$5(pass$1).to.not.reportError("start = ('')|..{}|"),expect$5(pass$1).to.not.reportError("start = ('')|{}..{}|"),expect$5(pass$1).to.not.reportError("start = ('')|{}|")}))})),describe("with empty delimiter",(function(){it("with constant boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')| .., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$5(pass$1).to.reportError("start = ('')|0.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$5(pass$1).to.reportError("start = ('')|1.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$5(pass$1).to.reportError("start = ('')|2.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$5(pass$1).to.not.reportError("start = ('')| ..1, ''|"),expect$5(pass$1).to.not.reportError("start = ('')| ..3, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|2..3, ''|"),expect$5(pass$1).to.not.reportError("start = ('')| 42 , ''|")})),it("with variable boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|len.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:23,line:1,column:24}}}),expect$5(pass$1).to.not.reportError("start = ('')|..len, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|len1..len2, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|len, ''|")})),it("with function boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|{}.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:22,line:1,column:23}}}),expect$5(pass$1).to.not.reportError("start = ('')|..{}, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|{}..{}, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|{}, ''|")}))})),describe("with non-empty delimiter",(function(){it("with constant boundaries",(function(){expect$5(pass$1).to.not.reportError("start = ('')| .., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|0.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|1.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|2.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')| ..1, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')| ..3, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|2..3, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')| 42 , 'a'|")})),it("with variable boundaries",(function(){expect$5(pass$1).to.not.reportError("start = ('')|len.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|..len, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|len1..len2, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|len, 'a'|")})),it("with function boundaries",(function(){expect$5(pass$1).to.not.reportError("start = ('')|{}.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|..{}, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|{}..{}, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|{}, 'a'|")}))}))})),it("computes expressions that always consume input on success correctly",(function(){expect$5(pass$1).to.reportError(["start = a*","a 'a' = ''"].join("\n")),expect$5(pass$1).to.not.reportError(["start = a*","a 'a' = 'a'"].join("\n")),expect$5(pass$1).to.reportError("start = ('' / 'a' / 'b')*"),expect$5(pass$1).to.reportError("start = ('a' / '' / 'b')*"),expect$5(pass$1).to.reportError("start = ('a' / 'b' / '')*"),expect$5(pass$1).to.not.reportError("start = ('a' / 'b' / 'c')*"),expect$5(pass$1).to.reportError("start = ('' { })*"),expect$5(pass$1).to.not.reportError("start = ('a' { })*"),expect$5(pass$1).to.reportError("start = ('' '' '')*"),expect$5(pass$1).to.not.reportError("start = ('a' '' '')*"),expect$5(pass$1).to.not.reportError("start = ('' 'a' '')*"),expect$5(pass$1).to.not.reportError("start = ('' '' 'a')*"),expect$5(pass$1).to.reportError("start = (a:'')*"),expect$5(pass$1).to.not.reportError("start = (a:'a')*"),expect$5(pass$1).to.reportError("start = ($'')*"),expect$5(pass$1).to.not.reportError("start = ($'a')*"),expect$5(pass$1).to.reportError("start = (&'')*"),expect$5(pass$1).to.reportError("start = (&'a')*"),expect$5(pass$1).to.reportError("start = (!'')*"),expect$5(pass$1).to.reportError("start = (!'a')*"),expect$5(pass$1).to.reportError("start = (''?)*"),expect$5(pass$1).to.reportError("start = ('a'?)*"),expect$5(pass$1).to.reportError("start = (''*)*"),expect$5(pass$1).to.reportError("start = ('a'*)*"),expect$5(pass$1).to.reportError("start = (''+)*"),expect$5(pass$1).to.not.reportError("start = ('a'+)*"),expect$5(pass$1).to.reportError("start = ('')*"),expect$5(pass$1).to.not.reportError("start = ('a')*"),expect$5(pass$1).to.reportError("start = (&{ })*"),expect$5(pass$1).to.reportError("start = (!{ })*"),expect$5(pass$1).to.reportError("start = 'a'|.., ('')*|"),expect$5(pass$1).to.not.reportError("start = 'a'|.., ('b')*|"),expect$5(pass$1).to.reportError(["start = a*","a = ''"].join("\n")),expect$5(pass$1).to.not.reportError(["start = a*","a = 'a'"].join("\n")),expect$5(pass$1).to.reportError("start = ''*"),expect$5(pass$1).to.not.reportError("start = 'a'*"),expect$5(pass$1).to.not.reportError("start = [a-d]*"),expect$5(pass$1).to.not.reportError("start = .*")}))}));var chai$4=require$$0,helpers=helpers$a,pass=reportUndefinedRules_1;chai$4.use(helpers);var expect$4=chai$4.expect;describe("compiler pass |reportUndefinedRules|",(function(){it("reports undefined rules",(function(){expect$4(pass).to.reportError("start = undefined",{message:'Rule "undefined" is not defined',location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}})}))}));var chai$3=require$$0,Stack=stack,expect$3=chai$3.expect;describe("utility class Stack",(function(){describe("for an empty stack",(function(){var e=void 0;beforeEach((function(){e=new Stack("rule","v","let",[42])})),describe("throws an error when attempting",(function(){it("`pop`",(function(){expect$3((function(){return e.pop()})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -1.\nBytecode: 42")})),it("`top`",(function(){expect$3((function(){return e.top()})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -1.\nBytecode: 42")})),it("`result`",(function(){expect$3((function(){return e.result()})).to.throw(RangeError,"Rule 'rule': The variable stack is empty, can't get the result")})),it("`index`",(function(){expect$3((function(){return e.index(-2)})).to.throw(RangeError,"Rule 'rule': The variable stack overflow: attempt to get a variable at a negative index -2.\nBytecode: 42"),expect$3((function(){return e.index(0)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -1.\nBytecode: 42"),expect$3((function(){return e.index(2)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -3.\nBytecode: 42")})),it("`sourceMapPop`",(function(){expect$3((function(){return e.sourceMapPop()})).to.throw(RangeError,"Rule 'rule': Attempting to pop an empty source map stack.\nBytecode: 42")}))})),it("`defines` returns an empty string",(function(){expect$3(e.defines()).to.equal("")}))})),it("throws an error when attempting `pop` more than `push`",(function(){var e=new Stack("rule","v","let",[42]);e.push("1"),expect$3((function(){return e.pop(3)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -2.\nBytecode: 42")})),it("returns a variable with an index 0 for `result`",(function(){var e=new Stack("rule","v","let",[]);e.push("1"),expect$3(e.result()).to.equal("v0")})),it("`defines` returns a define expression for all used variables",(function(){var e=new Stack("rule","v","let",[]);e.push("1"),e.push("2"),e.pop(),e.push("3"),expect$3(e.defines()).to.equal("let v0, v1;")})),describe("`checkedIf` method",(function(){var e=void 0;beforeEach((function(){(e=new Stack("rule","v","let",[42])).push("1")})),describe("does not throws an error",(function(){it("without the else brach",(function(){expect$3((function(){return e.checkedIf(0,(function(){}))})).to.not.throw(),expect$3((function(){return e.checkedIf(0,(function(){return e.pop()}))})).to.not.throw(),expect$3((function(){return e.checkedIf(0,(function(){return e.push("2")}))})).to.not.throw()})),describe("when the stack pointer",(function(){it("was not moving in both the arms",(function(){function t(){}function r(){e.push("1"),e.pop()}function a(){e.push("1"),e.push("2"),e.pop(2)}function n(){e.push("1"),e.pop(),e.push("2"),e.pop()}expect$3((function(){return e.checkedIf(0,t,t)})).to.not.throw(),expect$3((function(){return e.checkedIf(0,r,r)})).to.not.throw(),expect$3((function(){return e.checkedIf(0,a,a)})).to.not.throw(),expect$3((function(){return e.checkedIf(0,n,n)})).to.not.throw()})),it("increases on the same value in both the arms",(function(){expect$3((function(){return e.checkedIf(0,(function(){return e.push("1")}),(function(){return e.push("2")}))})).to.not.throw()})),it("decreases on the same value in both the arms",(function(){e.push("2"),expect$3((function(){return e.checkedIf(0,(function(){return e.pop(2)}),(function(){e.pop(),e.pop()}))})).to.not.throw()}))}))})),describe("throws an error when the stack pointer",(function(){it("was not moving in `if` and decreases in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){}),(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 0, after else: -1). Bytecode: 42")})),it("decreases in `if` and was not moving in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){return e.pop()}),(function(){}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: -1, after else: 0). Bytecode: 42")})),it("was not moving in `if` and increases in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){}),(function(){return e.push("2")}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 0, after else: 1). Bytecode: 42")})),it("increases in `if` and was not moving in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){return e.push("2")}),(function(){}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 1, after else: 0). Bytecode: 42")})),it("decreases in `if` and increases in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){return e.pop()}),(function(){return e.push("2")}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: -1, after else: 1). Bytecode: 42")})),it("increases in `if` and decreases in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){return e.push("2")}),(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 1, after else: -1). Bytecode: 42")}))}))})),describe("`checkedLoop` method",(function(){var e=void 0;beforeEach((function(){(e=new Stack("rule","v","let",[42])).push("1")})),it("does not throws an error when the stack pointer was not moving",(function(){function t(){}function r(){e.push("1"),e.pop()}function a(){e.push("1"),e.push("2"),e.pop(2)}function n(){e.push("1"),e.pop(),e.push("2"),e.pop()}expect$3((function(){return e.checkedLoop(0,t)})).to.not.throw(),expect$3((function(){return e.checkedLoop(0,r)})).to.not.throw(),expect$3((function(){return e.checkedLoop(0,a)})).to.not.throw(),expect$3((function(){return e.checkedLoop(0,n)})).to.not.throw()})),it("throws an error when the stack pointer increases",(function(){expect$3((function(){return e.checkedLoop(0,(function(){return e.push("1")}))})).to.throw(Error,"Rule 'rule', position 0: Body of a loop can't move the stack pointer (before: 0, after: 1). Bytecode: 42")})),it("throws an error when the stack pointer decreases",(function(){expect$3((function(){return e.checkedLoop(0,(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Body of a loop can't move the stack pointer (before: 0, after: -1). Bytecode: 42")}))})),describe("SourceNode handling",(function(){it("sourceNode handles unknown column",(function(){expect$3(Stack.sourceNode({source:"",start:{line:1,column:0,offset:0},end:{line:1,column:0,offset:0}},["foo"],"test").column).to.equal(null)}))}))}));var chai$2=require$$0,_a$1=utils$1,hex=_a$1.hex,stringEscape=_a$1.stringEscape,regexpClassEscape=_a$1.regexpClassEscape,base64=_a$1.base64,expect$2=chai$2.expect;describe("utility functions",(function(){it("hex",(function(){expect$2(hex("0")).to.equal("30"),expect$2(hex("\0")).to.equal("0"),expect$2(hex("\n")).to.equal("A"),expect$2(hex("\ufeff")).to.equal("FEFF")})),it("stringEscape",(function(){expect$2(stringEscape("abc")).to.equal("abc"),expect$2(stringEscape('\\"\0\b\t\n\v\f\r')).to.equal('\\\\\\"\\0\\b\\t\\n\\v\\f\\r'),expect$2(stringEscape("")).to.equal("\\x01\\x0F"),expect$2(stringEscape("")).to.equal("\\x10\\x1F\\x7F"),expect$2(stringEscape("Ā࿿")).to.equal("\\u0100\\u0FFF"),expect$2(stringEscape("က￿")).to.equal("\\u1000\\uFFFF")})),it("regexpClassEscape",(function(){expect$2(regexpClassEscape("\\\0\b\t\n\v\f\r")).to.equal("\\\\\\0\\b\\t\\n\\v\\f\\r"),expect$2(regexpClassEscape("/]^-")).to.equal("\\/\\]\\^\\-"),expect$2(regexpClassEscape("")).to.equal("\\x01\\x0F"),expect$2(regexpClassEscape("")).to.equal("\\x10\\x1F\\x7F"),expect$2(regexpClassEscape("Ā࿿")).to.equal("\\u0100\\u0FFF"),expect$2(regexpClassEscape("က￿")).to.equal("\\u1000\\uFFFF")})),it("base64",(function(){expect$2(base64(new Uint8Array([]))).to.equal(""),expect$2(base64(new Uint8Array([97]))).to.equal("YQ=="),expect$2(base64(new Uint8Array([97,98]))).to.equal("YWI="),expect$2(base64(new Uint8Array([97,98,99]))).to.equal("YWJj"),expect$2(base64(new Uint8Array([97,98,99,100]))).to.equal("YWJjZA=="),expect$2(base64(new Uint8Array([97,98,99,100,101]))).to.equal("YWJjZGU="),expect$2(base64(new Uint8Array([97,98,99,100,101,102]))).to.equal("YWJjZGVm")}))}));var chai$1=require$$0,_a=peg_1,GrammarError=_a.GrammarError,GrammarLocation=_a.GrammarLocation,expect$1=chai$1.expect,location={source:void 0,start:{offset:0,line:1,column:1},end:{offset:4,line:1,column:5}};describe("Grammar Errors",(function(){it("might not have a location",(function(){var e=new GrammarError("message");expect$1(e.location).to.equal(void 0),expect$1(e.toString()).to.equal("GrammarError: message")})),it("might have locations",(function(){location.source=void 0;var e=new GrammarError("message",location);expect$1(e.location).to.eql(location),expect$1(e.toString()).to.equal("GrammarError: message\n at 1:1"),e=new GrammarError("message",null,[{message:"Subinfo",location:location}]),expect$1(e.location).to.equal(null),expect$1(e.toString()).to.equal("GrammarError: message\n from 1:1: Subinfo"),location.source="foo.peggy",e=new GrammarError("message",location,[{message:"Subinfo",location:location}]),expect$1(e.toString()).to.equal("GrammarError: message\n at foo.peggy:1:1\n from foo.peggy:1:1: Subinfo")})),describe("formats",(function(){var e={source:"foo.peggy",text:"some error\nthat"},t={source:"foo.peggy",start:{offset:5,line:1,column:6},end:{offset:11,line:2,column:1}},r=[{message:"Subinfo",location:t}];describe("single problem",(function(){describe("with main location",(function(){location.source="foo.peggy";var t=new GrammarError("message",location,r);it("with zero-length error at the end",(function(){var t=new GrammarError("message",{source:"foo.peggy",start:{offset:4,line:1,column:5},end:{offset:4,line:1,column:5}});expect$1(t.format([e])).to.equal("error: message\n --\x3e foo.peggy:1:5\n |\n1 | some error\n | ^")})),it("with source",(function(){expect$1(t.format([e])).to.equal("error: message\n --\x3e foo.peggy:1:1\n |\n1 | some error\n | ^^^^\nnote: Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^")})),it("without source",(function(){expect$1(t.format([])).to.equal("error: message\n at foo.peggy:1:1\n at foo.peggy:1:6: Subinfo")}))})),describe("without main location",(function(){var t=new GrammarError("message",null,r);it("with source",(function(){expect$1(t.format([e])).to.equal("error: message\nnote: Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^")})),it("without source",(function(){expect$1(t.format([])).to.equal("error: message\n at foo.peggy:1:6: Subinfo")}))}))})),describe("several problems",(function(){describe("with main location",(function(){location.source="foo.peggy";var a=new GrammarError("message",location,r);a.problems.push(["warning","Warning message",t,[{message:"Warning Subinfo",location:t}]]),a.problems.push(["info","Info message",null,[]]),it("null source text",(function(){expect$1(a.format([{source:null,text:null}])).to.equal("error: message\n at foo.peggy:1:1\n at foo.peggy:1:6: Subinfo\n\nwarning: Warning message\n at foo.peggy:1:6\n at foo.peggy:1:6: Warning Subinfo"),expect$1(a.format([{source:null,text:void 0}])).to.equal("error: message\n at foo.peggy:1:1\n at foo.peggy:1:6: Subinfo\n\nwarning: Warning message\n at foo.peggy:1:6\n at foo.peggy:1:6: Warning Subinfo")})),it("with source",(function(){expect$1(a.format([e])).to.equal("error: message\n --\x3e foo.peggy:1:1\n |\n1 | some error\n | ^^^^\nnote: Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^\n\nwarning: Warning message\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^\nnote: Warning Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^")})),it("with GrammarLocation",(function(){var r=new GrammarLocation("foo.peggy",{offset:12,line:15,column:8});expect$1(String(r)).to.equal("foo.peggy"),location.source=r,t.source=r,a.diagnostics.push({message:"Column not offset",location:{source:r,start:{offset:11,line:2,column:1},end:{offset:15,line:2,column:5}}}),expect$1(a.format([{source:r,text:e.text}])).to.equal("error: message\n --\x3e foo.peggy:15:8\n |\n15 | some error\n | ^^^^\nnote: Subinfo\n --\x3e foo.peggy:15:13\n |\n15 | some error\n | ^^^^^\nnote: Column not offset\n --\x3e foo.peggy:16:1\n |\n16 | that\n | ^^^^\n\nwarning: Warning message\n --\x3e foo.peggy:15:13\n |\n15 | some error\n | ^^^^^\nnote: Warning Subinfo\n --\x3e foo.peggy:15:13\n |\n15 | some error\n | ^^^^^"),location.source="foo.peggy",t.source="foo.peggy",a.diagnostics.pop()})),it("without source",(function(){expect$1(a.format([])).to.equal("error: message\n at foo.peggy:1:1\n at foo.peggy:1:6: Subinfo\n\nwarning: Warning message\n at foo.peggy:1:6\n at foo.peggy:1:6: Warning Subinfo")}))})),describe("without main location",(function(){var a=new GrammarError("message",null,r);a.problems.push(["warning","Warning message",null,[{message:"Warning Subinfo",location:t}]]),a.problems.push(["info","Info message",null,[]]),it("with source",(function(){expect$1(a.format([e])).to.equal("error: message\nnote: Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^\n\nwarning: Warning message\nnote: Warning Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^")})),it("without source",(function(){expect$1(a.format([])).to.equal("error: message\n at foo.peggy:1:6: Subinfo\n\nwarning: Warning message\n at foo.peggy:1:6: Warning Subinfo")}))}))}))}))}));var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n1&&e.delimiter&&n(e.delimiter)))},semantic_and:a,semantic_not:a,rule_ref:function(t){var r=asts$8.findRule(e,t.name);return r?n(r):void 0},literal:function(e){return""!==e.value},class:r,any:r});return n(t)},combine:function(e){return e.reduce((function(e,t){return e.topLevelInitializer=combinePossibleArrays(e.topLevelInitializer,t.topLevelInitializer),e.initializer=combinePossibleArrays(e.initializer,t.initializer),e.rules=e.rules.concat(t.rules),e}))}},asts_1=asts$8,opcodes={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,IF_LT:30,IF_GE:31,IF_LT_DYNAMIC:32,IF_GE_DYNAMIC:33,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29,SOURCE_MAP_PUSH:37,SOURCE_MAP_POP:38,SOURCE_MAP_LABEL_PUSH:39,SOURCE_MAP_LABEL_POP:40},opcodes_1=opcodes,visitor$a=visitor_1,asts$7=asts_1,GrammarError$4=grammarError,ALWAYS_MATCH$1=1,SOMETIMES_MATCH$1=0,NEVER_MATCH$1=-1;function inferenceMatchResult$1(e){function t(e){return e.match=SOMETIMES_MATCH$1}function r(e){return o(e.expression),e.match=ALWAYS_MATCH$1}function a(e){return e.match=o(e.expression)}function n(e,t){for(var r=e.length,a=0,n=0,s=0;s0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var o=visitor$a.build({rule:function(e){var t=void 0,r=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(t=e.match,e.match=o(e.expression),++r>6)throw new GrammarError$4("Infinity cycle detected when trying to evaluate node match result",e.location)}while(t!==e.match)}return e.match},named:a,choice:function(e){return e.match=n(e.alternatives,!0)},action:a,sequence:function(e){return e.match=n(e.elements,!1)},labeled:a,text:a,simple_and:a,simple_not:function(e){return e.match=-o(e.expression)},optional:r,zero_or_more:r,one_or_more:a,repeated:function(e){var t=o(e.expression),r=e.delimiter?o(e.delimiter):NEVER_MATCH$1,a=e.min?e.min:e.max;return"constant"!==a.type||"constant"!==e.max.type?e.match=SOMETIMES_MATCH$1:0===e.max.value||null!==e.max.value&&a.value>e.max.value?e.match=NEVER_MATCH$1:t===NEVER_MATCH$1?e.match=0===a.value?ALWAYS_MATCH$1:NEVER_MATCH$1:t===ALWAYS_MATCH$1?e.delimiter&&a.value>=2?e.match=r:e.match=ALWAYS_MATCH$1:e.delimiter&&a.value>=2?e.match=r===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===a.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:a,semantic_and:t,semantic_not:t,rule_ref:function(t){var r=asts$7.findRule(e,t.name);return t.match=o(r)},literal:function(e){var t=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},class:function(e){var t=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},any:t});o(e)}inferenceMatchResult$1.ALWAYS_MATCH=ALWAYS_MATCH$1,inferenceMatchResult$1.SOMETIMES_MATCH=SOMETIMES_MATCH$1,inferenceMatchResult$1.NEVER_MATCH=NEVER_MATCH$1;var inferenceMatchResult_1=inferenceMatchResult$1,__spreadArray$5=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n1?g(SOMETIMES_MATCH,[op$2.IF_ERROR],f([op$2.POP],e(t.slice(1),r)),[]):[])}(e.alternatives,t)},action:function(e,t){var r=l(t.env),a="sequence"!==e.expression.type||0===e.expression.elements.length,n=v(e.expression,{sp:t.sp+(a?1:0),env:r,action:e}),o=e.expression.match||0,s=a&&o!==NEVER_MATCH?u(!1,Object.keys(r),e):-1;return a?f([op$2.PUSH_CURR_POS],n,g(o,[op$2.IF_NOT_ERROR],f([op$2.LOAD_SAVED_POS,1],d(s,1,r,t.sp+2)),[]),[op$2.NIP]):n},sequence:function(e,t){return f([op$2.PUSH_CURR_POS],function t(r,a){if(r.length>0){var n=e.elements.length-r.length+1;return f(v(r[0],{sp:a.sp,env:a.env,pluck:a.pluck,action:null}),g(r[0].match||0,[op$2.IF_NOT_ERROR],t(r.slice(1),{sp:a.sp+1,env:a.env,pluck:a.pluck,action:a.action}),f(n>1?[op$2.POP_N,n]:[op$2.POP],[op$2.POP_CURR_POS],[op$2.PUSH_FAILED])))}if(a.pluck&&a.pluck.length>0)return f([op$2.PLUCK,e.elements.length+1,a.pluck.length],a.pluck.map((function(e){return a.sp-e})));if(a.action){var o=u(!1,Object.keys(a.env),a.action);return f([op$2.LOAD_SAVED_POS,e.elements.length],d(o,e.elements.length+1,a.env,a.sp))}return f([op$2.WRAP,e.elements.length],[op$2.NIP])}(e.elements,{sp:t.sp+1,env:t.env,pluck:[],action:t.action}))},labeled:function(e,r){var a=r.env,n=e.label,o=r.sp+1;n&&(a=l(r.env),r.env[n]=o),e.pick&&r.pluck.push(o);var s=v(e.expression,{sp:r.sp,env:a,action:null});return n&&e.labelLocation&&t&&"source-and-map"===t.output?f([op$2.SOURCE_MAP_LABEL_PUSH,o,c(n),p(e.labelLocation)],s,[op$2.SOURCE_MAP_LABEL_POP,o]):s},text:function(e,t){return f([op$2.PUSH_CURR_POS],v(e.expression,{sp:t.sp+1,env:l(t.env),action:null}),g(e.match||0,[op$2.IF_NOT_ERROR],f([op$2.POP],[op$2.TEXT]),[op$2.NIP]))},simple_and:function(e,t){return h(e.expression,!1,t)},simple_not:function(e,t){return h(e.expression,!0,t)},optional:function(e,t){return f(v(e.expression,{sp:t.sp,env:l(t.env),action:null}),g(-(e.expression.match||0),[op$2.IF_ERROR],f([op$2.POP],[op$2.PUSH_NULL]),[]))},zero_or_more:function(e,t){var r=v(e.expression,{sp:t.sp+1,env:l(t.env),action:null});return f([op$2.PUSH_EMPTY_ARRAY],r,$(r),[op$2.POP])},one_or_more:function(e,t){var r=v(e.expression,{sp:t.sp+1,env:l(t.env),action:null});return f([op$2.PUSH_EMPTY_ARRAY],r,g(e.expression.match||0,[op$2.IF_NOT_ERROR],f($(r),[op$2.POP]),f([op$2.POP],[op$2.POP],[op$2.PUSH_FAILED])))},repeated:function(e,t){var r=e.min?e.min:e.max,a="constant"!==r.type||r.value>0,n="constant"!==e.max.type&&null!==e.max.value,o=a?2:1,s=e.min?x(e.min,t.env,t.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:t.sp},c=x(e.max,t.env,s.sp,o),i=v(e.expression,{sp:c.sp+o,env:l(t.env),action:null}),u=null!==e.delimiter?v(e.expression,{sp:c.sp+o+1,env:l(t.env),action:null}):i,p=function(e,t,r,a,n){return e?f([op$2.PUSH_CURR_POS],v(e,{sp:a.sp+n+1,env:l(a.env),action:null}),g(e.match||0,[op$2.IF_NOT_ERROR],f([op$2.POP],r,g(-t,[op$2.IF_ERROR],[op$2.POP,op$2.POP_CURR_POS,op$2.PUSH_FAILED],[op$2.NIP])),[op$2.NIP])):r}(e.delimiter,e.expression.match||0,u,t,o),d=b(p,e.max),h=n?b(i,e.max):i,m=f(a?[op$2.PUSH_CURR_POS]:[],[op$2.PUSH_EMPTY_ARRAY],h,$(d),[op$2.POP]);return f(s.pre,c.pre,a?function(e,t){var r="constant"===t.type?[op$2.IF_LT,t.value]:[op$2.IF_LT_DYNAMIC,t.sp||0];return f(e,g(SOMETIMES_MATCH,r,[op$2.POP,op$2.POP_CURR_POS,op$2.PUSH_FAILED],[op$2.NIP]))}(m,r):m,c.post,s.post)},group:function(e,t){return v(e.expression,{sp:t.sp,env:l(t.env),action:null})},semantic_and:function(e,t){return m(e,!1,t)},semantic_not:function(e,t){return m(e,!0,t)},rule_ref:function(t){return[op$2.RULE,asts$6.indexOfRule(e,t.name)]},literal:function(e){if(e.value.length>0){var t=e.match||0,r=t===SOMETIMES_MATCH||t===ALWAYS_MATCH&&!e.ignoreCase?c(e.ignoreCase?e.value.toLowerCase():e.value):-1,a=t!==ALWAYS_MATCH?i({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):-1;return g(t,e.ignoreCase?[op$2.MATCH_STRING_IC,r]:[op$2.MATCH_STRING,r],e.ignoreCase?[op$2.ACCEPT_N,e.value.length]:[op$2.ACCEPT_STRING,r],[op$2.FAIL,a])}return[op$2.PUSH_EMPTY_STRING]},class:function(e){var t=e.match||0,r=t===SOMETIMES_MATCH?function(e){var t={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},r=JSON.stringify(t),n=a.findIndex((function(e){return JSON.stringify(e)===r}));return-1===n?a.push(t)-1:n}(e):-1,n=t!==ALWAYS_MATCH?i({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):-1;return g(t,[op$2.MATCH_CHAR_CLASS,r],[op$2.ACCEPT_N,1],[op$2.FAIL,n])},any:function(e){var t=e.match||0,r=t!==ALWAYS_MATCH?i({type:"any"}):-1;return g(t,[op$2.MATCH_ANY],[op$2.ACCEPT_N,1],[op$2.FAIL,r])}},t&&"source-and-map"===t.output&&Object.keys(A).forEach((function(e){var t=A[e];A[e]=function(e){for(var r=[],a=1;a>>=VLQ_BASE_SHIFT$1,a>0&&(t|=VLQ_CONTINUATION_BIT$1),r+=base64$5.encode(t)}while(a>0);return r};var util$8={};function getArg$1(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')}util$8.getArg=getArg$1;const supportsNullProto$1=!("__proto__"in Object.create(null));function identity$1(e){return e}function toSetString$1(e){return isProtoString$1(e)?"$"+e:e}function fromSetString$1(e){return isProtoString$1(e)?e.slice(1):e}function isProtoString$1(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp$1(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated$1(e,t){let r=e.generatedLine-t.generatedLine;return 0!==r?r:(r=e.generatedColumn-t.generatedColumn,0!==r?r:(r=strcmp$1(e.source,t.source),0!==r?r:(r=e.originalLine-t.originalLine,0!==r?r:(r=e.originalColumn-t.originalColumn,0!==r?r:strcmp$1(e.name,t.name)))))}util$8.toSetString=supportsNullProto$1?identity$1:toSetString$1,util$8.fromSetString=supportsNullProto$1?identity$1:fromSetString$1,util$8.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated$1;const PROTOCOL$1="http:",PROTOCOL_AND_HOST$1=`${PROTOCOL$1}//host`;function createSafeHandler$1(e){return t=>{const r=getURLType$1(t),a=buildSafeBase$1(t),n=new URL(t,a);e(n);const o=n.toString();return"absolute"===r?o:"scheme-relative"===r?o.slice(PROTOCOL$1.length):"path-absolute"===r?o.slice(PROTOCOL_AND_HOST$1.length):computeRelativeURL$1(a,o)}}function withBase$1(e,t){return new URL(e,t).toString()}function buildUniqueSegment$1(e,t){let r=0;for(;;){const a=e+r++;if(-1===t.indexOf(a))return a}}function buildSafeBase$1(e){const t=e.split("..").length-1,r=buildUniqueSegment$1("p",e);let a=`${PROTOCOL_AND_HOST$1}/`;for(let e=0;e0&&!a[a.length-1]&&a.pop();r.length>0&&a.length>0&&r[0]===a[0];)r.shift(),a.shift();return a.map((()=>"..")).concat(r).join("/")+t.search+t.hash}const ensureDirectory$1=createSafeHandler$1((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize$1=createSafeHandler$1((e=>{}));function join$1(e,t){const r=getURLType$1(t),a=getURLType$1(e);if(e=ensureDirectory$1(e),"absolute"===r)return withBase$1(t,void 0);if("absolute"===a)return withBase$1(t,e);if("scheme-relative"===r)return normalize$1(t);if("scheme-relative"===a)return withBase$1(t,withBase$1(e,PROTOCOL_AND_HOST$1)).slice(PROTOCOL$1.length);if("path-absolute"===r)return normalize$1(t);if("path-absolute"===a)return withBase$1(t,withBase$1(e,PROTOCOL_AND_HOST$1)).slice(PROTOCOL_AND_HOST$1.length);const n=buildSafeBase$1(t+e);return computeRelativeURL$1(n,withBase$1(t,withBase$1(e,n)))}function relative$1(e,t){const r=relativeIfPossible$1(e,t);return"string"==typeof r?r:normalize$1(t)}function relativeIfPossible$1(e,t){if(getURLType$1(e)!==getURLType$1(t))return null;const r=buildSafeBase$1(e+t),a=new URL(e,r),n=new URL(t,r);try{new URL("",n.toString())}catch(e){return null}return n.protocol!==a.protocol||n.user!==a.user||n.password!==a.password||n.hostname!==a.hostname||n.port!==a.port?null:computeRelativeURL$1(a,n)}util$8.normalize=normalize$1,util$8.join=join$1,util$8.relative=relative$1;var arraySet$1={};let ArraySet$4=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){const a=new e;for(let e=0,n=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&er||a==r&&o>=n||util$7.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$3=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter$1(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$7.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList$1.MappingList=MappingList$3;const base64VLQ$1=base64Vlq$1,util$6=util$8,ArraySet$3=arraySet$1.ArraySet,MappingList$2=mappingList$1.MappingList;let SourceMapGenerator$3=class e{constructor(e){e||(e={}),this._file=util$6.getArg(e,"file",null),this._sourceRoot=util$6.getArg(e,"sourceRoot",null),this._skipValidation=util$6.getArg(e,"skipValidation",!1),this._sources=new ArraySet$3,this._names=new ArraySet$3,this._mappings=new MappingList$2,this._sourcesContents=null}static fromSourceMap(t){const r=t.sourceRoot,a=new e({file:t.file,sourceRoot:r});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=r&&(t.source=util$6.relative(r,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),a.addMapping(t)})),t.sources.forEach((function(e){let n=e;null!=r&&(n=util$6.relative(r,e)),a._sources.has(n)||a._sources.add(n);const o=t.sourceContentFor(e);null!=o&&a.setSourceContent(e,o)})),a}addMapping(e){const t=util$6.getArg(e,"generated"),r=util$6.getArg(e,"original",null);let a=util$6.getArg(e,"source",null),n=util$6.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,a,n),null!=a&&(a=String(a),this._sources.has(a)||this._sources.add(a)),null!=n&&(n=String(n),this._names.has(n)||this._names.add(n)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:r&&r.line,originalColumn:r&&r.column,source:a,name:n})}setSourceContent(e,t){let r=e;null!=this._sourceRoot&&(r=util$6.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$6.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[util$6.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,r){let a=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');a=e.file}const n=this._sourceRoot;null!=n&&(a=util$6.relative(n,a));const o=this._mappings.toArray().length>0?new ArraySet$3:this._sources,s=new ArraySet$3;this._mappings.unsortedForEach((function(t){if(t.source===a&&null!=t.originalLine){const a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=r&&(t.source=util$6.join(r,t.source)),null!=n&&(t.source=util$6.relative(n,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}const c=t.source;null==c||o.has(c)||o.add(c);const i=t.name;null==i||s.has(i)||s.add(i)}),this),this._sources=o,this._names=s,e.sources.forEach((function(t){const a=e.sourceContentFor(t);null!=a&&(null!=r&&(t=util$6.join(r,t)),null!=n&&(t=util$6.relative(n,t)),this.setSourceContent(t,a))}),this)}_validateMapping(e,t,r,a){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!a);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:a}))}_serializeMappings(){let e,t,r,a,n=0,o=1,s=0,c=0,i=0,u=0,p="";const l=this._mappings.toArray();for(let f=0,g=l.length;f0){if(!util$6.compareByGeneratedPositionsInflated(t,l[f-1]))continue;e+=","}e+=base64VLQ$1.encode(t.generatedColumn-n),n=t.generatedColumn,null!=t.source&&(a=this._sources.indexOf(t.source),e+=base64VLQ$1.encode(a-u),u=a,e+=base64VLQ$1.encode(t.originalLine-1-c),c=t.originalLine-1,e+=base64VLQ$1.encode(t.originalColumn-s),s=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=base64VLQ$1.encode(r-i),i=r)),p+=e}return p}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$6.relative(t,e));const r=util$6.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$3.prototype._version=3,sourceMapGenerator$1.SourceMapGenerator=SourceMapGenerator$3;var sourceNode$1={};const SourceMapGenerator$2=sourceMapGenerator$1.SourceMapGenerator,util$5=util$8,REGEX_NEWLINE$1=/(\r?\n)/,NEWLINE_CODE$1=10,isSourceNode$1="$$$isSourceNode$$$";let SourceNode$4=class e{constructor(e,t,r,a,n){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==n?null:n,this[isSourceNode$1]=!0,null!=a&&this.add(a)}static fromStringWithSourceMap(t,r,a){const n=new e,o=t.split(REGEX_NEWLINE$1);let s=0;const c=function(){return e()+(e()||"");function e(){return s=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode$1]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let r=0,a=this.children.length;r0){for(t=[],r=0;r' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.sourceNode=function(e,t,r){var a=GrammarLocation$3.offsetStart(e);return new SourceNode$3(a.line,a.column?a.column-1:null,String(e.source),t,r)},e.prototype.push=function(t){++this.sp>this.maxSp&&(this.maxSp=this.sp);var r=this.labels[this.sp],a=[this.name(this.sp)," = ",t,";"];if(r){if(this.sourceMapStack.length){var n=e.sourceNode(r.location,a.splice(0,2),r.label),o=this.sourceMapPopInternal(),s=o.parts,c=o.location,i=c.start.offsett.end.offset&&(r[2]={start:t.end,end:r[2].end,source:r[2].source})}this.sourceMapStack.push([e,e.length,t])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop();if(!e)throw new RangeError("Rule '".concat(this.ruleName,"': Attempting to pop an empty source map stack.\nBytecode: ").concat(this.bytecode));var t=e[0],r=e[1],a=e[2],n=t.splice(r).map((function(e){return e instanceof SourceNode$3?e:e+"\n"}));if(n.length){var o=GrammarLocation$3.offsetStart(a);t.push(new SourceNode$3(o.line,o.column-1,String(a.source),n))}return{parts:t,location:a}},e.prototype.sourceMapPop=function(e){var t=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&t.end.offset>2],n+=t[(3&e[o])<<4|e[o+1]>>4],n+=t[(15&e[o+1])<<2|e[o+2]>>6],n+=t[63&e[o+2]];return 1===r?(n+=t[e[a]>>2],n+=t[(3&e[a])<<4],n+="=="):2===r&&(n+=t[e[a]>>2],n+=t[(3&e[a])<<4|e[a+1]>>4],n+=t[(15&e[a+1])<<2],n+="="),n}function peg$subclass$1(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function peg$SyntaxError$1(e,t,r,a){var n=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(n,peg$SyntaxError$1.prototype),n.expected=t,n.found=r,n.location=a,n.name="SyntaxError",n}function peg$padEnd$1(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,e+(r+=r.repeat(t)).slice(0,t))}function peg$parse$1(e,t){var r,a={},n=(t=void 0!==t?t:{}).grammarSource,o={JSSource:ut},s=ut,c="import",i=";",u=",",p="*",l="as",f="{",g="}",d="from",h="\n",m="\r\n",$="/*",x="*/",b="//",A="\\",v='"',y="'",E="0",S="b",C="f",_="n",T="r",P="t",w="v",F="x",B="u",D=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,R=/^[\n\r\u2028\u2029]/,L=/^[\r\u2028-\u2029]/,O=/^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,M=/^[$0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F1\uA900-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,I=/^[\n\r"\\\u2028-\u2029]/,k=/^[\n\r'\\\u2028-\u2029]/,j=/^["'\\]/,N=/^[0-9ux]/,U=/^[0-9]/,q=/^[0-9a-f]/i,G=/^[{}]/,H=at("import",!1),z=at(";",!1),W=at(",",!1),V=at("*",!1),Y=at("as",!1),J=at("{",!1),Q=at("}",!1),X=at("from",!1),K={type:"any"},Z=ot("whitespace"),ee=nt(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),te=nt(["\n","\r","\u2028","\u2029"],!1,!1),re=ot("end of line"),ae=at("\n",!1),ne=at("\r\n",!1),oe=nt(["\r",["\u2028","\u2029"]],!1,!1),se=ot("comment"),ce=at("/*",!1),ie=at("*/",!1),ue=at("//",!1),pe=ot("identifier"),le=nt([["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","Ɬ"],["Ʞ","ꞷ"],["ꟷ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭥ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),fe=at("\\",!1),ge=nt(["$",["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["ୖ","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ః"],["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],["ഁ","ഃ"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ං","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠐","᠙"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭",["ᳲ","᳴"],["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["‌","‍"],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],["ꢀ","ꢁ"],["ꢴ","꣄"],["꣐","꣙"],["꣠","꣱"],["꤀","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),de=ot("string"),he=at('"',!1),me=at("'",!1),$e=nt(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),xe=nt(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),be=at("0",!1),Ae=nt(['"',"'","\\"],!1,!1),ve=at("b",!1),ye=at("f",!1),Ee=at("n",!1),Se=at("r",!1),Ce=at("t",!1),_e=at("v",!1),Te=nt([["0","9"],"u","x"],!1,!1),Pe=at("x",!1),we=at("u",!1),Fe=nt([["0","9"]],!1,!1),Be=nt([["0","9"],["a","f"]],!1,!0),De=nt(["{","}"],!1,!1),Re=function(e,t){return[e,{type:"top_level_initializer",code:t[0],codeLocation:t[1]}]},Le=function(e){return{type:"top_level_initializer",code:e,codeLocation:rt()}},Oe=function(e){return-1===Rt.indexOf(e[0])},Me=function(e,t){return[e+t.join(""),rt()]},Ie=function(e){return e.join("")},ke=function(e){return e.join("")},je=function(){return""},Ne=function(){return"\0"},Ue=function(){return"\b"},qe=function(){return"\f"},Ge=function(){return"\n"},He=function(){return"\r"},ze=function(){return"\t"},We=function(){return"\v"},Ve=function(e){return String.fromCharCode(parseInt(e,16))},Ye=function(e){return String.fromCharCode(parseInt(e,16))},Je=function(e){return[e,rt()]},Qe=0,Xe=0,Ke=[{line:1,column:1}],Ze=0,et=[],tt=0;if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function rt(){return ct(Xe,Qe)}function at(e,t){return{type:"literal",text:e,ignoreCase:t}}function nt(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function ot(e){return{type:"other",description:e}}function st(t){var r,a=Ke[t];if(a)return a;if(t>=Ke.length)r=Ke.length-1;else for(r=t;!Ke[--r];);for(a={line:(a=Ke[r]).line,column:a.column};rZe&&(Ze=Qe,et=[]),et.push(e))}function ut(){var t,r,n;return t=Qe,r=function(){var t,r,n,o;for(t=Qe,r=Qe,n=[],o=pt();o!==a;)n.push(o),o=pt();return r=e.substring(r,Qe),Xe=t,t=r=Le(r)}(),n=function(){var e,t;return e=Qe,t=Bt(),Xe=e,e=t=Je(t)}(),Xe=t,Re(r,n)}function pt(){var t,r,n,o,s,p,l,f,g;return t=Qe,r=Dt(),e.substr(Qe,6)===c?(n=c,Qe+=6):(n=a,0===tt&&it(H)),n!==a?(o=Dt(),s=function(){var t,r,n,o,s,c;return(t=dt())===a&&(t=lt())===a&&(t=ft())===a&&(t=Qe,(r=dt())!==a?(n=Dt(),44===e.charCodeAt(Qe)?(o=u,Qe++):(o=a,0===tt&&it(W)),o!==a?(s=Dt(),(c=lt())===a&&(c=ft()),c!==a?t=r=[r,n,o,s,c]:(Qe=t,t=a)):(Qe=t,t=a)):(Qe=t,t=a)),t}(),s!==a?(p=Dt(),l=function(){var t,r,n,o;return t=Qe,e.substr(Qe,4)===d?(r=d,Qe+=4):(r=a,0===tt&&it(X)),r!==a?(n=Dt(),(o=Et())!==a?t=r=[r,n,o]:(Qe=t,t=a)):(Qe=t,t=a),t}(),l!==a?(f=Dt(),59===e.charCodeAt(Qe)?(g=i,Qe++):(g=a,0===tt&&it(z)),g===a&&(g=null),t=r=[r,n,o,s,p,l,f,g]):(Qe=t,t=a)):(Qe=t,t=a)):(Qe=t,t=a),t===a&&(t=Qe,r=Dt(),e.substr(Qe,6)===c?(n=c,Qe+=6):(n=a,0===tt&&it(H)),n!==a?(o=Dt(),(s=Et())!==a?(p=Dt(),59===e.charCodeAt(Qe)?(l=i,Qe++):(l=a,0===tt&&it(z)),l===a&&(l=null),t=r=[r,n,o,s,p,l]):(Qe=t,t=a)):(Qe=t,t=a)),t}function lt(){var t,r,n,o,s,c;return t=Qe,42===e.charCodeAt(Qe)?(r=p,Qe++):(r=a,0===tt&&it(V)),r!==a?(n=Dt(),e.substr(Qe,2)===l?(o=l,Qe+=2):(o=a,0===tt&&it(Y)),o!==a?(s=Dt(),(c=dt())!==a?t=r=[r,n,o,s,c]:(Qe=t,t=a)):(Qe=t,t=a)):(Qe=t,t=a),t}function ft(){var t,r,n,o,s,c,i,p;return t=Qe,123===e.charCodeAt(Qe)?(r=f,Qe++):(r=a,0===tt&&it(J)),r!==a?(n=Dt(),125===e.charCodeAt(Qe)?(o=g,Qe++):(o=a,0===tt&&it(Q)),o!==a?t=r=[r,n,o]:(Qe=t,t=a)):(Qe=t,t=a),t===a&&(t=Qe,123===e.charCodeAt(Qe)?(r=f,Qe++):(r=a,0===tt&&it(J)),r!==a?(n=Dt(),o=function(){var t,r,n,o,s,c;for(t=Qe,r=[],n=gt();n!==a;)r.push(n),n=Qe,o=Qe,s=Dt(),44===e.charCodeAt(Qe)?(c=u,Qe++):(c=a,0===tt&&it(W)),c!==a?o=s=[s,c,Dt()]:(Qe=o,o=a),o!==a&&(o=gt())===a?(Qe=n,n=a):n=o;return r.length<1?(Qe=t,t=a):t=r,t}(),o!==a?(s=Dt(),44===e.charCodeAt(Qe)?(c=u,Qe++):(c=a,0===tt&&it(W)),c===a&&(c=null),i=Dt(),125===e.charCodeAt(Qe)?(p=g,Qe++):(p=a,0===tt&&it(Q)),p!==a?t=r=[r,n,o,s,c,i,p]:(Qe=t,t=a)):(Qe=t,t=a)):(Qe=t,t=a)),t}function gt(){var t,r,n,o,s,c;return t=Qe,r=function(){var e;return(e=At())===a&&(e=Et()),e}(),r!==a?(n=Dt(),e.substr(Qe,2)===l?(o=l,Qe+=2):(o=a,0===tt&&it(Y)),o!==a?(s=Dt(),(c=dt())!==a?t=r=[r,n,o,s,c]:(Qe=t,t=a)):(Qe=t,t=a)):(Qe=t,t=a),t===a&&(t=dt()),t}function dt(){var e,t,r;return e=Qe,(t=At())!==a?(Xe=Qe,(r=(r=Oe(t))?void 0:a)!==a?e=t=[t,r]:(Qe=e,e=a)):(Qe=e,e=a),e}function ht(){var t;return e.length>Qe?(t=e.charAt(Qe),Qe++):(t=a,0===tt&&it(K)),t}function mt(){var t;return tt++,t=e.charAt(Qe),D.test(t)?Qe++:(t=a,0===tt&&it(ee)),tt--,t===a&&0===tt&&it(Z),t}function $t(){var t;return t=e.charAt(Qe),R.test(t)?Qe++:(t=a,0===tt&&it(te)),t}function xt(){var t;return tt++,10===e.charCodeAt(Qe)?(t=h,Qe++):(t=a,0===tt&&it(ae)),t===a&&(e.substr(Qe,2)===m?(t=m,Qe+=2):(t=a,0===tt&&it(ne)),t===a&&(t=e.charAt(Qe),L.test(t)?Qe++:(t=a,0===tt&&it(oe)))),tt--,t===a&&0===tt&&it(re),t}function bt(){var t;return tt++,(t=function(){var t,r,n,o,s,c;if(t=Qe,e.substr(Qe,2)===$?(r=$,Qe+=2):(r=a,0===tt&&it(ce)),r!==a){for(n=[],o=Qe,s=Qe,tt++,e.substr(Qe,2)===x?(c=x,Qe+=2):(c=a,0===tt&&it(ie)),tt--,c===a?s=void 0:(Qe=s,s=a),s!==a&&(c=ht())!==a?o=s=[s,c]:(Qe=o,o=a);o!==a;)n.push(o),o=Qe,s=Qe,tt++,e.substr(Qe,2)===x?(c=x,Qe+=2):(c=a,0===tt&&it(ie)),tt--,c===a?s=void 0:(Qe=s,s=a),s!==a&&(c=ht())!==a?o=s=[s,c]:(Qe=o,o=a);e.substr(Qe,2)===x?(o=x,Qe+=2):(o=a,0===tt&&it(ie)),o!==a?t=r=[r,n,o]:(Qe=t,t=a)}else Qe=t,t=a;return t}())===a&&(t=function(){var t,r,n,o,s,c;if(t=Qe,e.substr(Qe,2)===b?(r=b,Qe+=2):(r=a,0===tt&&it(ue)),r!==a){for(n=[],o=Qe,s=Qe,tt++,c=$t(),tt--,c===a?s=void 0:(Qe=s,s=a),s!==a&&(c=ht())!==a?o=s=[s,c]:(Qe=o,o=a);o!==a;)n.push(o),o=Qe,s=Qe,tt++,c=$t(),tt--,c===a?s=void 0:(Qe=s,s=a),s!==a&&(c=ht())!==a?o=s=[s,c]:(Qe=o,o=a);t=r=[r,n]}else Qe=t,t=a;return t}()),tt--,t===a&&0===tt&&it(se),t}function At(){var e,t,r,n;if(tt++,e=Qe,(t=vt())!==a){for(r=[],n=yt();n!==a;)r.push(n),n=yt();Xe=e,e=Me(t,r)}else Qe=e,e=a;return tt--,e===a&&(t=a,0===tt&&it(pe)),e}function vt(){var t,r,n;return t=e.charAt(Qe),O.test(t)?Qe++:(t=a,0===tt&&it(le)),t===a&&(t=Qe,92===e.charCodeAt(Qe)?(r=A,Qe++):(r=a,0===tt&&it(fe)),r!==a&&(n=wt())!==a?t=n:(Qe=t,t=a)),t}function yt(){var t;return(t=vt())===a&&(t=e.charAt(Qe),M.test(t)?Qe++:(t=a,0===tt&&it(ge))),t}function Et(){var t,r,n,o;if(tt++,t=Qe,34===e.charCodeAt(Qe)?(r=v,Qe++):(r=a,0===tt&&it(he)),r!==a){for(n=[],o=St();o!==a;)n.push(o),o=St();34===e.charCodeAt(Qe)?(o=v,Qe++):(o=a,0===tt&&it(he)),o!==a?(Xe=t,t=Ie(n)):(Qe=t,t=a)}else Qe=t,t=a;if(t===a)if(t=Qe,39===e.charCodeAt(Qe)?(r=y,Qe++):(r=a,0===tt&&it(me)),r!==a){for(n=[],o=Ct();o!==a;)n.push(o),o=Ct();39===e.charCodeAt(Qe)?(o=y,Qe++):(o=a,0===tt&&it(me)),o!==a?(Xe=t,t=ke(n)):(Qe=t,t=a)}else Qe=t,t=a;return tt--,t===a&&(r=a,0===tt&&it(de)),t}function St(){var t,r,n,o;return t=Qe,r=Qe,n=Qe,tt++,o=e.charAt(Qe),I.test(o)?Qe++:(o=a,0===tt&&it($e)),tt--,o===a?n=void 0:(Qe=n,n=a),n!==a&&(o=ht())!==a?r=n=[n,o]:(Qe=r,r=a),(t=r!==a?e.substring(t,Qe):r)===a&&(t=Qe,92===e.charCodeAt(Qe)?(r=A,Qe++):(r=a,0===tt&&it(fe)),r!==a&&(n=Tt())!==a?t=n:(Qe=t,t=a),t===a&&(t=_t())),t}function Ct(){var t,r,n,o;return t=Qe,r=Qe,n=Qe,tt++,o=e.charAt(Qe),k.test(o)?Qe++:(o=a,0===tt&&it(xe)),tt--,o===a?n=void 0:(Qe=n,n=a),n!==a&&(o=ht())!==a?r=n=[n,o]:(Qe=r,r=a),(t=r!==a?e.substring(t,Qe):r)===a&&(t=Qe,92===e.charCodeAt(Qe)?(r=A,Qe++):(r=a,0===tt&&it(fe)),r!==a&&(n=Tt())!==a?t=n:(Qe=t,t=a),t===a&&(t=_t())),t}function _t(){var t,r;return t=Qe,92===e.charCodeAt(Qe)?(r=A,Qe++):(r=a,0===tt&&it(fe)),r!==a&&xt()!==a?(Xe=t,t=je()):(Qe=t,t=a),t}function Tt(){var t,r,n,o;return t=function(){var t;return(t=Pt())===a&&(t=function(){var t,r,n,o;return t=Qe,r=Qe,n=Qe,tt++,o=function(){var t;return(t=Pt())===a&&(t=e.charAt(Qe),N.test(t)?Qe++:(t=a,0===tt&&it(Te))),t}(),o===a&&(o=$t()),tt--,o===a?n=void 0:(Qe=n,n=a),n!==a&&(o=ht())!==a?r=n=[n,o]:(Qe=r,r=a),t=r!==a?e.substring(t,Qe):r}()),t}(),t===a&&(t=Qe,48===e.charCodeAt(Qe)?(r=E,Qe++):(r=a,0===tt&&it(be)),r!==a?(n=Qe,tt++,o=function(){var t;return t=e.charAt(Qe),U.test(t)?Qe++:(t=a,0===tt&&it(Fe)),t}(),tt--,o===a?n=void 0:(Qe=n,n=a),n!==a?(Xe=t,t=Ne()):(Qe=t,t=a)):(Qe=t,t=a),t===a&&(t=function(){var t,r,n,o,s,c;return t=Qe,120===e.charCodeAt(Qe)?(r=F,Qe++):(r=a,0===tt&&it(Pe)),r!==a?(n=Qe,o=Qe,(s=Ft())!==a&&(c=Ft())!==a?o=s=[s,c]:(Qe=o,o=a),(n=o!==a?e.substring(n,Qe):o)!==a?(Xe=t,t=Ve(n)):(Qe=t,t=a)):(Qe=t,t=a),t}(),t===a&&(t=wt()))),t}function Pt(){var t,r;return t=e.charAt(Qe),j.test(t)?Qe++:(t=a,0===tt&&it(Ae)),t===a&&(t=Qe,98===e.charCodeAt(Qe)?(r=S,Qe++):(r=a,0===tt&&it(ve)),r!==a&&(Xe=t,r=Ue()),(t=r)===a&&(t=Qe,102===e.charCodeAt(Qe)?(r=C,Qe++):(r=a,0===tt&&it(ye)),r!==a&&(Xe=t,r=qe()),(t=r)===a&&(t=Qe,110===e.charCodeAt(Qe)?(r=_,Qe++):(r=a,0===tt&&it(Ee)),r!==a&&(Xe=t,r=Ge()),(t=r)===a&&(t=Qe,114===e.charCodeAt(Qe)?(r=T,Qe++):(r=a,0===tt&&it(Se)),r!==a&&(Xe=t,r=He()),(t=r)===a&&(t=Qe,116===e.charCodeAt(Qe)?(r=P,Qe++):(r=a,0===tt&&it(Ce)),r!==a&&(Xe=t,r=ze()),(t=r)===a&&(t=Qe,118===e.charCodeAt(Qe)?(r=w,Qe++):(r=a,0===tt&&it(_e)),r!==a&&(Xe=t,r=We()),t=r)))))),t}function wt(){var t,r,n,o,s,c,i,u;return t=Qe,117===e.charCodeAt(Qe)?(r=B,Qe++):(r=a,0===tt&&it(we)),r!==a?(n=Qe,o=Qe,(s=Ft())!==a&&(c=Ft())!==a&&(i=Ft())!==a&&(u=Ft())!==a?o=s=[s,c,i,u]:(Qe=o,o=a),(n=o!==a?e.substring(n,Qe):o)!==a?(Xe=t,t=Ye(n)):(Qe=t,t=a)):(Qe=t,t=a),t}function Ft(){var t;return t=e.charAt(Qe),q.test(t)?Qe++:(t=a,0===tt&&it(Be)),t}function Bt(){var t,r,n,o,s,c;if(t=Qe,r=[],n=[],o=Qe,s=Qe,tt++,c=e.charAt(Qe),G.test(c)?Qe++:(c=a,0===tt&&it(De)),tt--,c===a?s=void 0:(Qe=s,s=a),s!==a&&(c=ht())!==a?o=s=[s,c]:(Qe=o,o=a),o!==a)for(;o!==a;)n.push(o),o=Qe,s=Qe,tt++,c=e.charAt(Qe),G.test(c)?Qe++:(c=a,0===tt&&it(De)),tt--,c===a?s=void 0:(Qe=s,s=a),s!==a&&(c=ht())!==a?o=s=[s,c]:(Qe=o,o=a);else n=a;for(n===a&&(n=Qe,123===e.charCodeAt(Qe)?(o=f,Qe++):(o=a,0===tt&&it(J)),o!==a?(s=Bt(),125===e.charCodeAt(Qe)?(c=g,Qe++):(c=a,0===tt&&it(Q)),c!==a?n=o=[o,s,c]:(Qe=n,n=a)):(Qe=n,n=a));n!==a;){if(r.push(n),n=[],o=Qe,s=Qe,tt++,c=e.charAt(Qe),G.test(c)?Qe++:(c=a,0===tt&&it(De)),tt--,c===a?s=void 0:(Qe=s,s=a),s!==a&&(c=ht())!==a?o=s=[s,c]:(Qe=o,o=a),o!==a)for(;o!==a;)n.push(o),o=Qe,s=Qe,tt++,c=e.charAt(Qe),G.test(c)?Qe++:(c=a,0===tt&&it(De)),tt--,c===a?s=void 0:(Qe=s,s=a),s!==a&&(c=ht())!==a?o=s=[s,c]:(Qe=o,o=a);else n=a;n===a&&(n=Qe,123===e.charCodeAt(Qe)?(o=f,Qe++):(o=a,0===tt&&it(J)),o!==a?(s=Bt(),125===e.charCodeAt(Qe)?(c=g,Qe++):(c=a,0===tt&&it(Q)),c!==a?n=o=[o,s,c]:(Qe=n,n=a)):(Qe=n,n=a))}return e.substring(t,Qe)}function Dt(){var e,t;for(e=[],(t=mt())===a&&(t=xt())===a&&(t=bt());t!==a;)e.push(t),(t=mt())===a&&(t=xt())===a&&(t=bt());return e}var Rt=t.reservedWords||[];if((r=s())!==a&&Qe===e.length)return r;throw r!==a&&Qe0){for(t=1,r=1;t0&&(t.forEach((function(e){n.push("var "+e+' = require("'+stringEscape$1(i[e])+'");')})),n.push("")),n.push(e,"","module.exports = "+a()+";"),n},es:function(){var a=Object.keys(i),n=r();return n.push(""),a.length>0&&(a.forEach((function(e){n.push("import "+e+' from "'+stringEscape$1(i[e])+'";')})),n.push("")),n.push(e,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),n},amd:function(){var t=Object.keys(i),n="["+t.map((function(e){return i[e]})).map((function(e){return'"'+stringEscape$1(e)+'"'})).join(", ")+"]",o=t.join(", ");return __spreadArray$4(__spreadArray$4([],r(),!0),["define("+n+", function("+o+") {",' "use strict";',"",e,"",u("return "+a()+";"),"});"],!1)},globals:function(){return __spreadArray$4(__spreadArray$4([],r(),!0),["(function(root) {",' "use strict";',"",e,"",u("root."+t.exportVar+" = "+a()+";"),"})(this);"],!1)},umd:function(){var n=Object.keys(i),o=n.map((function(e){return i[e]})),s="["+o.map((function(e){return'"'+stringEscape$1(e)+'"'})).join(", ")+"]",c=o.map((function(e){return'require("'+stringEscape$1(e)+'")'})).join(", "),p=n.join(", "),l=r();return l.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+s+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+c+");"),null!==t.exportVar&&l.push(" } else {"," root."+t.exportVar+" = factory();"),l.push(" }","})(this, function("+p+") {",' "use strict";',"",e,"",u("return "+a()+";"),"});"),l}}[t.format||"bare"]();return new SourceNode$2(null,null,t.grammarSource,n.map((function(e){return e instanceof SourceNode$2?e:e+"\n"})))}(function(){var i=[],m=e.topLevelInitializer;if(m)if(Array.isArray(m)){if("es"===t.format){for(var $=[],x=[],b=0,A=m;b targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var offset_s = (this.location.source && (typeof this.location.source.offset === "function"))'," ? this.location.source.offset(s)"," : s;",' var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;'," if (src) {"," var e = this.location.end;"," var filler = peg$padEnd(\"\", offset_s.line.toString().length, ' ');"," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --\x3e " + loc + "\\n"',' + filler + " |\\n"',' + offset_s.line + " | " + line + "\\n"',' + filler + " | " + peg$padEnd("", s.column - 1, \' \')',' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/"/g, "\\\\\\"")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/\\]/g, "\\\\]")',' .replace(/\\^/g, "\\\\^")',' .replace(/-/g, "\\\\-")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&i.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");var T="{ "+c.map((function(e){return e+": "+d(e)})).join(", ")+" }",P=d(c[0]);if(i.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+T+";"," var peg$startRuleFunction = "+P+";","",new SourceNode$2(null,null,t.grammarSource,__spreadArray$4([r.map((function(e,t){return" var "+p(t)+' = "'+stringEscape$1(e)+'";'})).concat("",n.map((function(e,t){return" var "+l(t)+" = /^["+((r=e).inverted?"^":"")+r.value.map((function(e){return Array.isArray(e)?regexpClassEscape$1(e[0])+"-"+regexpClassEscape$1(e[1]):regexpClassEscape$1(e)})).join("")+"]/"+(r.ignoreCase?"i":"")+";";var r}))).concat("",o.map((function(e,t){return" var "+f(t)+" = "+function(e){switch(e.type){case"rule":return'peg$otherExpectation("'+stringEscape$1(e.value)+'")';case"literal":return'peg$literalExpectation("'+stringEscape$1(e.value)+'", '+e.ignoreCase+")";case"class":return"peg$classExpectation(["+e.value.map((function(e){return Array.isArray(e)?'["'+stringEscape$1(e[0])+'", "'+stringEscape$1(e[1])+'"]':'"'+stringEscape$1(e)+'"'})).join(", ")+"], "+e.inverted+", "+e.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(e)+")")}}(e)+";"}))).concat("").join("\n")],s.map((function(e,t){return wrapInSourceNode("\n var ".concat(g(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")})),!0)),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&i.push(" var peg$resultsCache = {};",""),t.trace&&i.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),i.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",' throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");'," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," if (pos >= peg$posDetailsCache.length) {"," p = peg$posDetailsCache.length - 1;"," } else {"," p = pos;"," while (!peg$posDetailsCache[--p]) {}"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos, offset) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," var res = {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };",' if (offset && peg$source && (typeof peg$source.offset === "function")) {'," res.start = peg$source.offset(res.start);"," res.end = peg$source.offset(res.end);"," }"," return res;"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach((function(n){i.push.apply(i,u(function(n){var o=[],s=n.bytecode,c=new Stack$1(n.name,"s","var",s),i=function t(n){var o=0,s=n.length,i=[],h=void 0;function m(e,r,a){var s=r+3,p=n[o+s-2],l=n[o+s-1],f=c.checkedIf(o,(function(){return o+=s+p,(a||t)(n.slice(o-p,o))}),l>0?function(){return o+=l,t(n.slice(o-l,o))}:null),g=f[0],d=f[1];i.push("if ("+e+") {"),i.push.apply(i,u(g)),l>0&&(i.push("} else {"),i.push.apply(i,u(d))),i.push("}")}function $(e,r,a){var s=r+3,u=1===a?"input.charAt(peg$currPos)":"input.substr(peg$currPos, "+a+")",p=null;n[o+s]===op$1.ACCEPT_N&&n[o+s+1]===a&&(i.push(c.push(u)),u=c.pop(),p=function(e){c.sp++;var r=t(e.slice(2));return r.unshift(1===a?"peg$currPos++;":"peg$currPos += "+a+";"),r}),m(e(u,null!==p),r,p)}for(var x=function(){switch(n[o]){case op$1.PUSH_EMPTY_STRING:i.push(c.push("''")),o++;break;case op$1.PUSH_CURR_POS:i.push(c.push("peg$currPos")),o++;break;case op$1.PUSH_UNDEFINED:i.push(c.push("undefined")),o++;break;case op$1.PUSH_NULL:i.push(c.push("null")),o++;break;case op$1.PUSH_FAILED:i.push(c.push("peg$FAILED")),o++;break;case op$1.PUSH_EMPTY_ARRAY:i.push(c.push("[]")),o++;break;case op$1.POP:c.pop(),o++;break;case op$1.POP_CURR_POS:i.push("peg$currPos = "+c.pop()+";"),o++;break;case op$1.POP_N:c.pop(n[o+1]),o+=2;break;case op$1.NIP:h=c.pop(),c.pop(),i.push(c.push(h)),o++;break;case op$1.APPEND:h=c.pop(),i.push(c.top()+".push("+h+");"),o++;break;case op$1.WRAP:i.push(c.push("["+c.pop(n[o+1]).join(", ")+"]")),o+=2;break;case op$1.TEXT:i.push(c.push("input.substring("+c.pop()+", peg$currPos)")),o++;break;case op$1.PLUCK:var s=n[o+3-1],x=3+s;h=n.slice(o+3,o+x),h=1===s?c.index(h[0]):"[ ".concat(h.map((function(e){return c.index(e)})).join(", ")," ]"),c.pop(n[o+1]),i.push(c.push(h)),o+=x;break;case op$1.IF:m(c.top(),0);break;case op$1.IF_ERROR:m(c.top()+" === peg$FAILED",0);break;case op$1.IF_NOT_ERROR:m(c.top()+" !== peg$FAILED",0);break;case op$1.IF_LT:m(c.top()+".length < "+n[o+1],1);break;case op$1.IF_GE:m(c.top()+".length >= "+n[o+1],1);break;case op$1.IF_LT_DYNAMIC:m(c.top()+".length < ("+c.index(n[o+1])+"|0)",1);break;case op$1.IF_GE_DYNAMIC:m(c.top()+".length >= ("+c.index(n[o+1])+"|0)",1);break;case op$1.WHILE_NOT_ERROR:E=c.top()+" !== peg$FAILED",S=n[o+2-1],C=c.checkedLoop(o,(function(){return o+=2+S,t(n.slice(o-S,o))})),i.push("while ("+E+") {"),i.push.apply(i,u(C)),i.push("}");break;case op$1.MATCH_ANY:m("input.length > peg$currPos",0);break;case op$1.MATCH_STRING:var b=n[o+1],A=r[b];$((function(e,t){return A.length>1?"".concat(e," === ").concat(p(b)):(e=t?"".concat(e,".charCodeAt(0)"):"input.charCodeAt(peg$currPos)","".concat(e," === ").concat(A.charCodeAt(0)))}),1,A.length);break;case op$1.MATCH_STRING_IC:var v=n[o+1];$((function(e){return"".concat(e,".toLowerCase() === ").concat(p(v))}),1,r[v].length);break;case op$1.MATCH_CHAR_CLASS:var y=n[o+1];$((function(e){return"".concat(l(y),".test(").concat(e,")")}),1,1);break;case op$1.ACCEPT_N:i.push(c.push(n[o+1]>1?"input.substr(peg$currPos, "+n[o+1]+")":"input.charAt(peg$currPos)")),i.push(n[o+1]>1?"peg$currPos += "+n[o+1]+";":"peg$currPos++;"),o+=2;break;case op$1.ACCEPT_STRING:i.push(c.push(p(n[o+1]))),i.push(r[n[o+1]].length>1?"peg$currPos += "+r[n[o+1]].length+";":"peg$currPos++;"),o+=2;break;case op$1.FAIL:i.push(c.push("peg$FAILED")),i.push("if (peg$silentFails === 0) { peg$fail("+f(n[o+1])+"); }"),o+=2;break;case op$1.LOAD_SAVED_POS:i.push("peg$savedPos = "+c.index(n[o+1])+";"),o+=2;break;case op$1.UPDATE_SAVED_POS:i.push("peg$savedPos = peg$currPos;"),o++;break;case op$1.CALL:h=function(e){var t=n[o+4-1];return g(n[o+1])+"("+n.slice(o+4,o+4+t).map((function(e){return c.index(e)})).join(", ")+")"}(),c.pop(n[o+2]),i.push(c.push(h)),o+=4+n[o+3];break;case op$1.RULE:i.push(c.push(d(e.rules[n[o+1]].name)+"()")),o+=2;break;case op$1.SILENT_FAILS_ON:i.push("peg$silentFails++;"),o++;break;case op$1.SILENT_FAILS_OFF:i.push("peg$silentFails--;"),o++;break;case op$1.SOURCE_MAP_PUSH:c.sourceMapPush(i,a[n[o+1]]),o+=2;break;case op$1.SOURCE_MAP_POP:c.sourceMapPop(),o++;break;case op$1.SOURCE_MAP_LABEL_PUSH:c.labels[n[o+1]]={label:r[n[o+2]],location:a[n[o+3]]},o+=4;break;case op$1.SOURCE_MAP_LABEL_POP:delete c.labels[n[o+1]],o+=2;break;default:throw new Error("Invalid opcode: "+n[o]+".")}var E,S,C};oc?-1:1:0}));for(var t="",r="",a=0;a=s.charCodeAt(0)?(e.splice(a--,1),e[a]=[t,r=c]):(t=s,r=c)}return e}function mergeCharacterClasses$1(e){var t=Object.create(null);e.rules.forEach((function(e){return t[e.name]=e.expression}));var r=Object.create(null),a=[function(e,a){if("class"===e.type&&!e.inverted)return a&&((e=__assign$1({},e)).parts=__spreadArray$3([],e.parts,!0)),e;if("literal"===e.type&&1===e.value.length)return{type:"class",parts:[e.value],inverted:!1,ignoreCase:e.ignoreCase,location:e.location};if("rule_ref"===e.type){var s=t[e.name];if(s){r[e.name]||(r[e.name]=!0,o(s));var c=n(s,!0);return c&&(c.location=e.location),c}}return null},visitor$7.build({choice:function(e){var t=null,r=!1;e.alternatives.forEach((function(a,s){var c;o(a);var i=n(a);i?t&&t.ignoreCase===i.ignoreCase?((c=t.parts).push.apply(c,i.parts),e.alternatives[s-1]=t,e.alternatives[s]=t,t.location={source:t.location.source,start:t.location.start,end:i.location.end},r=!0):t=i:t=null})),r&&(e.alternatives=e.alternatives.filter((function(e,t,r){return!t||e!==r[t-1]})),e.alternatives.forEach((function(t,r){"class"===t.type&&(t.parts=cleanParts(t.parts),1!==t.parts.length||Array.isArray(t.parts[0])||t.inverted||(e.alternatives[r]={type:"literal",value:t.parts[0],ignoreCase:t.ignoreCase,location:t.location}))})),1===e.alternatives.length&&cloneOver(e,e.alternatives[0]))},text:function(e){if(o(e.expression),"class"===e.expression.type||"literal"===e.expression.type){var t=e.location;cloneOver(e,e.expression),e.location=t}}})],n=a[0],o=a[1];e.rules.forEach((function(e){r[e.name]=!0,o(e.expression)}))}var mergeCharacterClasses_1=mergeCharacterClasses$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,t,r){function a(e){var t={};return Object.keys(e).forEach((function(r){t[r]=e[r]})),t}function n(e,t){o(e.expression,a(t))}var o=visitor$6.build({rule:function(e){o(e.expression,{})},choice:function(e,t){e.alternatives.forEach((function(e){o(e,a(t))}))},action:n,labeled:function(e,t){var a=e.label;a&&Object.prototype.hasOwnProperty.call(t,a)&&r.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:t[a]}]),o(e.expression,t),t[e.label]=e.labelLocation},text:n,simple_and:n,simple_not:n,optional:n,zero_or_more:n,one_or_more:n,repeated:function(e,t){e.delimiter&&o(e.delimiter,a(t)),o(e.expression,a(t))},group:n});o(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,t,r){var a={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(a,e.name)?r.error('Rule "'.concat(e.name,'" is already defined'),e.nameLocation,[{message:"Original rule location",location:a[e.name]}]):a[e.name]=e.nameLocation}})(e)}var reportDuplicateRules_1=reportDuplicateRules$1,asts$3=asts_1,visitor$4=visitor_1;function reportInfiniteRecursion$1(e,t,r){var a=[],n=[],o=visitor$4.build({rule:function(e){a.push(e.name),o(e.expression),a.pop()},sequence:function(t){t.elements.every((function(t){return o(t),!asts$3.alwaysConsumesOnSuccess(e,t)}))},repeated:function(t){o(t.expression),t.delimiter&&!asts$3.alwaysConsumesOnSuccess(e,t.expression)&&o(t.delimiter)},rule_ref:function(t){n.push(t);var s=asts$3.findRule(e,t.name);if(-1!==a.indexOf(t.name))return a.push(t.name),void r.error("Possible infinite loop when parsing (left recursion: "+a.join(" -> ")+")",s.nameLocation,n.map((function(e,t,r){return{message:t+1!==r.length?"Step ".concat(t+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(t+1,": call itself without input consumption - left recursion"),location:e.location}})));s&&o(s),n.pop()}});o(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$2=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,t,r){var a=visitor$3.build({zero_or_more:function(t){asts$2.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},one_or_more:function(t){asts$2.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},repeated:function(t){if(t.delimiter&&a(t.delimiter),!(asts$2.alwaysConsumesOnSuccess(e,t.expression)||t.delimiter&&asts$2.alwaysConsumesOnSuccess(e,t.delimiter)))if(null===t.max.value)r.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",t.location);else{var n=t.min?t.min:t.max;r.warning("constant"===n.type&&"constant"===t.max.type?"An expression may not consume any input and may always match ".concat(t.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",t.location)}}});a(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts$1=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,t,r){visitor$2.build({rule_ref:function(t){asts$1.findRule(e,t.name)||r.error('Rule "'.concat(t.name,'" is not defined'),t.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,t,r){var a=visitor$1.build({action:function(e){a(e.expression,e)},labeled:function(e,t){e.pick&&t&&r.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:t.codeLocation}]),a(e.expression)}});a(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray$2=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n0:e&&"function"==typeof e.offset}var compiler$2={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,mergeCharacterClasses,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile:function(ast,passes,options){if(options=void 0!==options?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(0===options.allowedStartRules.length)throw new Error("Must have at least one start rule");var allRules=ast.rules.map((function(e){return e.name}));if(options.allowedStartRules.some((function(e){return"*"===e})))options.allowedStartRules=allRules;else for(var _i=0,_a=options.allowedStartRules;_i<_a.length;_i++){var rule=_a[_i];if(-1===allRules.indexOf(rule))throw new Error('Unknown start rule "'.concat(rule,'"'))}if(("source-and-map"===options.output||"source-with-inline-map"===options.output)&&!isSourceMapCapable(options.grammarSource))throw new Error("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps");var session=new Session$1(options);switch(Object.keys(passes).forEach((function(e){session.stage=e,session.info("Process stage ".concat(e)),passes[e].forEach((function(t){session.info("Process pass ".concat(e,".").concat(t.name)),t(ast,options,session)})),session.checkErrors()})),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;case"source-with-inline-map":if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not supported by this platform");var sourceMap=ast.code.toStringWithSourceMap(),encoder=new TextEncoder,b64=base64$3(encoder.encode(JSON.stringify(sourceMap.map.toJSON())));return sourceMap.code+"//# sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(b64,"\n");case"ast":return ast;default:throw new Error("Invalid output format: "+options.output+".")}}},compiler_1=compiler$2,OPS_TO_PREFIXED_TYPES={$:"text","&":"simple_and","!":"simple_not"},OPS_TO_SUFFIXED_TYPES={"?":"optional","*":"zero_or_more","+":"one_or_more"},OPS_TO_SEMANTIC_PREDICATE_TYPES={"&":"semantic_and","!":"semantic_not"};function peg$subclass(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function peg$SyntaxError(e,t,r,a){var n=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(n,peg$SyntaxError.prototype),n.expected=t,n.found=r,n.location=a,n.name="SyntaxError",n}function peg$padEnd(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,e+(r+=r.repeat(t)).slice(0,t))}function peg$parse(e,t){var r,a={},n=(t=void 0!==t?t:{}).grammarSource,o={Grammar:lr},s=lr,c="{",i="}",u="=",p="/",l="@",f=":",g="|",d=",",h="..",m="(",$=")",x="\n",b="\r\n",A="/*",v="*/",y="//",E="\\",S="i",C='"',_="'",T="[",P="^",w="]",F="-",B="0",D="b",R="f",L="n",O="r",M="t",I="v",k="x",j="u",N=".",U=";",q=/^[!$&]/,G=/^[*-+?]/,H=/^[!&]/,z=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,W=/^[\n\r\u2028\u2029]/,V=/^[\r\u2028-\u2029]/,Y=/^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,J=/^[$0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F1\uA900-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,Q=/^[\n\r"\\\u2028-\u2029]/,X=/^[\n\r'\\\u2028-\u2029]/,K=/^[\n\r\\-\]\u2028-\u2029]/,Z=/^["'\\]/,ee=/^[0-9ux]/,te=/^[0-9]/,re=/^[0-9a-f]/i,ae=/^[{}]/,ne=or("{",!1),oe=or("}",!1),se=or("=",!1),ce=or("/",!1),ie=or("@",!1),ue=or(":",!1),pe=sr(["!","$","&"],!1,!1),le=sr([["*","+"],"?"],!1,!1),fe=or("|",!1),ge=or(",",!1),de=or("..",!1),he=or("(",!1),me=or(")",!1),$e=sr(["!","&"],!1,!1),xe={type:"any"},be=cr("whitespace"),Ae=sr(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),ve=sr(["\n","\r","\u2028","\u2029"],!1,!1),ye=cr("end of line"),Ee=or("\n",!1),Se=or("\r\n",!1),Ce=sr(["\r",["\u2028","\u2029"]],!1,!1),_e=cr("comment"),Te=or("/*",!1),Pe=or("*/",!1),we=or("//",!1),Fe=cr("identifier"),Be=sr([["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","Ɬ"],["Ʞ","ꞷ"],["ꟷ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭥ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),De=or("\\",!1),Re=sr(["$",["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["ୖ","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ః"],["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],["ഁ","ഃ"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ං","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠐","᠙"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭",["ᳲ","᳴"],["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["‌","‍"],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],["ꢀ","ꢁ"],["ꢴ","꣄"],["꣐","꣙"],["꣠","꣱"],["꤀","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),Le=cr("literal"),Oe=or("i",!1),Me=cr("string"),Ie=or('"',!1),ke=or("'",!1),je=sr(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),Ne=sr(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),Ue=cr("character class"),qe=or("[",!1),Ge=or("^",!1),He=or("]",!1),ze=or("-",!1),We=sr(["\n","\r",["\\","]"],["\u2028","\u2029"]],!1,!1),Ve=or("0",!1),Ye=sr(['"',"'","\\"],!1,!1),Je=or("b",!1),Qe=or("f",!1),Xe=or("n",!1),Ke=or("r",!1),Ze=or("t",!1),et=or("v",!1),tt=sr([["0","9"],"u","x"],!1,!1),rt=or("x",!1),at=or("u",!1),nt=sr([["0","9"]],!1,!1),ot=sr([["0","9"],["a","f"]],!1,!0),st=or(".",!1),ct=cr("code block"),it=sr(["{","}"],!1,!1),ut=or(";",!1),pt=function(e,t,r){return{type:"grammar",topLevelInitializer:e,initializer:t,rules:r,location:ar()}},lt=function(e){return{type:"top_level_initializer",code:e[0],codeLocation:e[1],location:ar()}},ft=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:ar()}},gt=function(e,t,r){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==t?{type:"named",name:t,expression:r,location:ar()}:r,location:ar()}},dt=function(e,t){return t.length>0?{type:"choice",alternatives:[e].concat(t),location:ar()}:e},ht=function(e,t){return null!==t?{type:"action",expression:e,code:t[0],codeLocation:t[1],location:ar()}:e},mt=function(e,t){return t.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(t),location:ar()}:e},$t=function(e,t,r){return r.type.startsWith("semantic_")&&nr('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==t?t[0]:null,labelLocation:null!==t?t[1]:e,pick:!0,expression:r,location:ar()}},xt=function(e,t){return{type:"labeled",label:e[0],labelLocation:e[1],expression:t,location:ar()}},bt=function(){return ar()},At=function(e){return Wr.indexOf(e[0])>=0&&nr("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},vt=function(e,t){return{type:OPS_TO_PREFIXED_TYPES[e],expression:t,location:ar()}},yt=function(e,t){return{type:OPS_TO_SUFFIXED_TYPES[t],expression:e,location:ar()}},Et=function(e,t,r){var a=t[0],n=t[1];return"constant"===n.type&&0===n.value&&nr("The maximum count of repetitions of the rule must be > 0",n.location),{type:"repeated",min:a,max:n,expression:e,delimiter:r,location:ar()}},St=function(e,t){return[null!==e?e:{type:"constant",value:0},null!==t?t:{type:"constant",value:null}]},Ct=function(e){return[null,e]},_t=function(e){return{type:"constant",value:e,location:ar()}},Tt=function(e){return{type:"variable",value:e[0],location:ar()}},Pt=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:ar()}},wt=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:ar()}:e},Ft=function(e){return{type:"rule_ref",name:e[0],location:ar()}},Bt=function(e,t){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:t[0],codeLocation:t[1],location:ar()}},Dt=function(e,t){return[e+t.join(""),ar()]},Rt=function(e,t){return{type:"literal",value:e,ignoreCase:null!==t,location:ar()}},Lt=function(e){return e.join("")},Ot=function(e){return e.join("")},Mt=function(e,t,r){return{type:"class",parts:t.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==r,location:ar()}},It=function(t,r){return t.charCodeAt(0)>r.charCodeAt(0)&&nr("Invalid character range: "+e.substring(Kt,Xt)+"."),[t,r]},kt=function(){return""},jt=function(){return"\0"},Nt=function(){return"\b"},Ut=function(){return"\f"},qt=function(){return"\n"},Gt=function(){return"\r"},Ht=function(){return"\t"},zt=function(){return"\v"},Wt=function(e){return String.fromCharCode(parseInt(e,16))},Vt=function(e){return String.fromCharCode(parseInt(e,16))},Yt=function(){return{type:"any",location:ar()}},Jt=function(e){return[e,ar()]},Qt=function(e){return parseInt(e,10)},Xt=0,Kt=0,Zt=[{line:1,column:1}],er=0,tr=[],rr=0;if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function ar(){return ur(Kt,Xt)}function nr(e,t){throw function(e,t){return new peg$SyntaxError(e,null,null,t)}(e,t=void 0!==t?t:ur(Kt,Xt))}function or(e,t){return{type:"literal",text:e,ignoreCase:t}}function sr(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function cr(e){return{type:"other",description:e}}function ir(t){var r,a=Zt[t];if(a)return a;if(t>=Zt.length)r=Zt.length-1;else for(r=t;!Zt[--r];);for(a={line:(a=Zt[r]).line,column:a.column};rer&&(er=Xt,tr=[]),tr.push(e))}function lr(){var t,r,n,o,s,u;if(t=Xt,Hr(),r=Xt,n=function(){var t,r,n,o;return t=Xt,123===e.charCodeAt(Xt)?(r=c,Xt++):(r=a,0===rr&&pr(ne)),r!==a&&(n=qr())!==a?(125===e.charCodeAt(Xt)?(o=i,Xt++):(o=a,0===rr&&pr(oe)),o!==a&&zr()!==a?(Kt=t,t=lt(n)):(Xt=t,t=a)):(Xt=t,t=a),t}(),n!==a?(o=Hr(),r=n):(Xt=r,r=a),r===a&&(r=null),n=Xt,o=function(){var e,t;return e=Xt,(t=qr())!==a&&zr()!==a?(Kt=e,e=ft(t)):(Xt=e,e=a),e}(),o!==a?(s=Hr(),n=o):(Xt=n,n=a),n===a&&(n=null),o=[],s=Xt,(u=fr())!==a?(Hr(),s=u):(Xt=s,s=a),s!==a)for(;s!==a;)o.push(s),s=Xt,(u=fr())!==a?(Hr(),s=u):(Xt=s,s=a);else o=a;return o!==a?(Kt=t,t=pt(r,n,o)):(Xt=t,t=a),t}function fr(){var t,r,n,o,s;return t=Xt,(r=Pr())!==a?(Hr(),n=Xt,(o=Br())!==a?(Hr(),n=o):(Xt=n,n=a),n===a&&(n=null),61===e.charCodeAt(Xt)?(o=u,Xt++):(o=a,0===rr&&pr(se)),o!==a?(Hr(),(s=gr())!==a&&zr()!==a?(Kt=t,t=gt(r,n,s)):(Xt=t,t=a)):(Xt=t,t=a)):(Xt=t,t=a),t}function gr(){var t,r,n,o,s,c;if(t=Xt,(r=dr())!==a){for(n=[],o=Xt,Hr(),47===e.charCodeAt(Xt)?(s=p,Xt++):(s=a,0===rr&&pr(ce)),s!==a?(Hr(),(c=dr())!==a?o=c:(Xt=o,o=a)):(Xt=o,o=a);o!==a;)n.push(o),o=Xt,Hr(),47===e.charCodeAt(Xt)?(s=p,Xt++):(s=a,0===rr&&pr(ce)),s!==a?(Hr(),(c=dr())!==a?o=c:(Xt=o,o=a)):(Xt=o,o=a);Kt=t,t=dt(r,n)}else Xt=t,t=a;return t}function dr(){var e,t,r,n;return e=Xt,t=function(){var e,t,r,n,o;if(e=Xt,(t=hr())!==a){for(r=[],n=Xt,Hr(),(o=hr())!==a?n=o:(Xt=n,n=a);n!==a;)r.push(n),n=Xt,Hr(),(o=hr())!==a?n=o:(Xt=n,n=a);Kt=e,e=mt(t,r)}else Xt=e,e=a;return e}(),t!==a?(r=Xt,Hr(),(n=qr())!==a?r=n:(Xt=r,r=a),r===a&&(r=null),Kt=e,e=ht(t,r)):(Xt=e,e=a),e}function hr(){var t,r,n,o;return t=Xt,r=function(){var t,r;return t=Xt,64===e.charCodeAt(Xt)?(r=l,Xt++):(r=a,0===rr&&pr(ie)),r!==a&&(Kt=t,r=bt()),t=r}(),r!==a?((n=mr())===a&&(n=null),(o=$r())!==a?(Kt=t,t=$t(r,n,o)):(Xt=t,t=a)):(Xt=t,t=a),t===a&&(t=Xt,(r=mr())!==a?(n=Hr(),(o=$r())!==a?(Kt=t,t=xt(r,o)):(Xt=t,t=a)):(Xt=t,t=a),t===a&&(t=$r())),t}function mr(){var t,r,n;return t=Xt,(r=Pr())!==a?(Hr(),58===e.charCodeAt(Xt)?(n=f,Xt++):(n=a,0===rr&&pr(ue)),n!==a?(Kt=t,t=At(r)):(Xt=t,t=a)):(Xt=t,t=a),t}function $r(){var t,r,n;return t=Xt,r=function(){var t;return t=e.charAt(Xt),q.test(t)?Xt++:(t=a,0===rr&&pr(pe)),t}(),r!==a?(Hr(),(n=xr())!==a?(Kt=t,t=vt(r,n)):(Xt=t,t=a)):(Xt=t,t=a),t===a&&(t=xr()),t}function xr(){var t,r,n;return t=Xt,(r=Ar())!==a?(Hr(),n=function(){var t;return t=e.charAt(Xt),G.test(t)?Xt++:(t=a,0===rr&&pr(le)),t}(),n!==a?(Kt=t,t=yt(r,n)):(Xt=t,t=a)):(Xt=t,t=a),t===a&&(t=function(){var t,r,n,o,s,c,i;return t=Xt,(r=Ar())!==a?(Hr(),124===e.charCodeAt(Xt)?(n=g,Xt++):(n=a,0===rr&&pr(fe)),n!==a?(Hr(),o=function(){var t,r,n,o;return t=Xt,(r=br())===a&&(r=null),Hr(),e.substr(Xt,2)===h?(n=h,Xt+=2):(n=a,0===rr&&pr(de)),n!==a?(Hr(),(o=br())===a&&(o=null),Kt=t,t=St(r,o)):(Xt=t,t=a),t===a&&(t=Xt,(r=br())!==a&&(Kt=t,r=Ct(r)),t=r),t}(),o!==a?(Hr(),s=Xt,44===e.charCodeAt(Xt)?(c=d,Xt++):(c=a,0===rr&&pr(ge)),c!==a?(Hr(),(i=gr())!==a?(Hr(),s=i):(Xt=s,s=a)):(Xt=s,s=a),s===a&&(s=null),124===e.charCodeAt(Xt)?(c=g,Xt++):(c=a,0===rr&&pr(fe)),c!==a?(Kt=t,t=Et(r,o,s)):(Xt=t,t=a)):(Xt=t,t=a)):(Xt=t,t=a)):(Xt=t,t=a),t}(),t===a&&(t=Ar())),t}function br(){var t,r;return t=Xt,r=function(){var t,r,n,o;if(t=Xt,r=Xt,n=[],(o=Nr())!==a)for(;o!==a;)n.push(o),o=Nr();else n=a;return(r=n!==a?e.substring(r,Xt):n)!==a&&(Kt=t,r=Qt(r)),t=r}(),r!==a&&(Kt=t,r=_t(r)),(t=r)===a&&(t=Xt,(r=Pr())!==a&&(Kt=t,r=Tt(r)),(t=r)===a&&(t=Xt,(r=qr())!==a&&(Kt=t,r=Pt(r)),t=r)),t}function Ar(){var t,r,n,o;return t=function(){var t,r,n;return rr++,t=Xt,(r=Br())!==a?(105===e.charCodeAt(Xt)?(n=S,Xt++):(n=a,0===rr&&pr(Oe)),n===a&&(n=null),Kt=t,t=Rt(r,n)):(Xt=t,t=a),rr--,t===a&&(r=a,0===rr&&pr(Le)),t}(),t===a&&(t=function(){var t,r,n,o,s,c;if(rr++,t=Xt,91===e.charCodeAt(Xt)?(r=T,Xt++):(r=a,0===rr&&pr(qe)),r!==a){for(94===e.charCodeAt(Xt)?(n=P,Xt++):(n=a,0===rr&&pr(Ge)),n===a&&(n=null),o=[],(s=Lr())===a&&(s=Or());s!==a;)o.push(s),(s=Lr())===a&&(s=Or());93===e.charCodeAt(Xt)?(s=w,Xt++):(s=a,0===rr&&pr(He)),s!==a?(105===e.charCodeAt(Xt)?(c=S,Xt++):(c=a,0===rr&&pr(Oe)),c===a&&(c=null),Kt=t,t=Mt(n,o,c)):(Xt=t,t=a)}else Xt=t,t=a;return rr--,t===a&&(r=a,0===rr&&pr(Ue)),t}(),t===a&&(t=function(){var t,r;return t=Xt,46===e.charCodeAt(Xt)?(r=N,Xt++):(r=a,0===rr&&pr(st)),r!==a&&(Kt=t,r=Yt()),t=r}(),t===a&&(t=function(){var t,r,n,o,s,c,i;return t=Xt,(r=Pr())!==a?(n=Xt,rr++,o=Xt,s=Hr(),c=Xt,(i=Br())!==a?c=i=[i,Hr()]:(Xt=c,c=a),c===a&&(c=null),61===e.charCodeAt(Xt)?(i=u,Xt++):(i=a,0===rr&&pr(se)),i!==a?o=s=[s,c,i]:(Xt=o,o=a),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a?(Kt=t,t=Ft(r)):(Xt=t,t=a)):(Xt=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=Xt,r=function(){var t;return t=e.charAt(Xt),H.test(t)?Xt++:(t=a,0===rr&&pr($e)),t}(),r!==a?(Hr(),(n=qr())!==a?(Kt=t,t=Bt(r,n)):(Xt=t,t=a)):(Xt=t,t=a),t}(),t===a&&(t=Xt,40===e.charCodeAt(Xt)?(r=m,Xt++):(r=a,0===rr&&pr(he)),r!==a?(Hr(),(n=gr())!==a?(Hr(),41===e.charCodeAt(Xt)?(o=$,Xt++):(o=a,0===rr&&pr(me)),o!==a?(Kt=t,t=wt(n)):(Xt=t,t=a)):(Xt=t,t=a)):(Xt=t,t=a)))))),t}function vr(){var t;return e.length>Xt?(t=e.charAt(Xt),Xt++):(t=a,0===rr&&pr(xe)),t}function yr(){var t;return rr++,t=e.charAt(Xt),z.test(t)?Xt++:(t=a,0===rr&&pr(Ae)),rr--,t===a&&0===rr&&pr(be),t}function Er(){var t;return t=e.charAt(Xt),W.test(t)?Xt++:(t=a,0===rr&&pr(ve)),t}function Sr(){var t;return rr++,10===e.charCodeAt(Xt)?(t=x,Xt++):(t=a,0===rr&&pr(Ee)),t===a&&(e.substr(Xt,2)===b?(t=b,Xt+=2):(t=a,0===rr&&pr(Se)),t===a&&(t=e.charAt(Xt),V.test(t)?Xt++:(t=a,0===rr&&pr(Ce)))),rr--,t===a&&0===rr&&pr(ye),t}function Cr(){var t;return rr++,(t=function(){var t,r,n,o,s,c;if(t=Xt,e.substr(Xt,2)===A?(r=A,Xt+=2):(r=a,0===rr&&pr(Te)),r!==a){for(n=[],o=Xt,s=Xt,rr++,e.substr(Xt,2)===v?(c=v,Xt+=2):(c=a,0===rr&&pr(Pe)),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=vr())!==a?o=s=[s,c]:(Xt=o,o=a);o!==a;)n.push(o),o=Xt,s=Xt,rr++,e.substr(Xt,2)===v?(c=v,Xt+=2):(c=a,0===rr&&pr(Pe)),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=vr())!==a?o=s=[s,c]:(Xt=o,o=a);e.substr(Xt,2)===v?(o=v,Xt+=2):(o=a,0===rr&&pr(Pe)),o!==a?t=r=[r,n,o]:(Xt=t,t=a)}else Xt=t,t=a;return t}())===a&&(t=Tr()),rr--,t===a&&0===rr&&pr(_e),t}function _r(){var t,r,n,o,s,c;if(t=Xt,e.substr(Xt,2)===A?(r=A,Xt+=2):(r=a,0===rr&&pr(Te)),r!==a){for(n=[],o=Xt,s=Xt,rr++,e.substr(Xt,2)===v?(c=v,Xt+=2):(c=a,0===rr&&pr(Pe)),c===a&&(c=Er()),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=vr())!==a?o=s=[s,c]:(Xt=o,o=a);o!==a;)n.push(o),o=Xt,s=Xt,rr++,e.substr(Xt,2)===v?(c=v,Xt+=2):(c=a,0===rr&&pr(Pe)),c===a&&(c=Er()),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=vr())!==a?o=s=[s,c]:(Xt=o,o=a);e.substr(Xt,2)===v?(o=v,Xt+=2):(o=a,0===rr&&pr(Pe)),o!==a?t=r=[r,n,o]:(Xt=t,t=a)}else Xt=t,t=a;return t}function Tr(){var t,r,n,o,s,c;if(t=Xt,e.substr(Xt,2)===y?(r=y,Xt+=2):(r=a,0===rr&&pr(we)),r!==a){for(n=[],o=Xt,s=Xt,rr++,c=Er(),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=vr())!==a?o=s=[s,c]:(Xt=o,o=a);o!==a;)n.push(o),o=Xt,s=Xt,rr++,c=Er(),rr--,c===a?s=void 0:(Xt=s,s=a),s!==a&&(c=vr())!==a?o=s=[s,c]:(Xt=o,o=a);t=r=[r,n]}else Xt=t,t=a;return t}function Pr(){var e,t,r,n;if(rr++,e=Xt,(t=wr())!==a){for(r=[],n=Fr();n!==a;)r.push(n),n=Fr();Kt=e,e=Dt(t,r)}else Xt=e,e=a;return rr--,e===a&&(t=a,0===rr&&pr(Fe)),e}function wr(){var t,r,n;return t=e.charAt(Xt),Y.test(t)?Xt++:(t=a,0===rr&&pr(Be)),t===a&&(t=Xt,92===e.charCodeAt(Xt)?(r=E,Xt++):(r=a,0===rr&&pr(De)),r!==a&&(n=jr())!==a?t=n:(Xt=t,t=a)),t}function Fr(){var t;return(t=wr())===a&&(t=e.charAt(Xt),J.test(t)?Xt++:(t=a,0===rr&&pr(Re))),t}function Br(){var t,r,n,o;if(rr++,t=Xt,34===e.charCodeAt(Xt)?(r=C,Xt++):(r=a,0===rr&&pr(Ie)),r!==a){for(n=[],o=Dr();o!==a;)n.push(o),o=Dr();34===e.charCodeAt(Xt)?(o=C,Xt++):(o=a,0===rr&&pr(Ie)),o!==a?(Kt=t,t=Lt(n)):(Xt=t,t=a)}else Xt=t,t=a;if(t===a)if(t=Xt,39===e.charCodeAt(Xt)?(r=_,Xt++):(r=a,0===rr&&pr(ke)),r!==a){for(n=[],o=Rr();o!==a;)n.push(o),o=Rr();39===e.charCodeAt(Xt)?(o=_,Xt++):(o=a,0===rr&&pr(ke)),o!==a?(Kt=t,t=Ot(n)):(Xt=t,t=a)}else Xt=t,t=a;return rr--,t===a&&(r=a,0===rr&&pr(Me)),t}function Dr(){var t,r,n,o;return t=Xt,r=Xt,n=Xt,rr++,o=e.charAt(Xt),Q.test(o)?Xt++:(o=a,0===rr&&pr(je)),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a&&(o=vr())!==a?r=n=[n,o]:(Xt=r,r=a),(t=r!==a?e.substring(t,Xt):r)===a&&(t=Xt,92===e.charCodeAt(Xt)?(r=E,Xt++):(r=a,0===rr&&pr(De)),r!==a&&(n=Ir())!==a?t=n:(Xt=t,t=a),t===a&&(t=Mr())),t}function Rr(){var t,r,n,o;return t=Xt,r=Xt,n=Xt,rr++,o=e.charAt(Xt),X.test(o)?Xt++:(o=a,0===rr&&pr(Ne)),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a&&(o=vr())!==a?r=n=[n,o]:(Xt=r,r=a),(t=r!==a?e.substring(t,Xt):r)===a&&(t=Xt,92===e.charCodeAt(Xt)?(r=E,Xt++):(r=a,0===rr&&pr(De)),r!==a&&(n=Ir())!==a?t=n:(Xt=t,t=a),t===a&&(t=Mr())),t}function Lr(){var t,r,n,o;return t=Xt,(r=Or())!==a?(45===e.charCodeAt(Xt)?(n=F,Xt++):(n=a,0===rr&&pr(ze)),n!==a&&(o=Or())!==a?(Kt=t,t=It(r,o)):(Xt=t,t=a)):(Xt=t,t=a),t}function Or(){var t,r,n,o;return t=Xt,r=Xt,n=Xt,rr++,o=e.charAt(Xt),K.test(o)?Xt++:(o=a,0===rr&&pr(We)),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a&&(o=vr())!==a?r=n=[n,o]:(Xt=r,r=a),(t=r!==a?e.substring(t,Xt):r)===a&&(t=Xt,92===e.charCodeAt(Xt)?(r=E,Xt++):(r=a,0===rr&&pr(De)),r!==a&&(n=Ir())!==a?t=n:(Xt=t,t=a),t===a&&(t=Mr())),t}function Mr(){var t,r;return t=Xt,92===e.charCodeAt(Xt)?(r=E,Xt++):(r=a,0===rr&&pr(De)),r!==a&&Sr()!==a?(Kt=t,t=kt()):(Xt=t,t=a),t}function Ir(){var t,r,n,o;return t=function(){var t;return(t=kr())===a&&(t=function(){var t,r,n,o;return t=Xt,r=Xt,n=Xt,rr++,o=function(){var t;return(t=kr())===a&&(t=e.charAt(Xt),ee.test(t)?Xt++:(t=a,0===rr&&pr(tt))),t}(),o===a&&(o=Er()),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a&&(o=vr())!==a?r=n=[n,o]:(Xt=r,r=a),t=r!==a?e.substring(t,Xt):r}()),t}(),t===a&&(t=Xt,48===e.charCodeAt(Xt)?(r=B,Xt++):(r=a,0===rr&&pr(Ve)),r!==a?(n=Xt,rr++,o=Nr(),rr--,o===a?n=void 0:(Xt=n,n=a),n!==a?(Kt=t,t=jt()):(Xt=t,t=a)):(Xt=t,t=a),t===a&&(t=function(){var t,r,n,o,s,c;return t=Xt,120===e.charCodeAt(Xt)?(r=k,Xt++):(r=a,0===rr&&pr(rt)),r!==a?(n=Xt,o=Xt,(s=Ur())!==a&&(c=Ur())!==a?o=s=[s,c]:(Xt=o,o=a),(n=o!==a?e.substring(n,Xt):o)!==a?(Kt=t,t=Wt(n)):(Xt=t,t=a)):(Xt=t,t=a),t}(),t===a&&(t=jr()))),t}function kr(){var t,r;return t=e.charAt(Xt),Z.test(t)?Xt++:(t=a,0===rr&&pr(Ye)),t===a&&(t=Xt,98===e.charCodeAt(Xt)?(r=D,Xt++):(r=a,0===rr&&pr(Je)),r!==a&&(Kt=t,r=Nt()),(t=r)===a&&(t=Xt,102===e.charCodeAt(Xt)?(r=R,Xt++):(r=a,0===rr&&pr(Qe)),r!==a&&(Kt=t,r=Ut()),(t=r)===a&&(t=Xt,110===e.charCodeAt(Xt)?(r=L,Xt++):(r=a,0===rr&&pr(Xe)),r!==a&&(Kt=t,r=qt()),(t=r)===a&&(t=Xt,114===e.charCodeAt(Xt)?(r=O,Xt++):(r=a,0===rr&&pr(Ke)),r!==a&&(Kt=t,r=Gt()),(t=r)===a&&(t=Xt,116===e.charCodeAt(Xt)?(r=M,Xt++):(r=a,0===rr&&pr(Ze)),r!==a&&(Kt=t,r=Ht()),(t=r)===a&&(t=Xt,118===e.charCodeAt(Xt)?(r=I,Xt++):(r=a,0===rr&&pr(et)),r!==a&&(Kt=t,r=zt()),t=r)))))),t}function jr(){var t,r,n,o,s,c,i,u;return t=Xt,117===e.charCodeAt(Xt)?(r=j,Xt++):(r=a,0===rr&&pr(at)),r!==a?(n=Xt,o=Xt,(s=Ur())!==a&&(c=Ur())!==a&&(i=Ur())!==a&&(u=Ur())!==a?o=s=[s,c,i,u]:(Xt=o,o=a),(n=o!==a?e.substring(n,Xt):o)!==a?(Kt=t,t=Vt(n)):(Xt=t,t=a)):(Xt=t,t=a),t}function Nr(){var t;return t=e.charAt(Xt),te.test(t)?Xt++:(t=a,0===rr&&pr(nt)),t}function Ur(){var t;return t=e.charAt(Xt),re.test(t)?Xt++:(t=a,0===rr&&pr(ot)),t}function qr(){var t,r,n,o;return rr++,t=Xt,123===e.charCodeAt(Xt)?(r=c,Xt++):(r=a,0===rr&&pr(ne)),r!==a?(n=function(){var e,t;return e=Xt,t=Gr(),Kt=e,e=t=Jt(t)}(),125===e.charCodeAt(Xt)?(o=i,Xt++):(o=a,0===rr&&pr(oe)),o!==a?t=n:(Xt=t,t=a)):(Xt=t,t=a),rr--,t===a&&(r=a,0===rr&&pr(ct)),t}function Gr(){var t,r,n,o,s,u;if(t=Xt,r=[],n=[],o=Xt,s=Xt,rr++,u=e.charAt(Xt),ae.test(u)?Xt++:(u=a,0===rr&&pr(it)),rr--,u===a?s=void 0:(Xt=s,s=a),s!==a&&(u=vr())!==a?o=s=[s,u]:(Xt=o,o=a),o!==a)for(;o!==a;)n.push(o),o=Xt,s=Xt,rr++,u=e.charAt(Xt),ae.test(u)?Xt++:(u=a,0===rr&&pr(it)),rr--,u===a?s=void 0:(Xt=s,s=a),s!==a&&(u=vr())!==a?o=s=[s,u]:(Xt=o,o=a);else n=a;for(n===a&&(n=Xt,123===e.charCodeAt(Xt)?(o=c,Xt++):(o=a,0===rr&&pr(ne)),o!==a?(s=Gr(),125===e.charCodeAt(Xt)?(u=i,Xt++):(u=a,0===rr&&pr(oe)),u!==a?n=o=[o,s,u]:(Xt=n,n=a)):(Xt=n,n=a));n!==a;){if(r.push(n),n=[],o=Xt,s=Xt,rr++,u=e.charAt(Xt),ae.test(u)?Xt++:(u=a,0===rr&&pr(it)),rr--,u===a?s=void 0:(Xt=s,s=a),s!==a&&(u=vr())!==a?o=s=[s,u]:(Xt=o,o=a),o!==a)for(;o!==a;)n.push(o),o=Xt,s=Xt,rr++,u=e.charAt(Xt),ae.test(u)?Xt++:(u=a,0===rr&&pr(it)),rr--,u===a?s=void 0:(Xt=s,s=a),s!==a&&(u=vr())!==a?o=s=[s,u]:(Xt=o,o=a);else n=a;n===a&&(n=Xt,123===e.charCodeAt(Xt)?(o=c,Xt++):(o=a,0===rr&&pr(ne)),o!==a?(s=Gr(),125===e.charCodeAt(Xt)?(u=i,Xt++):(u=a,0===rr&&pr(oe)),u!==a?n=o=[o,s,u]:(Xt=n,n=a)):(Xt=n,n=a))}return e.substring(t,Xt)}function Hr(){var e,t;for(e=[],(t=yr())===a&&(t=Sr())===a&&(t=Cr());t!==a;)e.push(t),(t=yr())===a&&(t=Sr())===a&&(t=Cr());return e}function zr(){var t,r,n,o;if(t=[],r=Xt,n=Hr(),59===e.charCodeAt(Xt)?(o=U,Xt++):(o=a,0===rr&&pr(ut)),o!==a?r=n=[n,o]:(Xt=r,r=a),r!==a)for(;r!==a;)t.push(r),r=Xt,n=Hr(),59===e.charCodeAt(Xt)?(o=U,Xt++):(o=a,0===rr&&pr(ut)),o!==a?r=n=[n,o]:(Xt=r,r=a);else t=a;return t===a&&(t=Xt,r=function(){var e,t;for(e=[],(t=yr())===a&&(t=_r());t!==a;)e.push(t),(t=yr())===a&&(t=_r());return e}(),(n=Tr())===a&&(n=null),(o=Sr())!==a?t=r=[r,n,o]:(Xt=t,t=a),t===a&&(t=Xt,r=Hr(),n=function(){var t,r;return t=Xt,rr++,e.length>Xt?(r=e.charAt(Xt),Xt++):(r=a,0===rr&&pr(xe)),rr--,r===a?t=void 0:(Xt=t,t=a),t}(),n!==a?t=r=[r,n]:(Xt=t,t=a))),t}var Wr=t.reservedWords||[];if((r=s())!==a&&Xt===e.length)return r;throw r!==a&&Xt0){for(t=1,r=1;t=16"},require$$2={name:name,version:version,description:description,keywords:keywords,homepage:homepage,repository:repository,bugs:bugs,license:license,author:author,main:main,browser:browser,unpkg:unpkg,jsdelivr:jsdelivr,types:types,bin:bin,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies,engines:engines},sourceMap={},sourceMapGenerator={},base64Vlq={},base64$2={};const intToCharMap="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");base64$2.encode=function(e){if(0<=e&&e>>=VLQ_BASE_SHIFT,a>0&&(t|=VLQ_CONTINUATION_BIT),r+=base64$1.encode(t)}while(a>0);return r};var util$4={},urlBrowser=require$$0$1.URL;const URL$1=urlBrowser;function getArg(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')}util$4.getArg=getArg;const supportsNullProto=!("__proto__"in Object.create(null));function identity(e){return e}function toSetString(e){return isProtoString(e)?"$"+e:e}function fromSetString(e){return isProtoString(e)?e.slice(1):e}function isProtoString(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated(e,t){let r=e.generatedLine-t.generatedLine;return 0!==r?r:(r=e.generatedColumn-t.generatedColumn,0!==r?r:(r=strcmp(e.source,t.source),0!==r?r:(r=e.originalLine-t.originalLine,0!==r?r:(r=e.originalColumn-t.originalColumn,0!==r?r:strcmp(e.name,t.name)))))}function parseSourceMapInput(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}util$4.toSetString=supportsNullProto?identity:toSetString,util$4.fromSetString=supportsNullProto?identity:fromSetString,util$4.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated,util$4.parseSourceMapInput=parseSourceMapInput;const PROTOCOL="http:",PROTOCOL_AND_HOST=`${PROTOCOL}//host`;function createSafeHandler(e){return t=>{const r=getURLType(t),a=buildSafeBase(t),n=new URL$1(t,a);e(n);const o=n.toString();return"absolute"===r?o:"scheme-relative"===r?o.slice(PROTOCOL.length):"path-absolute"===r?o.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(a,o)}}function withBase(e,t){return new URL$1(e,t).toString()}function buildUniqueSegment(e,t){let r=0;for(;;){const a=e+r++;if(-1===t.indexOf(a))return a}}function buildSafeBase(e){const t=e.split("..").length-1,r=buildUniqueSegment("p",e);let a=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!a[a.length-1]&&a.pop();r.length>0&&a.length>0&&r[0]===a[0];)r.shift(),a.shift();return a.map((()=>"..")).concat(r).join("/")+t.search+t.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),trimFilename=createSafeHandler((e=>{e.href=new URL$1(".",e.toString()).toString()})),normalize=createSafeHandler((e=>{}));function join(e,t){const r=getURLType(t),a=getURLType(e);if(e=ensureDirectory(e),"absolute"===r)return withBase(t,void 0);if("absolute"===a)return withBase(t,e);if("scheme-relative"===r)return normalize(t);if("scheme-relative"===a)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===r)return normalize(t);if("path-absolute"===a)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const n=buildSafeBase(t+e);return computeRelativeURL(n,withBase(t,withBase(e,n)))}function relative(e,t){const r=relativeIfPossible(e,t);return"string"==typeof r?r:normalize(t)}function relativeIfPossible(e,t){if(getURLType(e)!==getURLType(t))return null;const r=buildSafeBase(e+t),a=new URL$1(e,r),n=new URL$1(t,r);try{new URL$1("",n.toString())}catch(e){return null}return n.protocol!==a.protocol||n.user!==a.user||n.password!==a.password||n.hostname!==a.hostname||n.port!==a.port?null:computeRelativeURL(a,n)}function computeSourceURL(e,t,r){e&&"path-absolute"===getURLType(t)&&(t=t.replace(/^\//,""));let a=normalize(t||"");return e&&(a=join(e,a)),r&&(a=join(trimFilename(r),a)),a}util$4.normalize=normalize,util$4.join=join,util$4.relative=relative,util$4.computeSourceURL=computeSourceURL;var arraySet={};let ArraySet$2=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){const a=new e;for(let e=0,n=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&er||a==r&&o>=n||util$3.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$3.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList.MappingList=MappingList$1;const base64VLQ=base64Vlq,util$2=util$4,ArraySet$1=arraySet.ArraySet,MappingList=mappingList.MappingList;let SourceMapGenerator$1=class e{constructor(e){e||(e={}),this._file=util$2.getArg(e,"file",null),this._sourceRoot=util$2.getArg(e,"sourceRoot",null),this._skipValidation=util$2.getArg(e,"skipValidation",!1),this._sources=new ArraySet$1,this._names=new ArraySet$1,this._mappings=new MappingList,this._sourcesContents=null}static fromSourceMap(t){const r=t.sourceRoot,a=new e({file:t.file,sourceRoot:r});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=r&&(t.source=util$2.relative(r,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),a.addMapping(t)})),t.sources.forEach((function(e){let n=e;null!==r&&(n=util$2.relative(r,e)),a._sources.has(n)||a._sources.add(n);const o=t.sourceContentFor(e);null!=o&&a.setSourceContent(e,o)})),a}addMapping(e){const t=util$2.getArg(e,"generated"),r=util$2.getArg(e,"original",null);let a=util$2.getArg(e,"source",null),n=util$2.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,a,n),null!=a&&(a=String(a),this._sources.has(a)||this._sources.add(a)),null!=n&&(n=String(n),this._names.has(n)||this._names.add(n)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:a,name:n})}setSourceContent(e,t){let r=e;null!=this._sourceRoot&&(r=util$2.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$2.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[util$2.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,r){let a=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');a=e.file}const n=this._sourceRoot;null!=n&&(a=util$2.relative(n,a));const o=this._mappings.toArray().length>0?new ArraySet$1:this._sources,s=new ArraySet$1;this._mappings.unsortedForEach((function(t){if(t.source===a&&null!=t.originalLine){const a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=r&&(t.source=util$2.join(r,t.source)),null!=n&&(t.source=util$2.relative(n,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}const c=t.source;null==c||o.has(c)||o.add(c);const i=t.name;null==i||s.has(i)||s.add(i)}),this),this._sources=o,this._names=s,e.sources.forEach((function(t){const a=e.sourceContentFor(t);null!=a&&(null!=r&&(t=util$2.join(r,t)),null!=n&&(t=util$2.relative(n,t)),this.setSourceContent(t,a))}),this)}_validateMapping(e,t,r,a){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!a);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:a}))}_serializeMappings(){let e,t,r,a,n=0,o=1,s=0,c=0,i=0,u=0,p="";const l=this._mappings.toArray();for(let f=0,g=l.length;f0){if(!util$2.compareByGeneratedPositionsInflated(t,l[f-1]))continue;e+=","}e+=base64VLQ.encode(t.generatedColumn-n),n=t.generatedColumn,null!=t.source&&(a=this._sources.indexOf(t.source),e+=base64VLQ.encode(a-u),u=a,e+=base64VLQ.encode(t.originalLine-1-c),c=t.originalLine-1,e+=base64VLQ.encode(t.originalColumn-s),s=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=base64VLQ.encode(r-i),i=r)),p+=e}return p}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$2.relative(t,e));const r=util$2.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$1.prototype._version=3,sourceMapGenerator.SourceMapGenerator=SourceMapGenerator$1;var sourceMapConsumer={},binarySearch$1={};!function(e){function t(r,a,n,o,s,c){const i=Math.floor((a-r)/2)+r,u=s(n,o[i],!0);return 0===u?i:u>0?a-i>1?t(i,a,n,o,s,c):c==e.LEAST_UPPER_BOUND?a1?t(r,i,n,o,s,c):c==e.LEAST_UPPER_BOUND?i:r<0?-1:r}e.GREATEST_LOWER_BOUND=1,e.LEAST_UPPER_BOUND=2,e.search=function(r,a,n,o){if(0===a.length)return-1;let s=t(-1,a.length,r,a,n,o||e.GREATEST_LOWER_BOUND);if(s<0)return-1;for(;s-1>=0&&0===n(a[s],a[s-1],!0);)--s;return s}}(binarySearch$1);var readWasmBrowser={exports:{}};let mappingsWasm=null;readWasmBrowser.exports=function(){if("string"==typeof mappingsWasm)return fetch(mappingsWasm).then((e=>e.arrayBuffer()));if(mappingsWasm instanceof ArrayBuffer)return Promise.resolve(mappingsWasm);throw new Error("You must provide the string URL or ArrayBuffer contents of lib/mappings.wasm by calling SourceMapConsumer.initialize({ 'lib/mappings.wasm': ... }) before using SourceMapConsumer")},readWasmBrowser.exports.initialize=e=>{mappingsWasm=e};var readWasmBrowserExports=readWasmBrowser.exports;const readWasm$1=readWasmBrowserExports;function Mapping(){this.generatedLine=0,this.generatedColumn=0,this.lastGeneratedColumn=null,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}let cachedWasm=null;var wasm$1=function(){if(cachedWasm)return cachedWasm;const e=[];return cachedWasm=readWasm$1().then((t=>WebAssembly.instantiate(t,{env:{mapping_callback(t,r,a,n,o,s,c,i,u,p){const l=new Mapping;l.generatedLine=t+1,l.generatedColumn=r,a&&(l.lastGeneratedColumn=n-1),o&&(l.source=s,l.originalLine=c+1,l.originalColumn=i,u&&(l.name=p)),e[e.length-1](l)},start_all_generated_locations_for(){console.time("all_generated_locations_for")},end_all_generated_locations_for(){console.timeEnd("all_generated_locations_for")},start_compute_column_spans(){console.time("compute_column_spans")},end_compute_column_spans(){console.timeEnd("compute_column_spans")},start_generated_location_for(){console.time("generated_location_for")},end_generated_location_for(){console.timeEnd("generated_location_for")},start_original_location_for(){console.time("original_location_for")},end_original_location_for(){console.timeEnd("original_location_for")},start_parse_mappings(){console.time("parse_mappings")},end_parse_mappings(){console.timeEnd("parse_mappings")},start_sort_by_generated_location(){console.time("sort_by_generated_location")},end_sort_by_generated_location(){console.timeEnd("sort_by_generated_location")},start_sort_by_original_location(){console.time("sort_by_original_location")},end_sort_by_original_location(){console.timeEnd("sort_by_original_location")}}}))).then((t=>({exports:t.instance.exports,withMappingCallback:(t,r)=>{e.push(t);try{r()}finally{e.pop()}}}))).then(null,(e=>{throw cachedWasm=null,e})),cachedWasm};const util$1=util$4,binarySearch=binarySearch$1,ArraySet=arraySet.ArraySet,readWasm=readWasmBrowserExports,wasm=wasm$1,INTERNAL=Symbol("smcInternal");let SourceMapConsumer$1=class e{constructor(e,t){return e==INTERNAL?Promise.resolve(this):_factory(e,t)}static initialize(e){readWasm.initialize(e["lib/mappings.wasm"])}static fromSourceMap(e,t){return _factoryBSM(e,t)}static async with(t,r,a){const n=await new e(t,r);try{return await a(n)}finally{n.destroy()}}eachMapping(e,t,r){throw new Error("Subclasses must implement eachMapping")}allGeneratedPositionsFor(e){throw new Error("Subclasses must implement allGeneratedPositionsFor")}destroy(){throw new Error("Subclasses must implement destroy")}};SourceMapConsumer$1.prototype._version=3,SourceMapConsumer$1.GENERATED_ORDER=1,SourceMapConsumer$1.ORIGINAL_ORDER=2,SourceMapConsumer$1.GREATEST_LOWER_BOUND=1,SourceMapConsumer$1.LEAST_UPPER_BOUND=2,sourceMapConsumer.SourceMapConsumer=SourceMapConsumer$1;class BasicSourceMapConsumer extends SourceMapConsumer$1{constructor(e,t){return super(INTERNAL).then((r=>{let a=e;"string"==typeof e&&(a=util$1.parseSourceMapInput(e));const n=util$1.getArg(a,"version"),o=util$1.getArg(a,"sources").map(String),s=util$1.getArg(a,"names",[]),c=util$1.getArg(a,"sourceRoot",null),i=util$1.getArg(a,"sourcesContent",null),u=util$1.getArg(a,"mappings"),p=util$1.getArg(a,"file",null);if(n!=r._version)throw new Error("Unsupported version: "+n);return r._sourceLookupCache=new Map,r._names=ArraySet.fromArray(s.map(String),!0),r._sources=ArraySet.fromArray(o,!0),r._absoluteSources=ArraySet.fromArray(r._sources.toArray().map((function(e){return util$1.computeSourceURL(c,e,t)})),!0),r.sourceRoot=c,r.sourcesContent=i,r._mappings=u,r._sourceMapURL=t,r.file=p,r._computedColumnSpans=!1,r._mappingsPtr=0,r._wasm=null,wasm().then((e=>(r._wasm=e,r)))}))}_findSourceIndex(e){const t=this._sourceLookupCache.get(e);if("number"==typeof t)return t;const r=util$1.computeSourceURL(null,e,this._sourceMapURL);if(this._absoluteSources.has(r)){const t=this._absoluteSources.indexOf(r);return this._sourceLookupCache.set(e,t),t}const a=util$1.computeSourceURL(this.sourceRoot,e,this._sourceMapURL);if(this._absoluteSources.has(a)){const t=this._absoluteSources.indexOf(a);return this._sourceLookupCache.set(e,t),t}return-1}static fromSourceMap(e,t){return new BasicSourceMapConsumer(e.toString())}get sources(){return this._absoluteSources.toArray()}_getMappingsPtr(){return 0===this._mappingsPtr&&this._parseMappings(),this._mappingsPtr}_parseMappings(){const e=this._mappings,t=e.length,r=this._wasm.exports.allocate_mappings(t),a=new Uint8Array(this._wasm.exports.memory.buffer,r,t);for(let r=0;r{null!==t.source&&(t.source=this._absoluteSources.at(t.source),null!==t.name&&(t.name=this._names.at(t.name))),this._computedColumnSpans&&null===t.lastGeneratedColumn&&(t.lastGeneratedColumn=1/0),e.call(a,t)}),(()=>{switch(n){case SourceMapConsumer$1.GENERATED_ORDER:this._wasm.exports.by_generated_location(this._getMappingsPtr());break;case SourceMapConsumer$1.ORIGINAL_ORDER:this._wasm.exports.by_original_location(this._getMappingsPtr());break;default:throw new Error("Unknown order of iteration.")}}))}allGeneratedPositionsFor(e){let t=util$1.getArg(e,"source");const r=util$1.getArg(e,"line"),a=e.column||0;if(t=this._findSourceIndex(t),t<0)return[];if(r<1)throw new Error("Line numbers must be >= 1");if(a<0)throw new Error("Column numbers must be >= 0");const n=[];return this._wasm.withMappingCallback((e=>{let t=e.lastGeneratedColumn;this._computedColumnSpans&&null===t&&(t=1/0),n.push({line:e.generatedLine,column:e.generatedColumn,lastColumn:t})}),(()=>{this._wasm.exports.all_generated_locations_for(this._getMappingsPtr(),t,r-1,"column"in e,a)})),n}destroy(){0!==this._mappingsPtr&&(this._wasm.exports.free_mappings(this._mappingsPtr),this._mappingsPtr=0)}computeColumnSpans(){this._computedColumnSpans||(this._wasm.exports.compute_column_spans(this._getMappingsPtr()),this._computedColumnSpans=!0)}originalPositionFor(e){const t={generatedLine:util$1.getArg(e,"line"),generatedColumn:util$1.getArg(e,"column")};if(t.generatedLine<1)throw new Error("Line numbers must be >= 1");if(t.generatedColumn<0)throw new Error("Column numbers must be >= 0");let r,a=util$1.getArg(e,"bias",SourceMapConsumer$1.GREATEST_LOWER_BOUND);if(null==a&&(a=SourceMapConsumer$1.GREATEST_LOWER_BOUND),this._wasm.withMappingCallback((e=>r=e),(()=>{this._wasm.exports.original_location_for(this._getMappingsPtr(),t.generatedLine-1,t.generatedColumn,a)})),r&&r.generatedLine===t.generatedLine){let e=util$1.getArg(r,"source",null);null!==e&&(e=this._absoluteSources.at(e));let t=util$1.getArg(r,"name",null);return null!==t&&(t=this._names.at(t)),{source:e,line:util$1.getArg(r,"originalLine",null),column:util$1.getArg(r,"originalColumn",null),name:t}}return{source:null,line:null,column:null,name:null}}hasContentsOfAllSources(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e}))}sourceContentFor(e,t){if(!this.sourcesContent)return null;const r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')}generatedPositionFor(e){let t=util$1.getArg(e,"source");if(t=this._findSourceIndex(t),t<0)return{line:null,column:null,lastColumn:null};const r={source:t,originalLine:util$1.getArg(e,"line"),originalColumn:util$1.getArg(e,"column")};if(r.originalLine<1)throw new Error("Line numbers must be >= 1");if(r.originalColumn<0)throw new Error("Column numbers must be >= 0");let a,n=util$1.getArg(e,"bias",SourceMapConsumer$1.GREATEST_LOWER_BOUND);if(null==n&&(n=SourceMapConsumer$1.GREATEST_LOWER_BOUND),this._wasm.withMappingCallback((e=>a=e),(()=>{this._wasm.exports.generated_location_for(this._getMappingsPtr(),r.source,r.originalLine-1,r.originalColumn,n)})),a&&a.source===r.source){let e=a.lastGeneratedColumn;return this._computedColumnSpans&&null===e&&(e=1/0),{line:util$1.getArg(a,"generatedLine",null),column:util$1.getArg(a,"generatedColumn",null),lastColumn:e}}return{line:null,column:null,lastColumn:null}}}BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer$1,sourceMapConsumer.BasicSourceMapConsumer=BasicSourceMapConsumer;class IndexedSourceMapConsumer extends SourceMapConsumer$1{constructor(e,t){return super(INTERNAL).then((r=>{let a=e;"string"==typeof e&&(a=util$1.parseSourceMapInput(e));const n=util$1.getArg(a,"version"),o=util$1.getArg(a,"sections");if(n!=r._version)throw new Error("Unsupported version: "+n);let s={line:-1,column:0};return Promise.all(o.map((e=>{if(e.url)throw new Error("Support for url field in sections not implemented.");const r=util$1.getArg(e,"offset"),a=util$1.getArg(r,"line"),n=util$1.getArg(r,"column");if(a({generatedOffset:{generatedLine:a+1,generatedColumn:n+1},consumer:e})))}))).then((e=>(r._sections=e,r)))}))}get sources(){const e=[];for(let t=0;t=0?this._sections[t]:null,a=t>=0&&t+1=0?this._sections[t]:null,a=t>=0&&t+1{const t=r.generatedOffset.generatedLine-1,n=r.generatedOffset.generatedColumn-1;return 1===e.line&&(e.column+=n,"number"==typeof e.lastColumn&&(e.lastColumn+=n)),e.lastColumn===1/0&&a&&e.line===a.generatedOffset.generatedLine&&(e.lastColumn=a.generatedOffset.generatedColumn-2),e.line+=t,e})):[]}eachMapping(e,t,r){this._sections.forEach(((a,n)=>{const o=n+1=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let r=0,a=this.children.length;r0){for(t=[],r=0;r start -> leftRecursion -> duplicatedRule)"])}}))}))}));var chai$f=require$$0,parser$2=parser$4,compiler=compiler_1,expect$f=chai$f.expect;describe("Peggy compiler",(function(){it("checks start rules",(function(){var e=parser$2.parse("foo='1'");expect$f(compiler.compile(e,compiler.passes)).to.be.an("object"),expect$f((function(){return compiler.compile(e,compiler.passes,{allowedStartRules:null})})).to.throw("allowedStartRules must be an array"),expect$f((function(){return compiler.compile(e,compiler.passes,{allowedStartRules:[]})})).to.throw("Must have at least one start rule"),expect$f((function(){return compiler.compile(e,compiler.passes,{allowedStartRules:["bar"]})})).to.throw('Unknown start rule "bar"')})),it("checks output type",(function(){var e=parser$2.parse("foo='1'");expect$f(compiler.compile(e,compiler.passes,{output:"source"})).to.be.a("string"),expect$f((function(){return compiler.compile(e,compiler.passes,{output:"INVALID OUTPUT TYPE"})})).to.throw("Invalid output format: INVALID OUTPUT TYPE.")})),it("generates inline sourceMappingURL",(function(){var e=parser$2.parse("foo='1'");if(expect$f(e).to.be.an("object"),"function"==typeof TextEncoder&&(expect$f(compiler.compile(e,compiler.passes,{output:"source-with-inline-map",grammarSource:"src.peggy"})).to.match(/^\/\/# sourceMappingURL=data:application\/json;charset=utf-8;base64,/m),"object"==typeof globalThis)){var t=globalThis.TextEncoder;delete globalThis.TextEncoder,expect$f((function(){return compiler.compile(e,compiler.passes,{output:"source-with-inline-map",grammarSource:"src.peggy"})})).to.throw("TextEncoder is not supported by this platform"),globalThis.TextEncoder=t}})),it("requires grammarSource with source-map",(function(){var e=parser$2.parse("foo='1'");expect$f(e).to.be.an("object"),expect$f((function(){return compiler.compile(e,compiler.passes,{output:"source-and-map"})})).to.throw("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps"),expect$f((function(){return compiler.compile(e,compiler.passes,{output:"source-and-map",grammarSource:""})})).to.throw("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps"),"function"==typeof TextEncoder&&expect$f((function(){return compiler.compile(e,compiler.passes,{output:"source-with-inline-map",grammarSource:{toString:function(){return""}}})})).to.throw("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps")}))}));var __spreadArray$1=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n start)",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:5,line:1,column:6}}})})),it("reports indirect left recursion",(function(){expect$6(pass$2).to.reportError(["start = stop","stop = start"].join("\n"),{message:"Possible infinite loop when parsing (left recursion: start -> stop -> start)",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:5,line:1,column:6}}})})),describe("in sequences",(function(){it("reports left recursion if all preceding elements match empty string",(function(){expect$6(pass$2).to.reportError("start = '' '' '' start")})),it("doesn't report left recursion if some preceding element doesn't match empty string",(function(){expect$6(pass$2).to.not.reportError("start = 'a' '' '' start"),expect$6(pass$2).to.not.reportError("start = '' 'a' '' start"),expect$6(pass$2).to.not.reportError("start = '' '' 'a' start")})),it("reports left recursion when rule reference is wrapped in an expression",(function(){expect$6(pass$2).to.reportError("start = '' start?")})),it("computes expressions that always consume input on success correctly",(function(){expect$6(pass$2).to.reportError(["start = a start","a 'a' = ''"].join("\n")),expect$6(pass$2).to.not.reportError(["start = a start","a 'a' = 'a'"].join("\n")),expect$6(pass$2).to.reportError("start = ('' / 'a' / 'b') start"),expect$6(pass$2).to.reportError("start = ('a' / '' / 'b') start"),expect$6(pass$2).to.reportError("start = ('a' / 'b' / '') start"),expect$6(pass$2).to.not.reportError("start = ('a' / 'b' / 'c') start"),expect$6(pass$2).to.reportError("start = ('' { }) start"),expect$6(pass$2).to.not.reportError("start = ('a' { }) start"),expect$6(pass$2).to.reportError("start = ('' '' '') start"),expect$6(pass$2).to.not.reportError("start = ('a' '' '') start"),expect$6(pass$2).to.not.reportError("start = ('' 'a' '') start"),expect$6(pass$2).to.not.reportError("start = ('' '' 'a') start"),expect$6(pass$2).to.reportError("start = a:'' start"),expect$6(pass$2).to.not.reportError("start = a:'a' start"),expect$6(pass$2).to.reportError("start = $'' start"),expect$6(pass$2).to.not.reportError("start = $'a' start"),expect$6(pass$2).to.reportError("start = &'' start"),expect$6(pass$2).to.reportError("start = &'a' start"),expect$6(pass$2).to.reportError("start = !'' start"),expect$6(pass$2).to.reportError("start = !'a' start"),expect$6(pass$2).to.reportError("start = ''? start"),expect$6(pass$2).to.reportError("start = 'a'? start"),expect$6(pass$2).to.reportError("start = ''* start"),expect$6(pass$2).to.reportError("start = 'a'* start"),expect$6(pass$2).to.reportError("start = ''+ start"),expect$6(pass$2).to.not.reportError("start = 'a'+ start"),expect$6(pass$2).to.reportError("start = ''| .. | start"),expect$6(pass$2).to.reportError("start = ''|0.. | start"),expect$6(pass$2).to.reportError("start = ''|1.. | start"),expect$6(pass$2).to.reportError("start = ''|2.. | start"),expect$6(pass$2).to.reportError("start = ''| ..1| start"),expect$6(pass$2).to.reportError("start = ''| ..3| start"),expect$6(pass$2).to.reportError("start = ''|2..3| start"),expect$6(pass$2).to.reportError("start = ''| 42 | start"),expect$6(pass$2).to.reportError("start = 'a'| .. | start"),expect$6(pass$2).to.reportError("start = 'a'|0.. | start"),expect$6(pass$2).to.not.reportError("start = 'a'|1.. | start"),expect$6(pass$2).to.not.reportError("start = 'a'|2.. | start"),expect$6(pass$2).to.reportError("start = 'a'| ..1| start"),expect$6(pass$2).to.reportError("start = 'a'| ..3| start"),expect$6(pass$2).to.not.reportError("start = 'a'|2..3| start"),expect$6(pass$2).to.not.reportError("start = 'a'| 42 | start"),expect$6(pass$2).to.reportError("start = ('') start"),expect$6(pass$2).to.not.reportError("start = ('a') start"),expect$6(pass$2).to.reportError("start = &{ } start"),expect$6(pass$2).to.reportError("start = !{ } start"),expect$6(pass$2).to.reportError(["start = a start","a = ''"].join("\n")),expect$6(pass$2).to.not.reportError(["start = a start","a = 'a'"].join("\n")),expect$6(pass$2).to.reportError("start = '' start"),expect$6(pass$2).to.not.reportError("start = 'a' start"),expect$6(pass$2).to.not.reportError("start = [a-d] start"),expect$6(pass$2).to.not.reportError("start = . start")}))})),describe("in repeated with delimiter",(function(){it("doesn't report left recursion for delimiter if expression not match empty string",(function(){expect$6(pass$2).to.not.reportError("start = 'a'| .. , start|"),expect$6(pass$2).to.not.reportError("start = 'a'|0.. , start|"),expect$6(pass$2).to.not.reportError("start = 'a'|1.. , start|"),expect$6(pass$2).to.not.reportError("start = 'a'|2.. , start|"),expect$6(pass$2).to.not.reportError("start = 'a'| ..3, start|"),expect$6(pass$2).to.not.reportError("start = 'a'|2..3, start|"),expect$6(pass$2).to.not.reportError("start = 'a'| 42 , start|")})),it("reports left recursion for delimiter if expression match empty string",(function(){expect$6(pass$2).to.reportError("start = ''| .. , start|"),expect$6(pass$2).to.reportError("start = ''|0.. , start|"),expect$6(pass$2).to.reportError("start = ''|1.. , start|"),expect$6(pass$2).to.reportError("start = ''|2.. , start|"),expect$6(pass$2).to.reportError("start = ''| ..3, start|"),expect$6(pass$2).to.reportError("start = ''|2..3, start|"),expect$6(pass$2).to.reportError("start = ''| 42 , start|")}))}))}));var chai$5=require$$0,helpers$1=helpers$a,pass$1=reportInfiniteRepetition_1;chai$5.use(helpers$1);var expect$5=chai$5.expect;describe("compiler pass |reportInfiniteRepetition|",(function(){it("reports infinite loops for zero_or_more",(function(){expect$5(pass$1).to.reportError("start = ('')*",{message:"Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:13,line:1,column:14}}})})),it("reports infinite loops for one_or_more",(function(){expect$5(pass$1).to.reportError("start = ('')+",{message:"Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:13,line:1,column:14}}})})),describe("reports infinite loops for repeated",(function(){describe("without delimiter",(function(){it("with constant boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:16,line:1,column:17}}}),expect$5(pass$1).to.reportError("start = ('')|0..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$5(pass$1).to.reportError("start = ('')|1..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$5(pass$1).to.reportError("start = ('')|2..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}}),expect$5(pass$1).to.not.reportError("start = ('')| ..1|"),expect$5(pass$1).to.not.reportError("start = ('')| ..3|"),expect$5(pass$1).to.not.reportError("start = ('')|2..3|"),expect$5(pass$1).to.not.reportError("start = ('')| 42 |")})),it("with variable boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|len..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:19,line:1,column:20}}}),expect$5(pass$1).to.not.reportError("start = ('')|..len|"),expect$5(pass$1).to.not.reportError("start = ('')|len1..len2|"),expect$5(pass$1).to.not.reportError("start = ('')|len|")})),it("with function boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|{}..|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:18,line:1,column:19}}}),expect$5(pass$1).to.not.reportError("start = ('')|..{}|"),expect$5(pass$1).to.not.reportError("start = ('')|{}..{}|"),expect$5(pass$1).to.not.reportError("start = ('')|{}|")}))})),describe("with empty delimiter",(function(){it("with constant boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')| .., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$5(pass$1).to.reportError("start = ('')|0.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$5(pass$1).to.reportError("start = ('')|1.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$5(pass$1).to.reportError("start = ('')|2.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:21,line:1,column:22}}}),expect$5(pass$1).to.not.reportError("start = ('')| ..1, ''|"),expect$5(pass$1).to.not.reportError("start = ('')| ..3, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|2..3, ''|"),expect$5(pass$1).to.not.reportError("start = ('')| 42 , ''|")})),it("with variable boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|len.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:23,line:1,column:24}}}),expect$5(pass$1).to.not.reportError("start = ('')|..len, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|len1..len2, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|len, ''|")})),it("with function boundaries",(function(){expect$5(pass$1).to.reportError("start = ('')|{}.., ''|",{message:"Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:22,line:1,column:23}}}),expect$5(pass$1).to.not.reportError("start = ('')|..{}, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|{}..{}, ''|"),expect$5(pass$1).to.not.reportError("start = ('')|{}, ''|")}))})),describe("with non-empty delimiter",(function(){it("with constant boundaries",(function(){expect$5(pass$1).to.not.reportError("start = ('')| .., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|0.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|1.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|2.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')| ..1, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')| ..3, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|2..3, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')| 42 , 'a'|")})),it("with variable boundaries",(function(){expect$5(pass$1).to.not.reportError("start = ('')|len.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|..len, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|len1..len2, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|len, 'a'|")})),it("with function boundaries",(function(){expect$5(pass$1).to.not.reportError("start = ('')|{}.., 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|..{}, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|{}..{}, 'a'|"),expect$5(pass$1).to.not.reportError("start = ('')|{}, 'a'|")}))}))})),it("computes expressions that always consume input on success correctly",(function(){expect$5(pass$1).to.reportError(["start = a*","a 'a' = ''"].join("\n")),expect$5(pass$1).to.not.reportError(["start = a*","a 'a' = 'a'"].join("\n")),expect$5(pass$1).to.reportError("start = ('' / 'a' / 'b')*"),expect$5(pass$1).to.reportError("start = ('a' / '' / 'b')*"),expect$5(pass$1).to.reportError("start = ('a' / 'b' / '')*"),expect$5(pass$1).to.not.reportError("start = ('a' / 'b' / 'c')*"),expect$5(pass$1).to.reportError("start = ('' { })*"),expect$5(pass$1).to.not.reportError("start = ('a' { })*"),expect$5(pass$1).to.reportError("start = ('' '' '')*"),expect$5(pass$1).to.not.reportError("start = ('a' '' '')*"),expect$5(pass$1).to.not.reportError("start = ('' 'a' '')*"),expect$5(pass$1).to.not.reportError("start = ('' '' 'a')*"),expect$5(pass$1).to.reportError("start = (a:'')*"),expect$5(pass$1).to.not.reportError("start = (a:'a')*"),expect$5(pass$1).to.reportError("start = ($'')*"),expect$5(pass$1).to.not.reportError("start = ($'a')*"),expect$5(pass$1).to.reportError("start = (&'')*"),expect$5(pass$1).to.reportError("start = (&'a')*"),expect$5(pass$1).to.reportError("start = (!'')*"),expect$5(pass$1).to.reportError("start = (!'a')*"),expect$5(pass$1).to.reportError("start = (''?)*"),expect$5(pass$1).to.reportError("start = ('a'?)*"),expect$5(pass$1).to.reportError("start = (''*)*"),expect$5(pass$1).to.reportError("start = ('a'*)*"),expect$5(pass$1).to.reportError("start = (''+)*"),expect$5(pass$1).to.not.reportError("start = ('a'+)*"),expect$5(pass$1).to.reportError("start = ('')*"),expect$5(pass$1).to.not.reportError("start = ('a')*"),expect$5(pass$1).to.reportError("start = (&{ })*"),expect$5(pass$1).to.reportError("start = (!{ })*"),expect$5(pass$1).to.reportError("start = 'a'|.., ('')*|"),expect$5(pass$1).to.not.reportError("start = 'a'|.., ('b')*|"),expect$5(pass$1).to.reportError(["start = a*","a = ''"].join("\n")),expect$5(pass$1).to.not.reportError(["start = a*","a = 'a'"].join("\n")),expect$5(pass$1).to.reportError("start = ''*"),expect$5(pass$1).to.not.reportError("start = 'a'*"),expect$5(pass$1).to.not.reportError("start = [a-d]*"),expect$5(pass$1).to.not.reportError("start = .*")}))}));var chai$4=require$$0,helpers=helpers$a,pass=reportUndefinedRules_1;chai$4.use(helpers);var expect$4=chai$4.expect;describe("compiler pass |reportUndefinedRules|",(function(){it("reports undefined rules",(function(){expect$4(pass).to.reportError("start = undefined",{message:'Rule "undefined" is not defined',location:{source:void 0,start:{offset:8,line:1,column:9},end:{offset:17,line:1,column:18}}})}))}));var chai$3=require$$0,Stack=stack,expect$3=chai$3.expect;describe("utility class Stack",(function(){describe("for an empty stack",(function(){var e=void 0;beforeEach((function(){e=new Stack("rule","v","let",[42])})),describe("throws an error when attempting",(function(){it("`pop`",(function(){expect$3((function(){return e.pop()})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -1.\nBytecode: 42")})),it("`top`",(function(){expect$3((function(){return e.top()})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -1.\nBytecode: 42")})),it("`result`",(function(){expect$3((function(){return e.result()})).to.throw(RangeError,"Rule 'rule': The variable stack is empty, can't get the result")})),it("`index`",(function(){expect$3((function(){return e.index(-2)})).to.throw(RangeError,"Rule 'rule': The variable stack overflow: attempt to get a variable at a negative index -2.\nBytecode: 42"),expect$3((function(){return e.index(0)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -1.\nBytecode: 42"),expect$3((function(){return e.index(2)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -3.\nBytecode: 42")})),it("`sourceMapPop`",(function(){expect$3((function(){return e.sourceMapPop()})).to.throw(RangeError,"Rule 'rule': Attempting to pop an empty source map stack.\nBytecode: 42")}))})),it("`defines` returns an empty string",(function(){expect$3(e.defines()).to.equal("")}))})),it("throws an error when attempting `pop` more than `push`",(function(){var e=new Stack("rule","v","let",[42]);e.push("1"),expect$3((function(){return e.pop(3)})).to.throw(RangeError,"Rule 'rule': The variable stack underflow: attempt to use a variable 'v' at an index -2.\nBytecode: 42")})),it("returns a variable with an index 0 for `result`",(function(){var e=new Stack("rule","v","let",[]);e.push("1"),expect$3(e.result()).to.equal("v0")})),it("`defines` returns a define expression for all used variables",(function(){var e=new Stack("rule","v","let",[]);e.push("1"),e.push("2"),e.pop(),e.push("3"),expect$3(e.defines()).to.equal("let v0, v1;")})),describe("`checkedIf` method",(function(){var e=void 0;beforeEach((function(){(e=new Stack("rule","v","let",[42])).push("1")})),describe("does not throws an error",(function(){it("without the else brach",(function(){expect$3((function(){return e.checkedIf(0,(function(){}))})).to.not.throw(),expect$3((function(){return e.checkedIf(0,(function(){return e.pop()}))})).to.not.throw(),expect$3((function(){return e.checkedIf(0,(function(){return e.push("2")}))})).to.not.throw()})),describe("when the stack pointer",(function(){it("was not moving in both the arms",(function(){function t(){}function r(){e.push("1"),e.pop()}function a(){e.push("1"),e.push("2"),e.pop(2)}function n(){e.push("1"),e.pop(),e.push("2"),e.pop()}expect$3((function(){return e.checkedIf(0,t,t)})).to.not.throw(),expect$3((function(){return e.checkedIf(0,r,r)})).to.not.throw(),expect$3((function(){return e.checkedIf(0,a,a)})).to.not.throw(),expect$3((function(){return e.checkedIf(0,n,n)})).to.not.throw()})),it("increases on the same value in both the arms",(function(){expect$3((function(){return e.checkedIf(0,(function(){return e.push("1")}),(function(){return e.push("2")}))})).to.not.throw()})),it("decreases on the same value in both the arms",(function(){e.push("2"),expect$3((function(){return e.checkedIf(0,(function(){return e.pop(2)}),(function(){e.pop(),e.pop()}))})).to.not.throw()}))}))})),describe("throws an error when the stack pointer",(function(){it("was not moving in `if` and decreases in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){}),(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 0, after else: -1). Bytecode: 42")})),it("decreases in `if` and was not moving in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){return e.pop()}),(function(){}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: -1, after else: 0). Bytecode: 42")})),it("was not moving in `if` and increases in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){}),(function(){return e.push("2")}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 0, after else: 1). Bytecode: 42")})),it("increases in `if` and was not moving in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){return e.push("2")}),(function(){}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 1, after else: 0). Bytecode: 42")})),it("decreases in `if` and increases in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){return e.pop()}),(function(){return e.push("2")}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: -1, after else: 1). Bytecode: 42")})),it("increases in `if` and decreases in `then`",(function(){expect$3((function(){e.checkedIf(0,(function(){return e.push("2")}),(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Branches of a condition can't move the stack pointer differently (before: 0, after then: 1, after else: -1). Bytecode: 42")}))}))})),describe("`checkedLoop` method",(function(){var e=void 0;beforeEach((function(){(e=new Stack("rule","v","let",[42])).push("1")})),it("does not throws an error when the stack pointer was not moving",(function(){function t(){}function r(){e.push("1"),e.pop()}function a(){e.push("1"),e.push("2"),e.pop(2)}function n(){e.push("1"),e.pop(),e.push("2"),e.pop()}expect$3((function(){return e.checkedLoop(0,t)})).to.not.throw(),expect$3((function(){return e.checkedLoop(0,r)})).to.not.throw(),expect$3((function(){return e.checkedLoop(0,a)})).to.not.throw(),expect$3((function(){return e.checkedLoop(0,n)})).to.not.throw()})),it("throws an error when the stack pointer increases",(function(){expect$3((function(){return e.checkedLoop(0,(function(){return e.push("1")}))})).to.throw(Error,"Rule 'rule', position 0: Body of a loop can't move the stack pointer (before: 0, after: 1). Bytecode: 42")})),it("throws an error when the stack pointer decreases",(function(){expect$3((function(){return e.checkedLoop(0,(function(){return e.pop()}))})).to.throw(Error,"Rule 'rule', position 0: Body of a loop can't move the stack pointer (before: 0, after: -1). Bytecode: 42")}))})),describe("SourceNode handling",(function(){it("sourceNode handles unknown column",(function(){expect$3(Stack.sourceNode({source:"",start:{line:1,column:0,offset:0},end:{line:1,column:0,offset:0}},["foo"],"test").column).to.equal(null)}))}))}));var chai$2=require$$0,_a$1=utils$1,hex=_a$1.hex,stringEscape=_a$1.stringEscape,regexpClassEscape=_a$1.regexpClassEscape,base64=_a$1.base64,expect$2=chai$2.expect;describe("utility functions",(function(){it("hex",(function(){expect$2(hex("0")).to.equal("30"),expect$2(hex("\0")).to.equal("0"),expect$2(hex("\n")).to.equal("A"),expect$2(hex("\ufeff")).to.equal("FEFF")})),it("stringEscape",(function(){expect$2(stringEscape("abc")).to.equal("abc"),expect$2(stringEscape('\\"\0\b\t\n\v\f\r')).to.equal('\\\\\\"\\0\\b\\t\\n\\v\\f\\r'),expect$2(stringEscape("")).to.equal("\\x01\\x0F"),expect$2(stringEscape("")).to.equal("\\x10\\x1F\\x7F"),expect$2(stringEscape("Ā࿿")).to.equal("\\u0100\\u0FFF"),expect$2(stringEscape("က￿")).to.equal("\\u1000\\uFFFF")})),it("regexpClassEscape",(function(){expect$2(regexpClassEscape("\\\0\b\t\n\v\f\r")).to.equal("\\\\\\0\\b\\t\\n\\v\\f\\r"),expect$2(regexpClassEscape("/]^-")).to.equal("\\/\\]\\^\\-"),expect$2(regexpClassEscape("")).to.equal("\\x01\\x0F"),expect$2(regexpClassEscape("")).to.equal("\\x10\\x1F\\x7F"),expect$2(regexpClassEscape("Ā࿿")).to.equal("\\u0100\\u0FFF"),expect$2(regexpClassEscape("က￿")).to.equal("\\u1000\\uFFFF")})),it("base64",(function(){expect$2(base64(new Uint8Array([]))).to.equal(""),expect$2(base64(new Uint8Array([97]))).to.equal("YQ=="),expect$2(base64(new Uint8Array([97,98]))).to.equal("YWI="),expect$2(base64(new Uint8Array([97,98,99]))).to.equal("YWJj"),expect$2(base64(new Uint8Array([97,98,99,100]))).to.equal("YWJjZA=="),expect$2(base64(new Uint8Array([97,98,99,100,101]))).to.equal("YWJjZGU="),expect$2(base64(new Uint8Array([97,98,99,100,101,102]))).to.equal("YWJjZGVm")}))}));var chai$1=require$$0,_a=peg_1,GrammarError=_a.GrammarError,GrammarLocation=_a.GrammarLocation,expect$1=chai$1.expect,location={source:void 0,start:{offset:0,line:1,column:1},end:{offset:4,line:1,column:5}};describe("Grammar Errors",(function(){it("might not have a location",(function(){var e=new GrammarError("message");expect$1(e.location).to.equal(void 0),expect$1(e.toString()).to.equal("GrammarError: message")})),it("might have locations",(function(){location.source=void 0;var e=new GrammarError("message",location);expect$1(e.location).to.eql(location),expect$1(e.toString()).to.equal("GrammarError: message\n at 1:1"),e=new GrammarError("message",null,[{message:"Subinfo",location:location}]),expect$1(e.location).to.equal(null),expect$1(e.toString()).to.equal("GrammarError: message\n from 1:1: Subinfo"),location.source="foo.peggy",e=new GrammarError("message",location,[{message:"Subinfo",location:location}]),expect$1(e.toString()).to.equal("GrammarError: message\n at foo.peggy:1:1\n from foo.peggy:1:1: Subinfo")})),describe("formats",(function(){var e={source:"foo.peggy",text:"some error\nthat"},t={source:"foo.peggy",start:{offset:5,line:1,column:6},end:{offset:11,line:2,column:1}},r=[{message:"Subinfo",location:t}];describe("single problem",(function(){describe("with main location",(function(){location.source="foo.peggy";var t=new GrammarError("message",location,r);it("with zero-length error at the end",(function(){var t=new GrammarError("message",{source:"foo.peggy",start:{offset:4,line:1,column:5},end:{offset:4,line:1,column:5}});expect$1(t.format([e])).to.equal("error: message\n --\x3e foo.peggy:1:5\n |\n1 | some error\n | ^")})),it("with source",(function(){expect$1(t.format([e])).to.equal("error: message\n --\x3e foo.peggy:1:1\n |\n1 | some error\n | ^^^^\nnote: Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^")})),it("without source",(function(){expect$1(t.format([])).to.equal("error: message\n at foo.peggy:1:1\n at foo.peggy:1:6: Subinfo")}))})),describe("without main location",(function(){var t=new GrammarError("message",null,r);it("with source",(function(){expect$1(t.format([e])).to.equal("error: message\nnote: Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^")})),it("without source",(function(){expect$1(t.format([])).to.equal("error: message\n at foo.peggy:1:6: Subinfo")}))}))})),describe("several problems",(function(){describe("with main location",(function(){location.source="foo.peggy";var a=new GrammarError("message",location,r);a.problems.push(["warning","Warning message",t,[{message:"Warning Subinfo",location:t}]]),a.problems.push(["info","Info message",null,[]]),it("null source text",(function(){expect$1(a.format([{source:null,text:null}])).to.equal("error: message\n at foo.peggy:1:1\n at foo.peggy:1:6: Subinfo\n\nwarning: Warning message\n at foo.peggy:1:6\n at foo.peggy:1:6: Warning Subinfo"),expect$1(a.format([{source:null,text:void 0}])).to.equal("error: message\n at foo.peggy:1:1\n at foo.peggy:1:6: Subinfo\n\nwarning: Warning message\n at foo.peggy:1:6\n at foo.peggy:1:6: Warning Subinfo")})),it("with source",(function(){expect$1(a.format([e])).to.equal("error: message\n --\x3e foo.peggy:1:1\n |\n1 | some error\n | ^^^^\nnote: Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^\n\nwarning: Warning message\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^\nnote: Warning Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^")})),it("with GrammarLocation",(function(){var r=new GrammarLocation("foo.peggy",{offset:12,line:15,column:8});expect$1(String(r)).to.equal("foo.peggy"),location.source=r,t.source=r,a.diagnostics.push({message:"Column not offset",location:{source:r,start:{offset:11,line:2,column:1},end:{offset:15,line:2,column:5}}}),expect$1(a.format([{source:r,text:e.text}])).to.equal("error: message\n --\x3e foo.peggy:15:8\n |\n15 | some error\n | ^^^^\nnote: Subinfo\n --\x3e foo.peggy:15:13\n |\n15 | some error\n | ^^^^^\nnote: Column not offset\n --\x3e foo.peggy:16:1\n |\n16 | that\n | ^^^^\n\nwarning: Warning message\n --\x3e foo.peggy:15:13\n |\n15 | some error\n | ^^^^^\nnote: Warning Subinfo\n --\x3e foo.peggy:15:13\n |\n15 | some error\n | ^^^^^"),location.source="foo.peggy",t.source="foo.peggy",a.diagnostics.pop()})),it("without source",(function(){expect$1(a.format([])).to.equal("error: message\n at foo.peggy:1:1\n at foo.peggy:1:6: Subinfo\n\nwarning: Warning message\n at foo.peggy:1:6\n at foo.peggy:1:6: Warning Subinfo")}))})),describe("without main location",(function(){var a=new GrammarError("message",null,r);a.problems.push(["warning","Warning message",null,[{message:"Warning Subinfo",location:t}]]),a.problems.push(["info","Info message",null,[]]),it("with source",(function(){expect$1(a.format([e])).to.equal("error: message\nnote: Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^\n\nwarning: Warning message\nnote: Warning Subinfo\n --\x3e foo.peggy:1:6\n |\n1 | some error\n | ^^^^^")})),it("without source",(function(){expect$1(a.format([])).to.equal("error: message\n at foo.peggy:1:6: Subinfo\n\nwarning: Warning message\n at foo.peggy:1:6: Warning Subinfo")}))}))}))}))}));var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n1&&e.delimiter&&o(e.delimiter)))},semantic_and:n,semantic_not:n,rule_ref:function(t){var r=asts$8.findRule(e,t.name);return r?o(r):void 0},literal:function(e){return""!==e.value},class:r,any:r});return o(t)},combine:function(e){return e.reduce((function(e,t){return e.topLevelInitializer=combinePossibleArrays(e.topLevelInitializer,t.topLevelInitializer),e.initializer=combinePossibleArrays(e.initializer,t.initializer),e.rules=e.rules.concat(t.rules),e}))}},asts_1=asts$8,opcodes={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,IF_LT:30,IF_GE:31,IF_LT_DYNAMIC:32,IF_GE_DYNAMIC:33,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29,SOURCE_MAP_PUSH:37,SOURCE_MAP_POP:38,SOURCE_MAP_LABEL_PUSH:39,SOURCE_MAP_LABEL_POP:40},opcodes_1=opcodes,visitor$a=visitor_1,asts$7=asts_1,GrammarError$2=grammarError,ALWAYS_MATCH$1=1,SOMETIMES_MATCH$1=0,NEVER_MATCH$1=-1;function inferenceMatchResult$1(e){function t(e){return e.match=SOMETIMES_MATCH$1}function r(e){return u(e.expression),e.match=ALWAYS_MATCH$1}function n(e){return e.match=u(e.expression)}function o(e,t){for(var r=e.length,n=0,o=0,a=0;a0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var u=visitor$a.build({rule:function(e){var t=void 0,r=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(t=e.match,e.match=u(e.expression),++r>6)throw new GrammarError$2("Infinity cycle detected when trying to evaluate node match result",e.location)}while(t!==e.match)}return e.match},named:n,choice:function(e){return e.match=o(e.alternatives,!0)},action:n,sequence:function(e){return e.match=o(e.elements,!1)},labeled:n,text:n,simple_and:n,simple_not:function(e){return e.match=-u(e.expression)},optional:r,zero_or_more:r,one_or_more:n,repeated:function(e){var t=u(e.expression),r=e.delimiter?u(e.delimiter):NEVER_MATCH$1,n=e.min?e.min:e.max;return"constant"!==n.type||"constant"!==e.max.type?e.match=SOMETIMES_MATCH$1:0===e.max.value||null!==e.max.value&&n.value>e.max.value?e.match=NEVER_MATCH$1:t===NEVER_MATCH$1?e.match=0===n.value?ALWAYS_MATCH$1:NEVER_MATCH$1:t===ALWAYS_MATCH$1?e.delimiter&&n.value>=2?e.match=r:e.match=ALWAYS_MATCH$1:e.delimiter&&n.value>=2?e.match=r===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===n.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:n,semantic_and:t,semantic_not:t,rule_ref:function(t){var r=asts$7.findRule(e,t.name);return t.match=u(r)},literal:function(e){var t=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},class:function(e){var t=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},any:t});u(e)}inferenceMatchResult$1.ALWAYS_MATCH=ALWAYS_MATCH$1,inferenceMatchResult$1.SOMETIMES_MATCH=SOMETIMES_MATCH$1,inferenceMatchResult$1.NEVER_MATCH=NEVER_MATCH$1;var inferenceMatchResult_1=inferenceMatchResult$1,__spreadArray$3=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var n,o=0,u=t.length;o1?h(SOMETIMES_MATCH,[op$1.IF_ERROR],f([op$1.POP],e(t.slice(1),r)),[]):[])}(e.alternatives,t)},action:function(e,t){var r=p(t.env),n="sequence"!==e.expression.type||0===e.expression.elements.length,o=C(e.expression,{sp:t.sp+(n?1:0),env:r,action:e}),u=e.expression.match||0,a=n&&u!==NEVER_MATCH?c(!1,Object.keys(r),e):-1;return n?f([op$1.PUSH_CURR_POS],o,h(u,[op$1.IF_NOT_ERROR],f([op$1.LOAD_SAVED_POS,1],d(a,1,r,t.sp+2)),[]),[op$1.NIP]):o},sequence:function(e,t){return f([op$1.PUSH_CURR_POS],function t(r,n){if(r.length>0){var o=e.elements.length-r.length+1;return f(C(r[0],{sp:n.sp,env:n.env,pluck:n.pluck,action:null}),h(r[0].match||0,[op$1.IF_NOT_ERROR],t(r.slice(1),{sp:n.sp+1,env:n.env,pluck:n.pluck,action:n.action}),f(o>1?[op$1.POP_N,o]:[op$1.POP],[op$1.POP_CURR_POS],[op$1.PUSH_FAILED])))}if(n.pluck&&n.pluck.length>0)return f([op$1.PLUCK,e.elements.length+1,n.pluck.length],n.pluck.map((function(e){return n.sp-e})));if(n.action){var u=c(!1,Object.keys(n.env),n.action);return f([op$1.LOAD_SAVED_POS,e.elements.length],d(u,e.elements.length+1,n.env,n.sp))}return f([op$1.WRAP,e.elements.length],[op$1.NIP])}(e.elements,{sp:t.sp+1,env:t.env,pluck:[],action:t.action}))},labeled:function(e,r){var n=r.env,o=e.label,u=r.sp+1;o&&(n=p(r.env),r.env[o]=u),e.pick&&r.pluck.push(u);var a=C(e.expression,{sp:r.sp,env:n,action:null});return o&&e.labelLocation&&t&&"source-and-map"===t.output?f([op$1.SOURCE_MAP_LABEL_PUSH,u,i(o),l(e.labelLocation)],a,[op$1.SOURCE_MAP_LABEL_POP,u]):a},text:function(e,t){return f([op$1.PUSH_CURR_POS],C(e.expression,{sp:t.sp+1,env:p(t.env),action:null}),h(e.match||0,[op$1.IF_NOT_ERROR],f([op$1.POP],[op$1.TEXT]),[op$1.NIP]))},simple_and:function(e,t){return A(e.expression,!1,t)},simple_not:function(e,t){return A(e.expression,!0,t)},optional:function(e,t){return f(C(e.expression,{sp:t.sp,env:p(t.env),action:null}),h(-(e.expression.match||0),[op$1.IF_ERROR],f([op$1.POP],[op$1.PUSH_NULL]),[]))},zero_or_more:function(e,t){var r=C(e.expression,{sp:t.sp+1,env:p(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],r,m(r),[op$1.POP])},one_or_more:function(e,t){var r=C(e.expression,{sp:t.sp+1,env:p(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],r,h(e.expression.match||0,[op$1.IF_NOT_ERROR],f(m(r),[op$1.POP]),f([op$1.POP],[op$1.POP],[op$1.PUSH_FAILED])))},repeated:function(e,t){var r=e.min?e.min:e.max,n="constant"!==r.type||r.value>0,o="constant"!==e.max.type&&null!==e.max.value,u=n?2:1,a=e.min?E(e.min,t.env,t.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:t.sp},i=E(e.max,t.env,a.sp,u),s=C(e.expression,{sp:i.sp+u,env:p(t.env),action:null}),c=null!==e.delimiter?C(e.expression,{sp:i.sp+u+1,env:p(t.env),action:null}):s,l=function(e,t,r,n,o){return e?f([op$1.PUSH_CURR_POS],C(e,{sp:n.sp+o+1,env:p(n.env),action:null}),h(e.match||0,[op$1.IF_NOT_ERROR],f([op$1.POP],r,h(-t,[op$1.IF_ERROR],[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP])),[op$1.NIP])):r}(e.delimiter,e.expression.match||0,c,t,u),d=_(l,e.max),A=o?_(s,e.max):s,g=f(n?[op$1.PUSH_CURR_POS]:[],[op$1.PUSH_EMPTY_ARRAY],A,m(d),[op$1.POP]);return f(a.pre,i.pre,n?function(e,t){var r="constant"===t.type?[op$1.IF_LT,t.value]:[op$1.IF_LT_DYNAMIC,t.sp||0];return f(e,h(SOMETIMES_MATCH,r,[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP]))}(g,r):g,i.post,a.post)},group:function(e,t){return C(e.expression,{sp:t.sp,env:p(t.env),action:null})},semantic_and:function(e,t){return g(e,!1,t)},semantic_not:function(e,t){return g(e,!0,t)},rule_ref:function(t){return[op$1.RULE,asts$6.indexOfRule(e,t.name)]},literal:function(e){if(e.value.length>0){var t=e.match||0,r=t===SOMETIMES_MATCH||t===ALWAYS_MATCH&&!e.ignoreCase?i(e.ignoreCase?e.value.toLowerCase():e.value):-1,n=t!==ALWAYS_MATCH?s({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):-1;return h(t,e.ignoreCase?[op$1.MATCH_STRING_IC,r]:[op$1.MATCH_STRING,r],e.ignoreCase?[op$1.ACCEPT_N,e.value.length]:[op$1.ACCEPT_STRING,r],[op$1.FAIL,n])}return[op$1.PUSH_EMPTY_STRING]},class:function(e){var t=e.match||0,r=t===SOMETIMES_MATCH?function(e){var t={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},r=JSON.stringify(t),o=n.findIndex((function(e){return JSON.stringify(e)===r}));return-1===o?n.push(t)-1:o}(e):-1,o=t!==ALWAYS_MATCH?s({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):-1;return h(t,[op$1.MATCH_CHAR_CLASS,r],[op$1.ACCEPT_N,1],[op$1.FAIL,o])},any:function(e){var t=e.match||0,r=t!==ALWAYS_MATCH?s({type:"any"}):-1;return h(t,[op$1.MATCH_ANY],[op$1.ACCEPT_N,1],[op$1.FAIL,r])}},t&&"source-and-map"===t.output&&Object.keys(v).forEach((function(e){var t=v[e];v[e]=function(e){for(var r=[],n=1;n>>=VLQ_BASE_SHIFT,n>0&&(t|=VLQ_CONTINUATION_BIT),r+=base64$2.encode(t)}while(n>0);return r};var util$3={};function getArg(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')}util$3.getArg=getArg;const supportsNullProto=!("__proto__"in Object.create(null));function identity(e){return e}function toSetString(e){return isProtoString(e)?"$"+e:e}function fromSetString(e){return isProtoString(e)?e.slice(1):e}function isProtoString(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function strcmp(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated(e,t){let r=e.generatedLine-t.generatedLine;return 0!==r?r:(r=e.generatedColumn-t.generatedColumn,0!==r?r:(r=strcmp(e.source,t.source),0!==r?r:(r=e.originalLine-t.originalLine,0!==r?r:(r=e.originalColumn-t.originalColumn,0!==r?r:strcmp(e.name,t.name)))))}util$3.toSetString=supportsNullProto?identity:toSetString,util$3.fromSetString=supportsNullProto?identity:fromSetString,util$3.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;const PROTOCOL="http:",PROTOCOL_AND_HOST=`${PROTOCOL}//host`;function createSafeHandler(e){return t=>{const r=getURLType(t),n=buildSafeBase(t),o=new URL(t,n);e(o);const u=o.toString();return"absolute"===r?u:"scheme-relative"===r?u.slice(PROTOCOL.length):"path-absolute"===r?u.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(n,u)}}function withBase(e,t){return new URL(e,t).toString()}function buildUniqueSegment(e,t){let r=0;for(;;){const n=e+r++;if(-1===t.indexOf(n))return n}}function buildSafeBase(e){const t=e.split("..").length-1,r=buildUniqueSegment("p",e);let n=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!n[n.length-1]&&n.pop();r.length>0&&n.length>0&&r[0]===n[0];)r.shift(),n.shift();return n.map((()=>"..")).concat(r).join("/")+t.search+t.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize=createSafeHandler((e=>{}));function join(e,t){const r=getURLType(t),n=getURLType(e);if(e=ensureDirectory(e),"absolute"===r)return withBase(t,void 0);if("absolute"===n)return withBase(t,e);if("scheme-relative"===r)return normalize(t);if("scheme-relative"===n)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===r)return normalize(t);if("path-absolute"===n)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const o=buildSafeBase(t+e);return computeRelativeURL(o,withBase(t,withBase(e,o)))}function relative(e,t){const r=relativeIfPossible(e,t);return"string"==typeof r?r:normalize(t)}function relativeIfPossible(e,t){if(getURLType(e)!==getURLType(t))return null;const r=buildSafeBase(e+t),n=new URL(e,r),o=new URL(t,r);try{new URL("",o.toString())}catch(e){return null}return o.protocol!==n.protocol||o.user!==n.user||o.password!==n.password||o.hostname!==n.hostname||o.port!==n.port?null:computeRelativeURL(n,o)}util$3.normalize=normalize,util$3.join=join,util$3.relative=relative;var arraySet={};let ArraySet$1=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){const n=new e;for(let e=0,o=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&er||n==r&&u>=o||util$2.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$2.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList.MappingList=MappingList$1;const base64VLQ=base64Vlq,util$1=util$3,ArraySet=arraySet.ArraySet,MappingList=mappingList.MappingList;let SourceMapGenerator$1=class e{constructor(e){e||(e={}),this._file=util$1.getArg(e,"file",null),this._sourceRoot=util$1.getArg(e,"sourceRoot",null),this._skipValidation=util$1.getArg(e,"skipValidation",!1),this._sources=new ArraySet,this._names=new ArraySet,this._mappings=new MappingList,this._sourcesContents=null}static fromSourceMap(t){const r=t.sourceRoot,n=new e({file:t.file,sourceRoot:r});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=r&&(t.source=util$1.relative(r,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),n.addMapping(t)})),t.sources.forEach((function(e){let o=e;null!=r&&(o=util$1.relative(r,e)),n._sources.has(o)||n._sources.add(o);const u=t.sourceContentFor(e);null!=u&&n.setSourceContent(e,u)})),n}addMapping(e){const t=util$1.getArg(e,"generated"),r=util$1.getArg(e,"original",null);let n=util$1.getArg(e,"source",null),o=util$1.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,n,o),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=o&&(o=String(o),this._names.has(o)||this._names.add(o)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:r&&r.line,originalColumn:r&&r.column,source:n,name:o})}setSourceContent(e,t){let r=e;null!=this._sourceRoot&&(r=util$1.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$1.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[util$1.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,r){let n=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');n=e.file}const o=this._sourceRoot;null!=o&&(n=util$1.relative(o,n));const u=this._mappings.toArray().length>0?new ArraySet:this._sources,a=new ArraySet;this._mappings.unsortedForEach((function(t){if(t.source===n&&null!=t.originalLine){const n=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=n.source&&(t.source=n.source,null!=r&&(t.source=util$1.join(r,t.source)),null!=o&&(t.source=util$1.relative(o,t.source)),t.originalLine=n.line,t.originalColumn=n.column,null!=n.name&&(t.name=n.name))}const i=t.source;null==i||u.has(i)||u.add(i);const s=t.name;null==s||a.has(s)||a.add(s)}),this),this._sources=u,this._names=a,e.sources.forEach((function(t){const n=e.sourceContentFor(t);null!=n&&(null!=r&&(t=util$1.join(r,t)),null!=o&&(t=util$1.relative(o,t)),this.setSourceContent(t,n))}),this)}_validateMapping(e,t,r,n){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!r&&!n);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))}_serializeMappings(){let e,t,r,n,o=0,u=1,a=0,i=0,s=0,c=0,l="";const p=this._mappings.toArray();for(let f=0,h=p.length;f0){if(!util$1.compareByGeneratedPositionsInflated(t,p[f-1]))continue;e+=","}e+=base64VLQ.encode(t.generatedColumn-o),o=t.generatedColumn,null!=t.source&&(n=this._sources.indexOf(t.source),e+=base64VLQ.encode(n-c),c=n,e+=base64VLQ.encode(t.originalLine-1-i),i=t.originalLine-1,e+=base64VLQ.encode(t.originalColumn-a),a=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=base64VLQ.encode(r-s),s=r)),l+=e}return l}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$1.relative(t,e));const r=util$1.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$1.prototype._version=3,sourceMapGenerator.SourceMapGenerator=SourceMapGenerator$1;var sourceNode={};const SourceMapGenerator=sourceMapGenerator.SourceMapGenerator,util=util$3,REGEX_NEWLINE=/(\r?\n)/,NEWLINE_CODE=10,isSourceNode="$$$isSourceNode$$$";let SourceNode$2=class e{constructor(e,t,r,n,o){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==o?null:o,this[isSourceNode]=!0,null!=n&&this.add(n)}static fromStringWithSourceMap(t,r,n){const o=new e,u=t.split(REGEX_NEWLINE);let a=0;const i=function(){return e()+(e()||"");function e(){return a=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let r=0,n=this.children.length;r0){for(t=[],r=0;r' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.sourceNode=function(e,t,r){var n=GrammarLocation$2.offsetStart(e);return new SourceNode$1(n.line,n.column?n.column-1:null,String(e.source),t,r)},e.prototype.push=function(t){++this.sp>this.maxSp&&(this.maxSp=this.sp);var r=this.labels[this.sp],n=[this.name(this.sp)," = ",t,";"];if(r){if(this.sourceMapStack.length){var o=e.sourceNode(r.location,n.splice(0,2),r.label),u=this.sourceMapPopInternal(),a=u.parts,i=u.location,s=i.start.offsett.end.offset&&(r[2]={start:t.end,end:r[2].end,source:r[2].source})}this.sourceMapStack.push([e,e.length,t])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop();if(!e)throw new RangeError("Rule '".concat(this.ruleName,"': Attempting to pop an empty source map stack.\nBytecode: ").concat(this.bytecode));var t=e[0],r=e[1],n=e[2],o=t.splice(r).map((function(e){return e instanceof SourceNode$1?e:e+"\n"}));if(o.length){var u=GrammarLocation$2.offsetStart(n);t.push(new SourceNode$1(u.line,u.column-1,String(n.source),o))}return{parts:t,location:n}},e.prototype.sourceMapPop=function(e){var t=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&t.end.offset>2],o+=t[(3&e[u])<<4|e[u+1]>>4],o+=t[(15&e[u+1])<<2|e[u+2]>>6],o+=t[63&e[u+2]];return 1===r?(o+=t[e[n]>>2],o+=t[(3&e[n])<<4],o+="=="):2===r&&(o+=t[e[n]>>2],o+=t[(3&e[n])<<4|e[n+1]>>4],o+=t[(15&e[n+1])<<2],o+="="),o}utils.hex=hex,utils.stringEscape=stringEscape$1,utils.regexpClassEscape=regexpClassEscape$1,utils.base64=base64$1;var __spreadArray$2=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var n,o=0,u=t.length;o0&&(t.forEach((function(e){o.push("var "+e+' = require("'+stringEscape(s[e])+'");')})),o.push("")),o.push(e,"","module.exports = "+n()+";"),o},es:function(){var n=Object.keys(s),o=r();return o.push(""),n.length>0&&(n.forEach((function(e){o.push("import "+e+' from "'+stringEscape(s[e])+'";')})),o.push("")),o.push(e,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),o},amd:function(){var t=Object.keys(s),o="["+t.map((function(e){return s[e]})).map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",u=t.join(", ");return __spreadArray$2(__spreadArray$2([],r(),!0),["define("+o+", function("+u+") {",' "use strict";',"",e,"",c("return "+n()+";"),"});"],!1)},globals:function(){return __spreadArray$2(__spreadArray$2([],r(),!0),["(function(root) {",' "use strict";',"",e,"",c("root."+t.exportVar+" = "+n()+";"),"})(this);"],!1)},umd:function(){var o=Object.keys(s),u=o.map((function(e){return s[e]})),a="["+u.map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",i=u.map((function(e){return'require("'+stringEscape(e)+'")'})).join(", "),l=o.join(", "),p=r();return p.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+a+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+i+");"),null!==t.exportVar&&p.push(" } else {"," root."+t.exportVar+" = factory();"),p.push(" }","})(this, function("+l+") {",' "use strict";',"",e,"",c("return "+n()+";"),"});"),p}}[t.format||"bare"]();return new SourceNode(null,null,t.grammarSource,o.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}(function(){var s=[];if(e.topLevelInitializer)if(Array.isArray(e.topLevelInitializer))for(var g=0,m=e.topLevelInitializer;g targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var offset_s = (this.location.source && (typeof this.location.source.offset === "function"))'," ? this.location.source.offset(s)"," : s;",' var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;'," if (src) {"," var e = this.location.end;"," var filler = peg$padEnd(\"\", offset_s.line.toString().length, ' ');"," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --\x3e " + loc + "\\n"',' + filler + " |\\n"',' + offset_s.line + " | " + line + "\\n"',' + filler + " | " + peg$padEnd("", s.column - 1, \' \')',' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/"/g, "\\\\\\"")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/\\]/g, "\\\\]")',' .replace(/\\^/g, "\\\\^")',' .replace(/-/g, "\\\\-")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&s.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");var _="{ "+i.map((function(e){return e+": "+d(e)})).join(", ")+" }",v=d(i[0]);if(s.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+_+";"," var peg$startRuleFunction = "+v+";","",new SourceNode(null,null,t.grammarSource,__spreadArray$2([r.map((function(e,t){return" var "+l(t)+' = "'+stringEscape(e)+'";'})).concat("",o.map((function(e,t){return" var "+p(t)+" = /^["+((r=e).inverted?"^":"")+r.value.map((function(e){return Array.isArray(e)?regexpClassEscape(e[0])+"-"+regexpClassEscape(e[1]):regexpClassEscape(e)})).join("")+"]/"+(r.ignoreCase?"i":"")+";";var r}))).concat("",u.map((function(e,t){return" var "+f(t)+" = "+function(e){switch(e.type){case"rule":return'peg$otherExpectation("'+stringEscape(e.value)+'")';case"literal":return'peg$literalExpectation("'+stringEscape(e.value)+'", '+e.ignoreCase+")";case"class":return"peg$classExpectation(["+e.value.map((function(e){return Array.isArray(e)?'["'+stringEscape(e[0])+'", "'+stringEscape(e[1])+'"]':'"'+stringEscape(e)+'"'})).join(", ")+"], "+e.inverted+", "+e.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(e)+")")}}(e)+";"}))).concat("").join("\n")],a.map((function(e,t){return wrapInSourceNode("\n var ".concat(h(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")})),!0)),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&s.push(" var peg$resultsCache = {};",""),t.trace&&s.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),s.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",' throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");'," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," if (pos >= peg$posDetailsCache.length) {"," p = peg$posDetailsCache.length - 1;"," } else {"," p = pos;"," while (!peg$posDetailsCache[--p]) {}"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos, offset) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," var res = {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };",' if (offset && peg$source && (typeof peg$source.offset === "function")) {'," res.start = peg$source.offset(res.start);"," res.end = peg$source.offset(res.end);"," }"," return res;"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach((function(o){s.push.apply(s,c(function(o){var u=[],a=o.bytecode,i=new Stack(o.name,"s","var",a),s=function t(o){var u=0,a=o.length,s=[],A=void 0;function g(e,r,n){var a=r+3,l=o[u+a-2],p=o[u+a-1],f=i.checkedIf(u,(function(){return u+=a+l,(n||t)(o.slice(u-l,u))}),p>0?function(){return u+=p,t(o.slice(u-p,u))}:null),h=f[0],d=f[1];s.push("if ("+e+") {"),s.push.apply(s,c(h)),p>0&&(s.push("} else {"),s.push.apply(s,c(d))),s.push("}")}function m(e,r,n){var a=r+3,c=1===n?"input.charAt(peg$currPos)":"input.substr(peg$currPos, "+n+")",l=null;o[u+a]===op.ACCEPT_N&&o[u+a+1]===n&&(s.push(i.push(c)),c=i.pop(),l=function(e){i.sp++;var r=t(e.slice(2));return r.unshift(1===n?"peg$currPos++;":"peg$currPos += "+n+";"),r}),g(e(c,null!==l),r,l)}for(var E=function(){switch(o[u]){case op.PUSH_EMPTY_STRING:s.push(i.push("''")),u++;break;case op.PUSH_CURR_POS:s.push(i.push("peg$currPos")),u++;break;case op.PUSH_UNDEFINED:s.push(i.push("undefined")),u++;break;case op.PUSH_NULL:s.push(i.push("null")),u++;break;case op.PUSH_FAILED:s.push(i.push("peg$FAILED")),u++;break;case op.PUSH_EMPTY_ARRAY:s.push(i.push("[]")),u++;break;case op.POP:i.pop(),u++;break;case op.POP_CURR_POS:s.push("peg$currPos = "+i.pop()+";"),u++;break;case op.POP_N:i.pop(o[u+1]),u+=2;break;case op.NIP:A=i.pop(),i.pop(),s.push(i.push(A)),u++;break;case op.APPEND:A=i.pop(),s.push(i.top()+".push("+A+");"),u++;break;case op.WRAP:s.push(i.push("["+i.pop(o[u+1]).join(", ")+"]")),u+=2;break;case op.TEXT:s.push(i.push("input.substring("+i.pop()+", peg$currPos)")),u++;break;case op.PLUCK:var a=o[u+3-1],E=3+a;A=o.slice(u+3,u+E),A=1===a?i.index(A[0]):"[ ".concat(A.map((function(e){return i.index(e)})).join(", ")," ]"),i.pop(o[u+1]),s.push(i.push(A)),u+=E;break;case op.IF:g(i.top(),0);break;case op.IF_ERROR:g(i.top()+" === peg$FAILED",0);break;case op.IF_NOT_ERROR:g(i.top()+" !== peg$FAILED",0);break;case op.IF_LT:g(i.top()+".length < "+o[u+1],1);break;case op.IF_GE:g(i.top()+".length >= "+o[u+1],1);break;case op.IF_LT_DYNAMIC:g(i.top()+".length < ("+i.index(o[u+1])+"|0)",1);break;case op.IF_GE_DYNAMIC:g(i.top()+".length >= ("+i.index(o[u+1])+"|0)",1);break;case op.WHILE_NOT_ERROR:$=i.top()+" !== peg$FAILED",S=o[u+2-1],F=i.checkedLoop(u,(function(){return u+=2+S,t(o.slice(u-S,u))})),s.push("while ("+$+") {"),s.push.apply(s,c(F)),s.push("}");break;case op.MATCH_ANY:g("input.length > peg$currPos",0);break;case op.MATCH_STRING:var _=o[u+1],v=r[_];m((function(e,t){return v.length>1?"".concat(e," === ").concat(l(_)):(e=t?"".concat(e,".charCodeAt(0)"):"input.charCodeAt(peg$currPos)","".concat(e," === ").concat(v.charCodeAt(0)))}),1,v.length);break;case op.MATCH_STRING_IC:var C=o[u+1];m((function(e){return"".concat(e,".toLowerCase() === ").concat(l(C))}),1,r[C].length);break;case op.MATCH_CHAR_CLASS:var y=o[u+1];m((function(e){return"".concat(p(y),".test(").concat(e,")")}),1,1);break;case op.ACCEPT_N:s.push(i.push(o[u+1]>1?"input.substr(peg$currPos, "+o[u+1]+")":"input.charAt(peg$currPos)")),s.push(o[u+1]>1?"peg$currPos += "+o[u+1]+";":"peg$currPos++;"),u+=2;break;case op.ACCEPT_STRING:s.push(i.push(l(o[u+1]))),s.push(r[o[u+1]].length>1?"peg$currPos += "+r[o[u+1]].length+";":"peg$currPos++;"),u+=2;break;case op.FAIL:s.push(i.push("peg$FAILED")),s.push("if (peg$silentFails === 0) { peg$fail("+f(o[u+1])+"); }"),u+=2;break;case op.LOAD_SAVED_POS:s.push("peg$savedPos = "+i.index(o[u+1])+";"),u+=2;break;case op.UPDATE_SAVED_POS:s.push("peg$savedPos = peg$currPos;"),u++;break;case op.CALL:A=function(e){var t=o[u+4-1];return h(o[u+1])+"("+o.slice(u+4,u+4+t).map((function(e){return i.index(e)})).join(", ")+")"}(),i.pop(o[u+2]),s.push(i.push(A)),u+=4+o[u+3];break;case op.RULE:s.push(i.push(d(e.rules[o[u+1]].name)+"()")),u+=2;break;case op.SILENT_FAILS_ON:s.push("peg$silentFails++;"),u++;break;case op.SILENT_FAILS_OFF:s.push("peg$silentFails--;"),u++;break;case op.SOURCE_MAP_PUSH:i.sourceMapPush(s,n[o[u+1]]),u+=2;break;case op.SOURCE_MAP_POP:i.sourceMapPop(),u++;break;case op.SOURCE_MAP_LABEL_PUSH:i.labels[o[u+1]]={label:r[o[u+2]],location:n[o[u+3]]},u+=4;break;case op.SOURCE_MAP_LABEL_POP:delete i.labels[o[u+1]],u+=2;break;default:throw new Error("Invalid opcode: "+o[u]+".")}var $,S,F};ui?-1:1:0}));for(var t="",r="",n=0;n=a.charCodeAt(0)?(e.splice(n--,1),e[n]=[t,r=i]):(t=a,r=i)}return e}function mergeCharacterClasses$1(e){var t=Object.create(null);e.rules.forEach((function(e){return t[e.name]=e.expression}));var r=Object.create(null),n=[function(e,n){if("class"===e.type&&!e.inverted)return n&&((e=__assign({},e)).parts=__spreadArray$1([],e.parts,!0)),e;if("literal"===e.type&&1===e.value.length)return{type:"class",parts:[e.value],inverted:!1,ignoreCase:e.ignoreCase,location:e.location};if("rule_ref"===e.type){var a=t[e.name];if(a){r[e.name]||(r[e.name]=!0,u(a));var i=o(a,!0);return i&&(i.location=e.location),i}}return null},visitor$7.build({choice:function(e){var t=null,r=!1;e.alternatives.forEach((function(n,a){var i;u(n);var s=o(n);s?t&&t.ignoreCase===s.ignoreCase?((i=t.parts).push.apply(i,s.parts),e.alternatives[a-1]=t,e.alternatives[a]=t,t.location={source:t.location.source,start:t.location.start,end:s.location.end},r=!0):t=s:t=null})),r&&(e.alternatives=e.alternatives.filter((function(e,t,r){return!t||e!==r[t-1]})),e.alternatives.forEach((function(t,r){"class"===t.type&&(t.parts=cleanParts(t.parts),1!==t.parts.length||Array.isArray(t.parts[0])||t.inverted||(e.alternatives[r]={type:"literal",value:t.parts[0],ignoreCase:t.ignoreCase,location:t.location}))})),1===e.alternatives.length&&cloneOver(e,e.alternatives[0]))},text:function(e){if(u(e.expression),"class"===e.expression.type||"literal"===e.expression.type){var t=e.location;cloneOver(e,e.expression),e.location=t}}})],o=n[0],u=n[1];e.rules.forEach((function(e){r[e.name]=!0,u(e.expression)}))}var mergeCharacterClasses_1=mergeCharacterClasses$1;function moveImports$1(e){Array.isArray(e.topLevelInitializer)&&(e.topLevelInitializer=e.topLevelInitializer.filter((function(e){return e.imports})).concat(e.topLevelInitializer.filter((function(e){return!e.imports}))))}var moveImports_1=moveImports$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,t,r){function n(e){var t={};return Object.keys(e).forEach((function(r){t[r]=e[r]})),t}function o(e,t){u(e.expression,n(t))}var u=visitor$6.build({rule:function(e){u(e.expression,{})},choice:function(e,t){e.alternatives.forEach((function(e){u(e,n(t))}))},action:o,labeled:function(e,t){var n=e.label;n&&Object.prototype.hasOwnProperty.call(t,n)&&r.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:t[n]}]),u(e.expression,t),t[e.label]=e.labelLocation},text:o,simple_and:o,simple_not:o,optional:o,zero_or_more:o,one_or_more:o,repeated:function(e,t){e.delimiter&&u(e.delimiter,n(t)),u(e.expression,n(t))},group:o});u(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,t,r){var n={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(n,e.name)?r.error('Rule "'.concat(e.name,'" is already defined'),e.nameLocation,[{message:"Original rule location",location:n[e.name]}]):n[e.name]=e.nameLocation}})(e)}var reportDuplicateRules_1=reportDuplicateRules$1,asts$3=asts_1,visitor$4=visitor_1;function reportInfiniteRecursion$1(e,t,r){var n=[],o=[],u=visitor$4.build({rule:function(e){n.push(e.name),u(e.expression),n.pop()},sequence:function(t){t.elements.every((function(t){return u(t),!asts$3.alwaysConsumesOnSuccess(e,t)}))},repeated:function(t){u(t.expression),t.delimiter&&!asts$3.alwaysConsumesOnSuccess(e,t.expression)&&u(t.delimiter)},rule_ref:function(t){o.push(t);var a=asts$3.findRule(e,t.name);if(-1!==n.indexOf(t.name))return n.push(t.name),void r.error("Possible infinite loop when parsing (left recursion: "+n.join(" -> ")+")",a.nameLocation,o.map((function(e,t,r){return{message:t+1!==r.length?"Step ".concat(t+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(t+1,": call itself without input consumption - left recursion"),location:e.location}})));a&&u(a),o.pop()}});u(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$2=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,t,r){var n=visitor$3.build({zero_or_more:function(t){asts$2.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},one_or_more:function(t){asts$2.alwaysConsumesOnSuccess(e,t.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},repeated:function(t){if(t.delimiter&&n(t.delimiter),!(asts$2.alwaysConsumesOnSuccess(e,t.expression)||t.delimiter&&asts$2.alwaysConsumesOnSuccess(e,t.delimiter)))if(null===t.max.value)r.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",t.location);else{var o=t.min?t.min:t.max;r.warning("constant"===o.type&&"constant"===t.max.type?"An expression may not consume any input and may always match ".concat(t.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",t.location)}}});n(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts$1=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,t,r){visitor$2.build({rule_ref:function(t){asts$1.findRule(e,t.name)||r.error('Rule "'.concat(t.name,'" is not defined'),t.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,t,r){var n=visitor$1.build({action:function(e){n(e.expression,e)},labeled:function(e,t){e.pick&&t&&r.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:t.codeLocation}]),n(e.expression)}});n(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var n,o=0,u=t.length;o0:e&&"function"==typeof e.offset}var compiler$1={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,mergeCharacterClasses,inferenceMatchResult,moveImports],generate:[generateBytecode,generateJS]},compile:function(ast,passes,options){if(options=void 0!==options?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(0===options.allowedStartRules.length)throw new Error("Must have at least one start rule");var allRules=ast.rules.map((function(e){return e.name}));if(options.allowedStartRules.some((function(e){return"*"===e})))options.allowedStartRules=allRules;else for(var _i=0,_a=options.allowedStartRules;_i<_a.length;_i++){var rule=_a[_i];if(-1===allRules.indexOf(rule))throw new Error('Unknown start rule "'.concat(rule,'"'))}if(("source-and-map"===options.output||"source-with-inline-map"===options.output)&&!isSourceMapCapable(options.grammarSource))throw new Error("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps");var session=new Session(options);switch(Object.keys(passes).forEach((function(e){session.stage=e,session.info("Process stage ".concat(e)),passes[e].forEach((function(t){session.info("Process pass ".concat(e,".").concat(t.name)),t(ast,options,session)})),session.checkErrors()})),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;case"source-with-inline-map":if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not supported by this platform");var sourceMap=ast.code.toStringWithSourceMap(),encoder=new TextEncoder,b64=base64(encoder.encode(JSON.stringify(sourceMap.map.toJSON())));return sourceMap.code+"//# sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(b64,"\n");case"ast":return ast;default:throw new Error("Invalid output format: "+options.output+".")}}},compiler_1=compiler$1,OPS_TO_PREFIXED_TYPES={$:"text","&":"simple_and","!":"simple_not"},OPS_TO_SUFFIXED_TYPES={"?":"optional","*":"zero_or_more","+":"one_or_more"},OPS_TO_SEMANTIC_PREDICATE_TYPES={"&":"semantic_and","!":"semantic_not"};function peg$subclass(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function peg$SyntaxError(e,t,r,n){var o=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(o,peg$SyntaxError.prototype),o.expected=t,o.found=r,o.location=n,o.name="SyntaxError",o}function peg$padEnd(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,e+(r+=r.repeat(t)).slice(0,t))}function peg$parse(e,t){var r,n={},o=(t=void 0!==t?t:{}).grammarSource,u={Grammar:Cr},a=Cr,i="{",s="}",c="import",l=";",p=",",f="*",h="as",d="from",A="=",g="/",m="@",E=":",_="|",v="..",C="(",y=")",$="\n",S="\r\n",F="/*",P="*/",x="//",D="\\",b="i",B='"',R="'",O="[",L="^",M="]",T="-",I="0",w="b",N="f",k="n",H="r",U="t",j="v",G="x",V="u",z=".",Y=/^[!$&]/,W=/^[*-+?]/,J=/^[!&]/,Q=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,q=/^[\n\r\u2028\u2029]/,X=/^[\r\u2028-\u2029]/,K=/^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Z=/^[$0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F1\uA900-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,ee=/^[\n\r"\\\u2028-\u2029]/,te=/^[\n\r'\\\u2028-\u2029]/,re=/^[\n\r\\-\]\u2028-\u2029]/,ne=/^["'\\]/,oe=/^[0-9ux]/,ue=/^[0-9]/,ae=/^[0-9a-f]/i,ie=/^[{}]/,se=Ar("{",!1),ce=Ar("}",!1),le=Ar("import",!1),pe=Ar(";",!1),fe=Ar(",",!1),he=Ar("*",!1),de=Ar("as",!1),Ae=Ar("from",!1),ge=Ar("=",!1),me=Ar("/",!1),Ee=Ar("@",!1),_e=Ar(":",!1),ve=gr(["!","$","&"],!1,!1),Ce=gr([["*","+"],"?"],!1,!1),ye=Ar("|",!1),$e=Ar("..",!1),Se=Ar("(",!1),Fe=Ar(")",!1),Pe=gr(["!","&"],!1,!1),xe={type:"any"},De=mr("whitespace"),be=gr(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),Be=gr(["\n","\r","\u2028","\u2029"],!1,!1),Re=mr("end of line"),Oe=Ar("\n",!1),Le=Ar("\r\n",!1),Me=gr(["\r",["\u2028","\u2029"]],!1,!1),Te=mr("comment"),Ie=Ar("/*",!1),we=Ar("*/",!1),Ne=Ar("//",!1),ke=mr("identifier"),He=gr([["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","Ɬ"],["Ʞ","ꞷ"],["ꟷ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭥ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Ue=Ar("\\",!1),je=gr(["$",["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["ୖ","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ః"],["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],["ഁ","ഃ"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ං","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠐","᠙"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭",["ᳲ","᳴"],["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["‌","‍"],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],["ꢀ","ꢁ"],["ꢴ","꣄"],["꣐","꣙"],["꣠","꣱"],["꤀","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),Ge=mr("literal"),Ve=Ar("i",!1),ze=mr("string"),Ye=Ar('"',!1),We=Ar("'",!1),Je=gr(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),Qe=gr(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),qe=mr("character class"),Xe=Ar("[",!1),Ke=Ar("^",!1),Ze=Ar("]",!1),et=Ar("-",!1),tt=gr(["\n","\r",["\\","]"],["\u2028","\u2029"]],!1,!1),rt=Ar("0",!1),nt=gr(['"',"'","\\"],!1,!1),ot=Ar("b",!1),ut=Ar("f",!1),at=Ar("n",!1),it=Ar("r",!1),st=Ar("t",!1),ct=Ar("v",!1),lt=gr([["0","9"],"u","x"],!1,!1),pt=Ar("x",!1),ft=Ar("u",!1),ht=gr([["0","9"]],!1,!1),dt=gr([["0","9"],["a","f"]],!1,!0),At=Ar(".",!1),gt=mr("code block"),mt=gr(["{","}"],!1,!1),Et=function(e,t,r){return{type:"grammar",topLevelInitializer:e,initializer:t,rules:r,location:hr()}},_t=function(e,t){var r={type:"top_level_initializer",code:t[0],codeLocation:t[1],imports:!1,location:hr()};return e[0]?[{type:"top_level_initializer",code:e[0],codeLocation:e[1],imports:!0,location:hr()},r]:r},vt=function(e){return[e,hr()]},Ct=function(e){return-1===cn.indexOf(e[0])},yt=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:hr()}},$t=function(e,t,r){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==t?{type:"named",name:t,expression:r,location:hr()}:r,location:hr()}},St=function(e,t){return t.length>0?{type:"choice",alternatives:[e].concat(t),location:hr()}:e},Ft=function(e,t){return null!==t?{type:"action",expression:e,code:t[0],codeLocation:t[1],location:hr()}:e},Pt=function(e,t){return t.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(t),location:hr()}:e},xt=function(e,t,r){return r.type.startsWith("semantic_")&&dr('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==t?t[0]:null,labelLocation:null!==t?t[1]:e,pick:!0,expression:r,location:hr()}},Dt=function(e,t){return{type:"labeled",label:e[0],labelLocation:e[1],expression:t,location:hr()}},bt=function(){return hr()},Bt=function(e){return cn.indexOf(e[0])>=0&&dr("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},Rt=function(e,t){return{type:OPS_TO_PREFIXED_TYPES[e],expression:t,location:hr()}},Ot=function(e,t){return{type:OPS_TO_SUFFIXED_TYPES[t],expression:e,location:hr()}},Lt=function(e,t,r){var n=t[0],o=t[1];return"constant"===o.type&&0===o.value&&dr("The maximum count of repetitions of the rule must be > 0",o.location),{type:"repeated",min:n,max:o,expression:e,delimiter:r,location:hr()}},Mt=function(e,t){return[null!==e?e:{type:"constant",value:0},null!==t?t:{type:"constant",value:null}]},Tt=function(e){return[null,e]},It=function(e){return{type:"constant",value:e,location:hr()}},wt=function(e){return{type:"variable",value:e[0],location:hr()}},Nt=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:hr()}},kt=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:hr()}:e},Ht=function(e){return{type:"rule_ref",name:e[0],location:hr()}},Ut=function(e,t){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:t[0],codeLocation:t[1],location:hr()}},jt=function(e,t){return[e+t.join(""),hr()]},Gt=function(e,t){return{type:"literal",value:e,ignoreCase:null!==t,location:hr()}},Vt=function(e){return e.join("")},zt=function(e){return e.join("")},Yt=function(e,t,r){return{type:"class",parts:t.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==r,location:hr()}},Wt=function(t,r){return t.charCodeAt(0)>r.charCodeAt(0)&&dr("Invalid character range: "+e.substring(sr,ir)+"."),[t,r]},Jt=function(){return""},Qt=function(){return"\0"},qt=function(){return"\b"},Xt=function(){return"\f"},Kt=function(){return"\n"},Zt=function(){return"\r"},er=function(){return"\t"},tr=function(){return"\v"},rr=function(e){return String.fromCharCode(parseInt(e,16))},nr=function(e){return String.fromCharCode(parseInt(e,16))},or=function(){return{type:"any",location:hr()}},ur=function(e){return[e,hr()]},ar=function(e){return parseInt(e,10)},ir=0,sr=0,cr=[{line:1,column:1}],lr=0,pr=[],fr=0;if("startRule"in t){if(!(t.startRule in u))throw new Error("Can't start parsing from rule \""+t.startRule+'".');a=u[t.startRule]}function hr(){return _r(sr,ir)}function dr(e,t){throw function(e,t){return new peg$SyntaxError(e,null,null,t)}(e,t=void 0!==t?t:_r(sr,ir))}function Ar(e,t){return{type:"literal",text:e,ignoreCase:t}}function gr(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function mr(e){return{type:"other",description:e}}function Er(t){var r,n=cr[t];if(n)return n;if(t>=cr.length)r=cr.length-1;else for(r=t;!cr[--r];);for(n={line:(n=cr[r]).line,column:n.column};rlr&&(lr=ir,pr=[]),pr.push(e))}function Cr(){var t,r,o,u,a,c;if(t=ir,an(),r=ir,o=function(){var t,r,o,u,a,c,l;return t=ir,123===e.charCodeAt(ir)?(r=i,ir++):(r=n,0===fr&&vr(se)),r!==n?(123===e.charCodeAt(ir)?(o=i,ir++):(o=n,0===fr&&vr(se)),o!==n?(u=function(){var t,r,o,u;for(t=ir,r=ir,o=[],u=yr();u!==n;)o.push(u),u=yr();return r=e.substring(r,ir),sr=t,t=r=vt(r)}(),a=on(),125===e.charCodeAt(ir)?(c=s,ir++):(c=n,0===fr&&vr(ce)),c!==n?(125===e.charCodeAt(ir)?(l=s,ir++):(l=n,0===fr&&vr(ce)),l!==n&&sn()!==n?(sr=t,t=_t(u,a)):(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n),t}(),o!==n?(u=an(),r=o):(ir=r,r=n),r===n&&(r=null),o=ir,u=function(){var e,t;return e=ir,(t=nn())!==n&&sn()!==n?(sr=e,e=yt(t)):(ir=e,e=n),e}(),u!==n?(a=an(),o=u):(ir=o,o=n),o===n&&(o=null),u=[],a=ir,(c=xr())!==n?(an(),a=c):(ir=a,a=n),a!==n)for(;a!==n;)u.push(a),a=ir,(c=xr())!==n?(an(),a=c):(ir=a,a=n);else u=n;return u!==n?(sr=t,t=Et(r,o,u)):(ir=t,t=n),t}function yr(){var t,r,o,u,a,i,s,f,h;return t=ir,r=an(),e.substr(ir,6)===c?(o=c,ir+=6):(o=n,0===fr&&vr(le)),o!==n?(u=an(),a=function(){var t,r,o,u,a,i;return(t=Pr())===n&&(t=$r())===n&&(t=Sr())===n&&(t=ir,(r=Pr())!==n?(o=an(),44===e.charCodeAt(ir)?(u=p,ir++):(u=n,0===fr&&vr(fe)),u!==n?(a=an(),(i=$r())===n&&(i=Sr()),i!==n?t=r=[r,o,u,a,i]:(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n)),t}(),a!==n?(i=an(),s=function(){var t,r,o,u;return t=ir,e.substr(ir,4)===d?(r=d,ir+=4):(r=n,0===fr&&vr(Ae)),r!==n?(o=an(),(u=Yr())!==n?t=r=[r,o,u]:(ir=t,t=n)):(ir=t,t=n),t}(),s!==n?(f=an(),59===e.charCodeAt(ir)?(h=l,ir++):(h=n,0===fr&&vr(pe)),h===n&&(h=null),t=r=[r,o,u,a,i,s,f,h]):(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n),t===n&&(t=ir,r=an(),e.substr(ir,6)===c?(o=c,ir+=6):(o=n,0===fr&&vr(le)),o!==n?(u=an(),(a=Yr())!==n?(i=an(),59===e.charCodeAt(ir)?(s=l,ir++):(s=n,0===fr&&vr(pe)),s===n&&(s=null),t=r=[r,o,u,a,i,s]):(ir=t,t=n)):(ir=t,t=n)),t}function $r(){var t,r,o,u,a,i;return t=ir,42===e.charCodeAt(ir)?(r=f,ir++):(r=n,0===fr&&vr(he)),r!==n?(o=an(),e.substr(ir,2)===h?(u=h,ir+=2):(u=n,0===fr&&vr(de)),u!==n?(a=an(),(i=Pr())!==n?t=r=[r,o,u,a,i]:(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n),t}function Sr(){var t,r,o,u,a,c,l,f;return t=ir,123===e.charCodeAt(ir)?(r=i,ir++):(r=n,0===fr&&vr(se)),r!==n?(o=an(),125===e.charCodeAt(ir)?(u=s,ir++):(u=n,0===fr&&vr(ce)),u!==n?t=r=[r,o,u]:(ir=t,t=n)):(ir=t,t=n),t===n&&(t=ir,123===e.charCodeAt(ir)?(r=i,ir++):(r=n,0===fr&&vr(se)),r!==n?(o=an(),u=function(){var t,r,o,u,a,i;for(t=ir,r=[],o=Fr();o!==n;)r.push(o),o=ir,u=ir,a=an(),44===e.charCodeAt(ir)?(i=p,ir++):(i=n,0===fr&&vr(fe)),i!==n?u=a=[a,i,an()]:(ir=u,u=n),u!==n&&(u=Fr())===n?(ir=o,o=n):o=u;return r.length<1?(ir=t,t=n):t=r,t}(),u!==n?(a=an(),44===e.charCodeAt(ir)?(c=p,ir++):(c=n,0===fr&&vr(fe)),c===n&&(c=null),l=an(),125===e.charCodeAt(ir)?(f=s,ir++):(f=n,0===fr&&vr(ce)),f!==n?t=r=[r,o,u,a,c,l,f]:(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n)),t}function Fr(){var t,r,o,u,a,i;return t=ir,r=function(){var e;return(e=Gr())===n&&(e=Yr()),e}(),r!==n?(o=an(),e.substr(ir,2)===h?(u=h,ir+=2):(u=n,0===fr&&vr(de)),u!==n?(a=an(),(i=Pr())!==n?t=r=[r,o,u,a,i]:(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n),t===n&&(t=Pr()),t}function Pr(){var e,t,r;return e=ir,(t=Gr())!==n?(sr=ir,(r=(r=Ct(t))?void 0:n)!==n?e=t=[t,r]:(ir=e,e=n)):(ir=e,e=n),e}function xr(){var t,r,o,u,a;return t=ir,(r=Gr())!==n?(an(),o=ir,(u=Yr())!==n?(an(),o=u):(ir=o,o=n),o===n&&(o=null),61===e.charCodeAt(ir)?(u=A,ir++):(u=n,0===fr&&vr(ge)),u!==n?(an(),(a=Dr())!==n&&sn()!==n?(sr=t,t=$t(r,o,a)):(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n),t}function Dr(){var t,r,o,u,a,i;if(t=ir,(r=br())!==n){for(o=[],u=ir,an(),47===e.charCodeAt(ir)?(a=g,ir++):(a=n,0===fr&&vr(me)),a!==n?(an(),(i=br())!==n?u=i:(ir=u,u=n)):(ir=u,u=n);u!==n;)o.push(u),u=ir,an(),47===e.charCodeAt(ir)?(a=g,ir++):(a=n,0===fr&&vr(me)),a!==n?(an(),(i=br())!==n?u=i:(ir=u,u=n)):(ir=u,u=n);sr=t,t=St(r,o)}else ir=t,t=n;return t}function br(){var e,t,r,o;return e=ir,t=function(){var e,t,r,o,u;if(e=ir,(t=Br())!==n){for(r=[],o=ir,an(),(u=Br())!==n?o=u:(ir=o,o=n);o!==n;)r.push(o),o=ir,an(),(u=Br())!==n?o=u:(ir=o,o=n);sr=e,e=Pt(t,r)}else ir=e,e=n;return e}(),t!==n?(r=ir,an(),(o=nn())!==n?r=o:(ir=r,r=n),r===n&&(r=null),sr=e,e=Ft(t,r)):(ir=e,e=n),e}function Br(){var t,r,o,u;return t=ir,r=function(){var t,r;return t=ir,64===e.charCodeAt(ir)?(r=m,ir++):(r=n,0===fr&&vr(Ee)),r!==n&&(sr=t,r=bt()),t=r}(),r!==n?((o=Rr())===n&&(o=null),(u=Or())!==n?(sr=t,t=xt(r,o,u)):(ir=t,t=n)):(ir=t,t=n),t===n&&(t=ir,(r=Rr())!==n?(o=an(),(u=Or())!==n?(sr=t,t=Dt(r,u)):(ir=t,t=n)):(ir=t,t=n),t===n&&(t=Or())),t}function Rr(){var t,r,o;return t=ir,(r=Gr())!==n?(an(),58===e.charCodeAt(ir)?(o=E,ir++):(o=n,0===fr&&vr(_e)),o!==n?(sr=t,t=Bt(r)):(ir=t,t=n)):(ir=t,t=n),t}function Or(){var t,r,o;return t=ir,r=function(){var t;return t=e.charAt(ir),Y.test(t)?ir++:(t=n,0===fr&&vr(ve)),t}(),r!==n?(an(),(o=Lr())!==n?(sr=t,t=Rt(r,o)):(ir=t,t=n)):(ir=t,t=n),t===n&&(t=Lr()),t}function Lr(){var t,r,o;return t=ir,(r=Tr())!==n?(an(),o=function(){var t;return t=e.charAt(ir),W.test(t)?ir++:(t=n,0===fr&&vr(Ce)),t}(),o!==n?(sr=t,t=Ot(r,o)):(ir=t,t=n)):(ir=t,t=n),t===n&&(t=function(){var t,r,o,u,a,i,s;return t=ir,(r=Tr())!==n?(an(),124===e.charCodeAt(ir)?(o=_,ir++):(o=n,0===fr&&vr(ye)),o!==n?(an(),u=function(){var t,r,o,u;return t=ir,(r=Mr())===n&&(r=null),an(),e.substr(ir,2)===v?(o=v,ir+=2):(o=n,0===fr&&vr($e)),o!==n?(an(),(u=Mr())===n&&(u=null),sr=t,t=Mt(r,u)):(ir=t,t=n),t===n&&(t=ir,(r=Mr())!==n&&(sr=t,r=Tt(r)),t=r),t}(),u!==n?(an(),a=ir,44===e.charCodeAt(ir)?(i=p,ir++):(i=n,0===fr&&vr(fe)),i!==n?(an(),(s=Dr())!==n?(an(),a=s):(ir=a,a=n)):(ir=a,a=n),a===n&&(a=null),124===e.charCodeAt(ir)?(i=_,ir++):(i=n,0===fr&&vr(ye)),i!==n?(sr=t,t=Lt(r,u,a)):(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n),t}(),t===n&&(t=Tr())),t}function Mr(){var t,r;return t=ir,r=function(){var t,r,o,u;if(t=ir,r=ir,o=[],(u=tn())!==n)for(;u!==n;)o.push(u),u=tn();else o=n;return(r=o!==n?e.substring(r,ir):o)!==n&&(sr=t,r=ar(r)),t=r}(),r!==n&&(sr=t,r=It(r)),(t=r)===n&&(t=ir,(r=Gr())!==n&&(sr=t,r=wt(r)),(t=r)===n&&(t=ir,(r=nn())!==n&&(sr=t,r=Nt(r)),t=r)),t}function Tr(){var t,r,o,u;return t=function(){var t,r,o;return fr++,t=ir,(r=Yr())!==n?(105===e.charCodeAt(ir)?(o=b,ir++):(o=n,0===fr&&vr(Ve)),o===n&&(o=null),sr=t,t=Gt(r,o)):(ir=t,t=n),fr--,t===n&&(r=n,0===fr&&vr(Ge)),t}(),t===n&&(t=function(){var t,r,o,u,a,i;if(fr++,t=ir,91===e.charCodeAt(ir)?(r=O,ir++):(r=n,0===fr&&vr(Xe)),r!==n){for(94===e.charCodeAt(ir)?(o=L,ir++):(o=n,0===fr&&vr(Ke)),o===n&&(o=null),u=[],(a=Qr())===n&&(a=qr());a!==n;)u.push(a),(a=Qr())===n&&(a=qr());93===e.charCodeAt(ir)?(a=M,ir++):(a=n,0===fr&&vr(Ze)),a!==n?(105===e.charCodeAt(ir)?(i=b,ir++):(i=n,0===fr&&vr(Ve)),i===n&&(i=null),sr=t,t=Yt(o,u,i)):(ir=t,t=n)}else ir=t,t=n;return fr--,t===n&&(r=n,0===fr&&vr(qe)),t}(),t===n&&(t=function(){var t,r;return t=ir,46===e.charCodeAt(ir)?(r=z,ir++):(r=n,0===fr&&vr(At)),r!==n&&(sr=t,r=or()),t=r}(),t===n&&(t=function(){var t,r,o,u,a,i,s;return t=ir,(r=Gr())!==n?(o=ir,fr++,u=ir,a=an(),i=ir,(s=Yr())!==n?i=s=[s,an()]:(ir=i,i=n),i===n&&(i=null),61===e.charCodeAt(ir)?(s=A,ir++):(s=n,0===fr&&vr(ge)),s!==n?u=a=[a,i,s]:(ir=u,u=n),fr--,u===n?o=void 0:(ir=o,o=n),o!==n?(sr=t,t=Ht(r)):(ir=t,t=n)):(ir=t,t=n),t}(),t===n&&(t=function(){var t,r,o;return t=ir,r=function(){var t;return t=e.charAt(ir),J.test(t)?ir++:(t=n,0===fr&&vr(Pe)),t}(),r!==n?(an(),(o=nn())!==n?(sr=t,t=Ut(r,o)):(ir=t,t=n)):(ir=t,t=n),t}(),t===n&&(t=ir,40===e.charCodeAt(ir)?(r=C,ir++):(r=n,0===fr&&vr(Se)),r!==n?(an(),(o=Dr())!==n?(an(),41===e.charCodeAt(ir)?(u=y,ir++):(u=n,0===fr&&vr(Fe)),u!==n?(sr=t,t=kt(o)):(ir=t,t=n)):(ir=t,t=n)):(ir=t,t=n)))))),t}function Ir(){var t;return e.length>ir?(t=e.charAt(ir),ir++):(t=n,0===fr&&vr(xe)),t}function wr(){var t;return fr++,t=e.charAt(ir),Q.test(t)?ir++:(t=n,0===fr&&vr(be)),fr--,t===n&&0===fr&&vr(De),t}function Nr(){var t;return t=e.charAt(ir),q.test(t)?ir++:(t=n,0===fr&&vr(Be)),t}function kr(){var t;return fr++,10===e.charCodeAt(ir)?(t=$,ir++):(t=n,0===fr&&vr(Oe)),t===n&&(e.substr(ir,2)===S?(t=S,ir+=2):(t=n,0===fr&&vr(Le)),t===n&&(t=e.charAt(ir),X.test(t)?ir++:(t=n,0===fr&&vr(Me)))),fr--,t===n&&0===fr&&vr(Re),t}function Hr(){var t;return fr++,(t=function(){var t,r,o,u,a,i;if(t=ir,e.substr(ir,2)===F?(r=F,ir+=2):(r=n,0===fr&&vr(Ie)),r!==n){for(o=[],u=ir,a=ir,fr++,e.substr(ir,2)===P?(i=P,ir+=2):(i=n,0===fr&&vr(we)),fr--,i===n?a=void 0:(ir=a,a=n),a!==n&&(i=Ir())!==n?u=a=[a,i]:(ir=u,u=n);u!==n;)o.push(u),u=ir,a=ir,fr++,e.substr(ir,2)===P?(i=P,ir+=2):(i=n,0===fr&&vr(we)),fr--,i===n?a=void 0:(ir=a,a=n),a!==n&&(i=Ir())!==n?u=a=[a,i]:(ir=u,u=n);e.substr(ir,2)===P?(u=P,ir+=2):(u=n,0===fr&&vr(we)),u!==n?t=r=[r,o,u]:(ir=t,t=n)}else ir=t,t=n;return t}())===n&&(t=jr()),fr--,t===n&&0===fr&&vr(Te),t}function Ur(){var t,r,o,u,a,i;if(t=ir,e.substr(ir,2)===F?(r=F,ir+=2):(r=n,0===fr&&vr(Ie)),r!==n){for(o=[],u=ir,a=ir,fr++,e.substr(ir,2)===P?(i=P,ir+=2):(i=n,0===fr&&vr(we)),i===n&&(i=Nr()),fr--,i===n?a=void 0:(ir=a,a=n),a!==n&&(i=Ir())!==n?u=a=[a,i]:(ir=u,u=n);u!==n;)o.push(u),u=ir,a=ir,fr++,e.substr(ir,2)===P?(i=P,ir+=2):(i=n,0===fr&&vr(we)),i===n&&(i=Nr()),fr--,i===n?a=void 0:(ir=a,a=n),a!==n&&(i=Ir())!==n?u=a=[a,i]:(ir=u,u=n);e.substr(ir,2)===P?(u=P,ir+=2):(u=n,0===fr&&vr(we)),u!==n?t=r=[r,o,u]:(ir=t,t=n)}else ir=t,t=n;return t}function jr(){var t,r,o,u,a,i;if(t=ir,e.substr(ir,2)===x?(r=x,ir+=2):(r=n,0===fr&&vr(Ne)),r!==n){for(o=[],u=ir,a=ir,fr++,i=Nr(),fr--,i===n?a=void 0:(ir=a,a=n),a!==n&&(i=Ir())!==n?u=a=[a,i]:(ir=u,u=n);u!==n;)o.push(u),u=ir,a=ir,fr++,i=Nr(),fr--,i===n?a=void 0:(ir=a,a=n),a!==n&&(i=Ir())!==n?u=a=[a,i]:(ir=u,u=n);t=r=[r,o]}else ir=t,t=n;return t}function Gr(){var e,t,r,o;if(fr++,e=ir,(t=Vr())!==n){for(r=[],o=zr();o!==n;)r.push(o),o=zr();sr=e,e=jt(t,r)}else ir=e,e=n;return fr--,e===n&&(t=n,0===fr&&vr(ke)),e}function Vr(){var t,r,o;return t=e.charAt(ir),K.test(t)?ir++:(t=n,0===fr&&vr(He)),t===n&&(t=ir,92===e.charCodeAt(ir)?(r=D,ir++):(r=n,0===fr&&vr(Ue)),r!==n&&(o=en())!==n?t=o:(ir=t,t=n)),t}function zr(){var t;return(t=Vr())===n&&(t=e.charAt(ir),Z.test(t)?ir++:(t=n,0===fr&&vr(je))),t}function Yr(){var t,r,o,u;if(fr++,t=ir,34===e.charCodeAt(ir)?(r=B,ir++):(r=n,0===fr&&vr(Ye)),r!==n){for(o=[],u=Wr();u!==n;)o.push(u),u=Wr();34===e.charCodeAt(ir)?(u=B,ir++):(u=n,0===fr&&vr(Ye)),u!==n?(sr=t,t=Vt(o)):(ir=t,t=n)}else ir=t,t=n;if(t===n)if(t=ir,39===e.charCodeAt(ir)?(r=R,ir++):(r=n,0===fr&&vr(We)),r!==n){for(o=[],u=Jr();u!==n;)o.push(u),u=Jr();39===e.charCodeAt(ir)?(u=R,ir++):(u=n,0===fr&&vr(We)),u!==n?(sr=t,t=zt(o)):(ir=t,t=n)}else ir=t,t=n;return fr--,t===n&&(r=n,0===fr&&vr(ze)),t}function Wr(){var t,r,o,u;return t=ir,r=ir,o=ir,fr++,u=e.charAt(ir),ee.test(u)?ir++:(u=n,0===fr&&vr(Je)),fr--,u===n?o=void 0:(ir=o,o=n),o!==n&&(u=Ir())!==n?r=o=[o,u]:(ir=r,r=n),(t=r!==n?e.substring(t,ir):r)===n&&(t=ir,92===e.charCodeAt(ir)?(r=D,ir++):(r=n,0===fr&&vr(Ue)),r!==n&&(o=Kr())!==n?t=o:(ir=t,t=n),t===n&&(t=Xr())),t}function Jr(){var t,r,o,u;return t=ir,r=ir,o=ir,fr++,u=e.charAt(ir),te.test(u)?ir++:(u=n,0===fr&&vr(Qe)),fr--,u===n?o=void 0:(ir=o,o=n),o!==n&&(u=Ir())!==n?r=o=[o,u]:(ir=r,r=n),(t=r!==n?e.substring(t,ir):r)===n&&(t=ir,92===e.charCodeAt(ir)?(r=D,ir++):(r=n,0===fr&&vr(Ue)),r!==n&&(o=Kr())!==n?t=o:(ir=t,t=n),t===n&&(t=Xr())),t}function Qr(){var t,r,o,u;return t=ir,(r=qr())!==n?(45===e.charCodeAt(ir)?(o=T,ir++):(o=n,0===fr&&vr(et)),o!==n&&(u=qr())!==n?(sr=t,t=Wt(r,u)):(ir=t,t=n)):(ir=t,t=n),t}function qr(){var t,r,o,u;return t=ir,r=ir,o=ir,fr++,u=e.charAt(ir),re.test(u)?ir++:(u=n,0===fr&&vr(tt)),fr--,u===n?o=void 0:(ir=o,o=n),o!==n&&(u=Ir())!==n?r=o=[o,u]:(ir=r,r=n),(t=r!==n?e.substring(t,ir):r)===n&&(t=ir,92===e.charCodeAt(ir)?(r=D,ir++):(r=n,0===fr&&vr(Ue)),r!==n&&(o=Kr())!==n?t=o:(ir=t,t=n),t===n&&(t=Xr())),t}function Xr(){var t,r;return t=ir,92===e.charCodeAt(ir)?(r=D,ir++):(r=n,0===fr&&vr(Ue)),r!==n&&kr()!==n?(sr=t,t=Jt()):(ir=t,t=n),t}function Kr(){var t,r,o,u;return t=function(){var t;return(t=Zr())===n&&(t=function(){var t,r,o,u;return t=ir,r=ir,o=ir,fr++,u=function(){var t;return(t=Zr())===n&&(t=e.charAt(ir),oe.test(t)?ir++:(t=n,0===fr&&vr(lt))),t}(),u===n&&(u=Nr()),fr--,u===n?o=void 0:(ir=o,o=n),o!==n&&(u=Ir())!==n?r=o=[o,u]:(ir=r,r=n),t=r!==n?e.substring(t,ir):r}()),t}(),t===n&&(t=ir,48===e.charCodeAt(ir)?(r=I,ir++):(r=n,0===fr&&vr(rt)),r!==n?(o=ir,fr++,u=tn(),fr--,u===n?o=void 0:(ir=o,o=n),o!==n?(sr=t,t=Qt()):(ir=t,t=n)):(ir=t,t=n),t===n&&(t=function(){var t,r,o,u,a,i;return t=ir,120===e.charCodeAt(ir)?(r=G,ir++):(r=n,0===fr&&vr(pt)),r!==n?(o=ir,u=ir,(a=rn())!==n&&(i=rn())!==n?u=a=[a,i]:(ir=u,u=n),(o=u!==n?e.substring(o,ir):u)!==n?(sr=t,t=rr(o)):(ir=t,t=n)):(ir=t,t=n),t}(),t===n&&(t=en()))),t}function Zr(){var t,r;return t=e.charAt(ir),ne.test(t)?ir++:(t=n,0===fr&&vr(nt)),t===n&&(t=ir,98===e.charCodeAt(ir)?(r=w,ir++):(r=n,0===fr&&vr(ot)),r!==n&&(sr=t,r=qt()),(t=r)===n&&(t=ir,102===e.charCodeAt(ir)?(r=N,ir++):(r=n,0===fr&&vr(ut)),r!==n&&(sr=t,r=Xt()),(t=r)===n&&(t=ir,110===e.charCodeAt(ir)?(r=k,ir++):(r=n,0===fr&&vr(at)),r!==n&&(sr=t,r=Kt()),(t=r)===n&&(t=ir,114===e.charCodeAt(ir)?(r=H,ir++):(r=n,0===fr&&vr(it)),r!==n&&(sr=t,r=Zt()),(t=r)===n&&(t=ir,116===e.charCodeAt(ir)?(r=U,ir++):(r=n,0===fr&&vr(st)),r!==n&&(sr=t,r=er()),(t=r)===n&&(t=ir,118===e.charCodeAt(ir)?(r=j,ir++):(r=n,0===fr&&vr(ct)),r!==n&&(sr=t,r=tr()),t=r)))))),t}function en(){var t,r,o,u,a,i,s,c;return t=ir,117===e.charCodeAt(ir)?(r=V,ir++):(r=n,0===fr&&vr(ft)),r!==n?(o=ir,u=ir,(a=rn())!==n&&(i=rn())!==n&&(s=rn())!==n&&(c=rn())!==n?u=a=[a,i,s,c]:(ir=u,u=n),(o=u!==n?e.substring(o,ir):u)!==n?(sr=t,t=nr(o)):(ir=t,t=n)):(ir=t,t=n),t}function tn(){var t;return t=e.charAt(ir),ue.test(t)?ir++:(t=n,0===fr&&vr(ht)),t}function rn(){var t;return t=e.charAt(ir),ae.test(t)?ir++:(t=n,0===fr&&vr(dt)),t}function nn(){var t,r,o,u;return fr++,t=ir,123===e.charCodeAt(ir)?(r=i,ir++):(r=n,0===fr&&vr(se)),r!==n?(o=on(),125===e.charCodeAt(ir)?(u=s,ir++):(u=n,0===fr&&vr(ce)),u!==n?t=o:(ir=t,t=n)):(ir=t,t=n),fr--,t===n&&(r=n,0===fr&&vr(gt)),t}function on(){var e,t;return e=ir,t=un(),sr=e,ur(t)}function un(){var t,r,o,u,a,c;if(t=ir,r=[],o=[],u=ir,a=ir,fr++,c=e.charAt(ir),ie.test(c)?ir++:(c=n,0===fr&&vr(mt)),fr--,c===n?a=void 0:(ir=a,a=n),a!==n&&(c=Ir())!==n?u=a=[a,c]:(ir=u,u=n),u!==n)for(;u!==n;)o.push(u),u=ir,a=ir,fr++,c=e.charAt(ir),ie.test(c)?ir++:(c=n,0===fr&&vr(mt)),fr--,c===n?a=void 0:(ir=a,a=n),a!==n&&(c=Ir())!==n?u=a=[a,c]:(ir=u,u=n);else o=n;for(o===n&&(o=ir,123===e.charCodeAt(ir)?(u=i,ir++):(u=n,0===fr&&vr(se)),u!==n?(a=un(),125===e.charCodeAt(ir)?(c=s,ir++):(c=n,0===fr&&vr(ce)),c!==n?o=u=[u,a,c]:(ir=o,o=n)):(ir=o,o=n));o!==n;){if(r.push(o),o=[],u=ir,a=ir,fr++,c=e.charAt(ir),ie.test(c)?ir++:(c=n,0===fr&&vr(mt)),fr--,c===n?a=void 0:(ir=a,a=n),a!==n&&(c=Ir())!==n?u=a=[a,c]:(ir=u,u=n),u!==n)for(;u!==n;)o.push(u),u=ir,a=ir,fr++,c=e.charAt(ir),ie.test(c)?ir++:(c=n,0===fr&&vr(mt)),fr--,c===n?a=void 0:(ir=a,a=n),a!==n&&(c=Ir())!==n?u=a=[a,c]:(ir=u,u=n);else o=n;o===n&&(o=ir,123===e.charCodeAt(ir)?(u=i,ir++):(u=n,0===fr&&vr(se)),u!==n?(a=un(),125===e.charCodeAt(ir)?(c=s,ir++):(c=n,0===fr&&vr(ce)),c!==n?o=u=[u,a,c]:(ir=o,o=n)):(ir=o,o=n))}return e.substring(t,ir)}function an(){var e,t;for(e=[],(t=wr())===n&&(t=kr())===n&&(t=Hr());t!==n;)e.push(t),(t=wr())===n&&(t=kr())===n&&(t=Hr());return e}function sn(){var t,r,o,u;if(t=[],r=ir,o=an(),59===e.charCodeAt(ir)?(u=l,ir++):(u=n,0===fr&&vr(pe)),u!==n?r=o=[o,u]:(ir=r,r=n),r!==n)for(;r!==n;)t.push(r),r=ir,o=an(),59===e.charCodeAt(ir)?(u=l,ir++):(u=n,0===fr&&vr(pe)),u!==n?r=o=[o,u]:(ir=r,r=n);else t=n;return t===n&&(t=ir,r=function(){var e,t;for(e=[],(t=wr())===n&&(t=Ur());t!==n;)e.push(t),(t=wr())===n&&(t=Ur());return e}(),(o=jr())===n&&(o=null),(u=kr())!==n?t=r=[r,o,u]:(ir=t,t=n),t===n&&(t=ir,r=an(),o=function(){var t,r;return t=ir,fr++,e.length>ir?(r=e.charAt(ir),ir++):(r=n,0===fr&&vr(xe)),fr--,r===n?t=void 0:(ir=t,t=n),t}(),o!==n?t=r=[r,o]:(ir=t,t=n))),t}var cn=t.reservedWords||[];if((r=a())!==n&&ir===e.length)return r;throw r!==n&&ir0){for(t=1,r=1;t1&&e.delimiter&&n(e.delimiter)))},semantic_and:r,semantic_not:r,rule_ref:function(t){var u=asts$8.findRule(e,t.name);return u?n(u):void 0},literal:function(e){return""!==e.value},class:u,any:u});return n(t)},combine:function(e){return e.reduce((function(e,t){return e.topLevelInitializer=combinePossibleArrays(e.topLevelInitializer,t.topLevelInitializer),e.initializer=combinePossibleArrays(e.initializer,t.initializer),e.rules=e.rules.concat(t.rules),e}))}},asts_1=asts$8,opcodes={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,IF_LT:30,IF_GE:31,IF_LT_DYNAMIC:32,IF_GE_DYNAMIC:33,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29,SOURCE_MAP_PUSH:37,SOURCE_MAP_POP:38,SOURCE_MAP_LABEL_PUSH:39,SOURCE_MAP_LABEL_POP:40},opcodes_1=opcodes,visitor$a=visitor_1,asts$7=asts_1,GrammarError$2=grammarError,ALWAYS_MATCH$1=1,SOMETIMES_MATCH$1=0,NEVER_MATCH$1=-1;function inferenceMatchResult$1(e){function t(e){return e.match=SOMETIMES_MATCH$1}function u(e){return o(e.expression),e.match=ALWAYS_MATCH$1}function r(e){return e.match=o(e.expression)}function n(e,t){for(var u=e.length,r=0,n=0,a=0;a0?NEVER_MATCH$1:SOMETIMES_MATCH$1}var o=visitor$a.build({rule:function(e){var t=void 0,u=0;if(void 0===e.match){e.match=SOMETIMES_MATCH$1;do{if(t=e.match,e.match=o(e.expression),++u>6)throw new GrammarError$2("Infinity cycle detected when trying to evaluate node match result",e.location)}while(t!==e.match)}return e.match},named:r,choice:function(e){return e.match=n(e.alternatives,!0)},action:r,sequence:function(e){return e.match=n(e.elements,!1)},labeled:r,text:r,simple_and:r,simple_not:function(e){return e.match=-o(e.expression)},optional:u,zero_or_more:u,one_or_more:r,repeated:function(e){var t=o(e.expression),u=e.delimiter?o(e.delimiter):NEVER_MATCH$1,r=e.min?e.min:e.max;return"constant"!==r.type||"constant"!==e.max.type?e.match=SOMETIMES_MATCH$1:0===e.max.value||null!==e.max.value&&r.value>e.max.value?e.match=NEVER_MATCH$1:t===NEVER_MATCH$1?e.match=0===r.value?ALWAYS_MATCH$1:NEVER_MATCH$1:t===ALWAYS_MATCH$1?e.delimiter&&r.value>=2?e.match=u:e.match=ALWAYS_MATCH$1:e.delimiter&&r.value>=2?e.match=u===NEVER_MATCH$1?NEVER_MATCH$1:SOMETIMES_MATCH$1:e.match=0===r.value?ALWAYS_MATCH$1:SOMETIMES_MATCH$1},group:r,semantic_and:t,semantic_not:t,rule_ref:function(t){var u=asts$7.findRule(e,t.name);return t.match=o(u)},literal:function(e){var t=0===e.value.length?ALWAYS_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},class:function(e){var t=0===e.parts.length?NEVER_MATCH$1:SOMETIMES_MATCH$1;return e.match=t},any:t});o(e)}inferenceMatchResult$1.ALWAYS_MATCH=ALWAYS_MATCH$1,inferenceMatchResult$1.SOMETIMES_MATCH=SOMETIMES_MATCH$1,inferenceMatchResult$1.NEVER_MATCH=NEVER_MATCH$1;var inferenceMatchResult_1=inferenceMatchResult$1,__spreadArray$3=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,u){if(u||2===arguments.length)for(var r,n=0,o=t.length;n1?A(SOMETIMES_MATCH,[op$1.IF_ERROR],f([op$1.POP],e(t.slice(1),u)),[]):[])}(e.alternatives,t)},action:function(e,t){var u=p(t.env),r="sequence"!==e.expression.type||0===e.expression.elements.length,n=v(e.expression,{sp:t.sp+(r?1:0),env:u,action:e}),o=e.expression.match||0,a=r&&o!==NEVER_MATCH?c(!1,Object.keys(u),e):-1;return r?f([op$1.PUSH_CURR_POS],n,A(o,[op$1.IF_NOT_ERROR],f([op$1.LOAD_SAVED_POS,1],h(a,1,u,t.sp+2)),[]),[op$1.NIP]):n},sequence:function(e,t){return f([op$1.PUSH_CURR_POS],function t(u,r){if(u.length>0){var n=e.elements.length-u.length+1;return f(v(u[0],{sp:r.sp,env:r.env,pluck:r.pluck,action:null}),A(u[0].match||0,[op$1.IF_NOT_ERROR],t(u.slice(1),{sp:r.sp+1,env:r.env,pluck:r.pluck,action:r.action}),f(n>1?[op$1.POP_N,n]:[op$1.POP],[op$1.POP_CURR_POS],[op$1.PUSH_FAILED])))}if(r.pluck&&r.pluck.length>0)return f([op$1.PLUCK,e.elements.length+1,r.pluck.length],r.pluck.map((function(e){return r.sp-e})));if(r.action){var o=c(!1,Object.keys(r.env),r.action);return f([op$1.LOAD_SAVED_POS,e.elements.length],h(o,e.elements.length+1,r.env,r.sp))}return f([op$1.WRAP,e.elements.length],[op$1.NIP])}(e.elements,{sp:t.sp+1,env:t.env,pluck:[],action:t.action}))},labeled:function(e,u){var r=u.env,n=e.label,o=u.sp+1;n&&(r=p(u.env),u.env[n]=o),e.pick&&u.pluck.push(o);var a=v(e.expression,{sp:u.sp,env:r,action:null});return n&&e.labelLocation&&t&&"source-and-map"===t.output?f([op$1.SOURCE_MAP_LABEL_PUSH,o,i(n),l(e.labelLocation)],a,[op$1.SOURCE_MAP_LABEL_POP,o]):a},text:function(e,t){return f([op$1.PUSH_CURR_POS],v(e.expression,{sp:t.sp+1,env:p(t.env),action:null}),A(e.match||0,[op$1.IF_NOT_ERROR],f([op$1.POP],[op$1.TEXT]),[op$1.NIP]))},simple_and:function(e,t){return d(e.expression,!1,t)},simple_not:function(e,t){return d(e.expression,!0,t)},optional:function(e,t){return f(v(e.expression,{sp:t.sp,env:p(t.env),action:null}),A(-(e.expression.match||0),[op$1.IF_ERROR],f([op$1.POP],[op$1.PUSH_NULL]),[]))},zero_or_more:function(e,t){var u=v(e.expression,{sp:t.sp+1,env:p(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],u,E(u),[op$1.POP])},one_or_more:function(e,t){var u=v(e.expression,{sp:t.sp+1,env:p(t.env),action:null});return f([op$1.PUSH_EMPTY_ARRAY],u,A(e.expression.match||0,[op$1.IF_NOT_ERROR],f(E(u),[op$1.POP]),f([op$1.POP],[op$1.POP],[op$1.PUSH_FAILED])))},repeated:function(e,t){var u=e.min?e.min:e.max,r="constant"!==u.type||u.value>0,n="constant"!==e.max.type&&null!==e.max.value,o=r?2:1,a=e.min?C(e.min,t.env,t.sp,2+("function"===e.max.type?1:0)):{pre:[],post:[],sp:t.sp},i=C(e.max,t.env,a.sp,o),s=v(e.expression,{sp:i.sp+o,env:p(t.env),action:null}),c=null!==e.delimiter?v(e.expression,{sp:i.sp+o+1,env:p(t.env),action:null}):s,l=function(e,t,u,r,n){return e?f([op$1.PUSH_CURR_POS],v(e,{sp:r.sp+n+1,env:p(r.env),action:null}),A(e.match||0,[op$1.IF_NOT_ERROR],f([op$1.POP],u,A(-t,[op$1.IF_ERROR],[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP])),[op$1.NIP])):u}(e.delimiter,e.expression.match||0,c,t,o),h=m(l,e.max),d=n?m(s,e.max):s,g=f(r?[op$1.PUSH_CURR_POS]:[],[op$1.PUSH_EMPTY_ARRAY],d,E(h),[op$1.POP]);return f(a.pre,i.pre,r?function(e,t){var u="constant"===t.type?[op$1.IF_LT,t.value]:[op$1.IF_LT_DYNAMIC,t.sp||0];return f(e,A(SOMETIMES_MATCH,u,[op$1.POP,op$1.POP_CURR_POS,op$1.PUSH_FAILED],[op$1.NIP]))}(g,u):g,i.post,a.post)},group:function(e,t){return v(e.expression,{sp:t.sp,env:p(t.env),action:null})},semantic_and:function(e,t){return g(e,!1,t)},semantic_not:function(e,t){return g(e,!0,t)},rule_ref:function(t){return[op$1.RULE,asts$6.indexOfRule(e,t.name)]},literal:function(e){if(e.value.length>0){var t=e.match||0,u=t===SOMETIMES_MATCH||t===ALWAYS_MATCH&&!e.ignoreCase?i(e.ignoreCase?e.value.toLowerCase():e.value):-1,r=t!==ALWAYS_MATCH?s({type:"literal",value:e.value,ignoreCase:e.ignoreCase}):-1;return A(t,e.ignoreCase?[op$1.MATCH_STRING_IC,u]:[op$1.MATCH_STRING,u],e.ignoreCase?[op$1.ACCEPT_N,e.value.length]:[op$1.ACCEPT_STRING,u],[op$1.FAIL,r])}return[op$1.PUSH_EMPTY_STRING]},class:function(e){var t=e.match||0,u=t===SOMETIMES_MATCH?function(e){var t={value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase},u=JSON.stringify(t),n=r.findIndex((function(e){return JSON.stringify(e)===u}));return-1===n?r.push(t)-1:n}(e):-1,n=t!==ALWAYS_MATCH?s({type:"class",value:e.parts,inverted:e.inverted,ignoreCase:e.ignoreCase}):-1;return A(t,[op$1.MATCH_CHAR_CLASS,u],[op$1.ACCEPT_N,1],[op$1.FAIL,n])},any:function(e){var t=e.match||0,u=t!==ALWAYS_MATCH?s({type:"any"}):-1;return A(t,[op$1.MATCH_ANY],[op$1.ACCEPT_N,1],[op$1.FAIL,u])}},t&&"source-and-map"===t.output&&Object.keys(F).forEach((function(e){var t=F[e];F[e]=function(e){for(var u=[],r=1;r>>=VLQ_BASE_SHIFT,r>0&&(t|=VLQ_CONTINUATION_BIT),u+=base64$2.encode(t)}while(r>0);return u};var util$3={};function getArg(e,t,u){if(t in e)return e[t];if(3===arguments.length)return u;throw new Error('"'+t+'" is a required argument.')}util$3.getArg=getArg;const supportsNullProto=!("__proto__"in Object.create(null));function identity(e){return e}function toSetString(e){return isProtoString(e)?"$"+e:e}function fromSetString(e){return isProtoString(e)?e.slice(1):e}function isProtoString(e){if(!e)return!1;const t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(let u=t-10;u>=0;u--)if(36!==e.charCodeAt(u))return!1;return!0}function strcmp(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}function compareByGeneratedPositionsInflated(e,t){let u=e.generatedLine-t.generatedLine;return 0!==u?u:(u=e.generatedColumn-t.generatedColumn,0!==u?u:(u=strcmp(e.source,t.source),0!==u?u:(u=e.originalLine-t.originalLine,0!==u?u:(u=e.originalColumn-t.originalColumn,0!==u?u:strcmp(e.name,t.name)))))}util$3.toSetString=supportsNullProto?identity:toSetString,util$3.fromSetString=supportsNullProto?identity:fromSetString,util$3.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;const PROTOCOL="http:",PROTOCOL_AND_HOST=`${PROTOCOL}//host`;function createSafeHandler(e){return t=>{const u=getURLType(t),r=buildSafeBase(t),n=new URL(t,r);e(n);const o=n.toString();return"absolute"===u?o:"scheme-relative"===u?o.slice(PROTOCOL.length):"path-absolute"===u?o.slice(PROTOCOL_AND_HOST.length):computeRelativeURL(r,o)}}function withBase(e,t){return new URL(e,t).toString()}function buildUniqueSegment(e,t){let u=0;for(;;){const r=e+u++;if(-1===t.indexOf(r))return r}}function buildSafeBase(e){const t=e.split("..").length-1,u=buildUniqueSegment("p",e);let r=`${PROTOCOL_AND_HOST}/`;for(let e=0;e0&&!r[r.length-1]&&r.pop();u.length>0&&r.length>0&&u[0]===r[0];)u.shift(),r.shift();return r.map((()=>"..")).concat(u).join("/")+t.search+t.hash}const ensureDirectory=createSafeHandler((e=>{e.pathname=e.pathname.replace(/\/?$/,"/")})),normalize=createSafeHandler((e=>{}));function join(e,t){const u=getURLType(t),r=getURLType(e);if(e=ensureDirectory(e),"absolute"===u)return withBase(t,void 0);if("absolute"===r)return withBase(t,e);if("scheme-relative"===u)return normalize(t);if("scheme-relative"===r)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL.length);if("path-absolute"===u)return normalize(t);if("path-absolute"===r)return withBase(t,withBase(e,PROTOCOL_AND_HOST)).slice(PROTOCOL_AND_HOST.length);const n=buildSafeBase(t+e);return computeRelativeURL(n,withBase(t,withBase(e,n)))}function relative(e,t){const u=relativeIfPossible(e,t);return"string"==typeof u?u:normalize(t)}function relativeIfPossible(e,t){if(getURLType(e)!==getURLType(t))return null;const u=buildSafeBase(e+t),r=new URL(e,u),n=new URL(t,u);try{new URL("",n.toString())}catch(e){return null}return n.protocol!==r.protocol||n.user!==r.user||n.password!==r.password||n.hostname!==r.hostname||n.port!==r.port?null:computeRelativeURL(r,n)}util$3.normalize=normalize,util$3.join=join,util$3.relative=relative;var arraySet={};let ArraySet$1=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,u){const r=new e;for(let e=0,n=t.length;e=0)return t;throw new Error('"'+e+'" is not in the set.')}at(e){if(e>=0&&eu||r==u&&o>=n||util$2.compareByGeneratedPositionsInflated(e,t)<=0}let MappingList$1=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(e,t){this._array.forEach(e,t)}add(e){generatedPositionAfter(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))}toArray(){return this._sorted||(this._array.sort(util$2.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};mappingList.MappingList=MappingList$1;const base64VLQ=base64Vlq,util$1=util$3,ArraySet=arraySet.ArraySet,MappingList=mappingList.MappingList;let SourceMapGenerator$1=class e{constructor(e){e||(e={}),this._file=util$1.getArg(e,"file",null),this._sourceRoot=util$1.getArg(e,"sourceRoot",null),this._skipValidation=util$1.getArg(e,"skipValidation",!1),this._sources=new ArraySet,this._names=new ArraySet,this._mappings=new MappingList,this._sourcesContents=null}static fromSourceMap(t){const u=t.sourceRoot,r=new e({file:t.file,sourceRoot:u});return t.eachMapping((function(e){const t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=u&&(t.source=util$1.relative(u,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),r.addMapping(t)})),t.sources.forEach((function(e){let n=e;null!=u&&(n=util$1.relative(u,e)),r._sources.has(n)||r._sources.add(n);const o=t.sourceContentFor(e);null!=o&&r.setSourceContent(e,o)})),r}addMapping(e){const t=util$1.getArg(e,"generated"),u=util$1.getArg(e,"original",null);let r=util$1.getArg(e,"source",null),n=util$1.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,u,r,n),null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=n&&(n=String(n),this._names.has(n)||this._names.add(n)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:u&&u.line,originalColumn:u&&u.column,source:r,name:n})}setSourceContent(e,t){let u=e;null!=this._sourceRoot&&(u=util$1.relative(this._sourceRoot,u)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[util$1.toSetString(u)]=t):this._sourcesContents&&(delete this._sourcesContents[util$1.toSetString(u)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))}applySourceMap(e,t,u){let r=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');r=e.file}const n=this._sourceRoot;null!=n&&(r=util$1.relative(n,r));const o=this._mappings.toArray().length>0?new ArraySet:this._sources,a=new ArraySet;this._mappings.unsortedForEach((function(t){if(t.source===r&&null!=t.originalLine){const r=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=r.source&&(t.source=r.source,null!=u&&(t.source=util$1.join(u,t.source)),null!=n&&(t.source=util$1.relative(n,t.source)),t.originalLine=r.line,t.originalColumn=r.column,null!=r.name&&(t.name=r.name))}const i=t.source;null==i||o.has(i)||o.add(i);const s=t.name;null==s||a.has(s)||a.add(s)}),this),this._sources=o,this._names=a,e.sources.forEach((function(t){const r=e.sourceContentFor(t);null!=r&&(null!=u&&(t=util$1.join(u,t)),null!=n&&(t=util$1.relative(n,t)),this.setSourceContent(t,r))}),this)}_validateMapping(e,t,u,r){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!t&&!u&&!r);else if(!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&u))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:u,original:t,name:r}))}_serializeMappings(){let e,t,u,r,n=0,o=1,a=0,i=0,s=0,c=0,l="";const p=this._mappings.toArray();for(let f=0,A=p.length;f0){if(!util$1.compareByGeneratedPositionsInflated(t,p[f-1]))continue;e+=","}e+=base64VLQ.encode(t.generatedColumn-n),n=t.generatedColumn,null!=t.source&&(r=this._sources.indexOf(t.source),e+=base64VLQ.encode(r-c),c=r,e+=base64VLQ.encode(t.originalLine-1-i),i=t.originalLine-1,e+=base64VLQ.encode(t.originalColumn-a),a=t.originalColumn,null!=t.name&&(u=this._names.indexOf(t.name),e+=base64VLQ.encode(u-s),s=u)),l+=e}return l}_generateSourcesContent(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=util$1.relative(t,e));const u=util$1.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,u)?this._sourcesContents[u]:null}),this)}toJSON(){const e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e}toString(){return JSON.stringify(this.toJSON())}};SourceMapGenerator$1.prototype._version=3,sourceMapGenerator.SourceMapGenerator=SourceMapGenerator$1;var sourceNode={};const SourceMapGenerator=sourceMapGenerator.SourceMapGenerator,util=util$3,REGEX_NEWLINE=/(\r?\n)/,NEWLINE_CODE=10,isSourceNode="$$$isSourceNode$$$";let SourceNode$2=class e{constructor(e,t,u,r,n){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==u?null:u,this.name=null==n?null:n,this[isSourceNode]=!0,null!=r&&this.add(r)}static fromStringWithSourceMap(t,u,r){const n=new e,o=t.split(REGEX_NEWLINE);let a=0;const i=function(){return e()+(e()||"");function e(){return a=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this}walk(e){let t;for(let u=0,r=this.children.length;u0){for(t=[],u=0;u' at an index ").concat(e,".\nBytecode: ").concat(this.bytecode));return this.varName+e},e.sourceNode=function(e,t,u){var r=GrammarLocation$2.offsetStart(e);return new SourceNode$1(r.line,r.column?r.column-1:null,String(e.source),t,u)},e.prototype.push=function(t){++this.sp>this.maxSp&&(this.maxSp=this.sp);var u=this.labels[this.sp],r=[this.name(this.sp)," = ",t,";"];if(u){if(this.sourceMapStack.length){var n=e.sourceNode(u.location,r.splice(0,2),u.label),o=this.sourceMapPopInternal(),a=o.parts,i=o.location,s=i.start.offsett.end.offset&&(u[2]={start:t.end,end:u[2].end,source:u[2].source})}this.sourceMapStack.push([e,e.length,t])},e.prototype.sourceMapPopInternal=function(){var e=this.sourceMapStack.pop();if(!e)throw new RangeError("Rule '".concat(this.ruleName,"': Attempting to pop an empty source map stack.\nBytecode: ").concat(this.bytecode));var t=e[0],u=e[1],r=e[2],n=t.splice(u).map((function(e){return e instanceof SourceNode$1?e:e+"\n"}));if(n.length){var o=GrammarLocation$2.offsetStart(r);t.push(new SourceNode$1(o.line,o.column-1,String(r.source),n))}return{parts:t,location:r}},e.prototype.sourceMapPop=function(e){var t=this.sourceMapPopInternal().location;if(this.sourceMapStack.length&&t.end.offset>2],n+=t[(3&e[o])<<4|e[o+1]>>4],n+=t[(15&e[o+1])<<2|e[o+2]>>6],n+=t[63&e[o+2]];return 1===u?(n+=t[e[r]>>2],n+=t[(3&e[r])<<4],n+="=="):2===u&&(n+=t[e[r]>>2],n+=t[(3&e[r])<<4|e[r+1]>>4],n+=t[(15&e[r+1])<<2],n+="="),n}function peg$subclass$1(e,t){function u(){this.constructor=e}u.prototype=t.prototype,e.prototype=new u}function peg$SyntaxError$1(e,t,u,r){var n=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(n,peg$SyntaxError$1.prototype),n.expected=t,n.found=u,n.location=r,n.name="SyntaxError",n}function peg$padEnd$1(e,t,u){return u=u||" ",e.length>t?e:(t-=e.length,e+(u+=u.repeat(t)).slice(0,t))}function peg$parse$1(e,t){var u,r={},n=(t=void 0!==t?t:{}).grammarSource,o={JSSource:ct},a=ct,i="import",s=";",c=",",l="*",p="as",f="{",A="}",h="from",d="\n",g="\r\n",E="/*",C="*/",m="//",F="\\",v='"',_="'",D="0",$="b",y="f",B="n",S="r",x="t",P="v",b="x",R="u",O=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,L=/^[\n\r\u2028\u2029]/,M=/^[\r\u2028-\u2029]/,T=/^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,w=/^[$0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F1\uA900-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,I=/^[\n\r"\\\u2028-\u2029]/,N=/^[\n\r'\\\u2028-\u2029]/,k=/^["'\\]/,H=/^[0-9ux]/,U=/^[0-9]/,j=/^[0-9a-f]/i,G=/^[{}]/,V=rt("import",!1),z=rt(";",!1),Y=rt(",",!1),W=rt("*",!1),J=rt("as",!1),Q=rt("{",!1),q=rt("}",!1),X=rt("from",!1),K={type:"any"},Z=ot("whitespace"),ee=nt(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),te=nt(["\n","\r","\u2028","\u2029"],!1,!1),ue=ot("end of line"),re=rt("\n",!1),ne=rt("\r\n",!1),oe=nt(["\r",["\u2028","\u2029"]],!1,!1),ae=ot("comment"),ie=rt("/*",!1),se=rt("*/",!1),ce=rt("//",!1),le=ot("identifier"),pe=nt([["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","Ɬ"],["Ʞ","ꞷ"],["ꟷ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭥ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),fe=rt("\\",!1),Ae=nt(["$",["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["ୖ","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ః"],["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],["ഁ","ഃ"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ං","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠐","᠙"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭",["ᳲ","᳴"],["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["‌","‍"],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],["ꢀ","ꢁ"],["ꢴ","꣄"],["꣐","꣙"],["꣠","꣱"],["꤀","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),he=ot("string"),de=rt('"',!1),ge=rt("'",!1),Ee=nt(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),Ce=nt(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),me=rt("0",!1),Fe=nt(['"',"'","\\"],!1,!1),ve=rt("b",!1),_e=rt("f",!1),De=rt("n",!1),$e=rt("r",!1),ye=rt("t",!1),Be=rt("v",!1),Se=nt([["0","9"],"u","x"],!1,!1),xe=rt("x",!1),Pe=rt("u",!1),be=nt([["0","9"]],!1,!1),Re=nt([["0","9"],["a","f"]],!1,!0),Oe=nt(["{","}"],!1,!1),Le=function(e,t){return[e,{type:"top_level_initializer",code:t[0],codeLocation:t[1]}]},Me=function(e){return{type:"top_level_initializer",code:e,codeLocation:ut()}},Te=function(e){return-1===Lt.indexOf(e[0])},we=function(e,t){return[e+t.join(""),ut()]},Ie=function(e){return e.join("")},Ne=function(e){return e.join("")},ke=function(){return""},He=function(){return"\0"},Ue=function(){return"\b"},je=function(){return"\f"},Ge=function(){return"\n"},Ve=function(){return"\r"},ze=function(){return"\t"},Ye=function(){return"\v"},We=function(e){return String.fromCharCode(parseInt(e,16))},Je=function(e){return String.fromCharCode(parseInt(e,16))},Qe=function(e){return[e,ut()]},qe=0,Xe=0,Ke=[{line:1,column:1}],Ze=0,et=[],tt=0;if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');a=o[t.startRule]}function ut(){return it(Xe,qe)}function rt(e,t){return{type:"literal",text:e,ignoreCase:t}}function nt(e,t,u){return{type:"class",parts:e,inverted:t,ignoreCase:u}}function ot(e){return{type:"other",description:e}}function at(t){var u,r=Ke[t];if(r)return r;if(t>=Ke.length)u=Ke.length-1;else for(u=t;!Ke[--u];);for(r={line:(r=Ke[u]).line,column:r.column};uZe&&(Ze=qe,et=[]),et.push(e))}function ct(){var t,u,n;return t=qe,u=function(){var t,u,n,o;for(t=qe,u=qe,n=[],o=lt();o!==r;)n.push(o),o=lt();return u=e.substring(u,qe),Xe=t,t=u=Me(u)}(),n=function(){var e,t;return e=qe,t=Rt(),Xe=e,e=t=Qe(t)}(),Xe=t,Le(u,n)}function lt(){var t,u,n,o,a,l,p,f,A;return t=qe,u=Ot(),e.substr(qe,6)===i?(n=i,qe+=6):(n=r,0===tt&&st(V)),n!==r?(o=Ot(),a=function(){var t,u,n,o,a,i;return(t=ht())===r&&(t=pt())===r&&(t=ft())===r&&(t=qe,(u=ht())!==r?(n=Ot(),44===e.charCodeAt(qe)?(o=c,qe++):(o=r,0===tt&&st(Y)),o!==r?(a=Ot(),(i=pt())===r&&(i=ft()),i!==r?t=u=[u,n,o,a,i]:(qe=t,t=r)):(qe=t,t=r)):(qe=t,t=r)),t}(),a!==r?(l=Ot(),p=function(){var t,u,n,o;return t=qe,e.substr(qe,4)===h?(u=h,qe+=4):(u=r,0===tt&&st(X)),u!==r?(n=Ot(),(o=Dt())!==r?t=u=[u,n,o]:(qe=t,t=r)):(qe=t,t=r),t}(),p!==r?(f=Ot(),59===e.charCodeAt(qe)?(A=s,qe++):(A=r,0===tt&&st(z)),A===r&&(A=null),t=u=[u,n,o,a,l,p,f,A]):(qe=t,t=r)):(qe=t,t=r)):(qe=t,t=r),t===r&&(t=qe,u=Ot(),e.substr(qe,6)===i?(n=i,qe+=6):(n=r,0===tt&&st(V)),n!==r?(o=Ot(),(a=Dt())!==r?(l=Ot(),59===e.charCodeAt(qe)?(p=s,qe++):(p=r,0===tt&&st(z)),p===r&&(p=null),t=u=[u,n,o,a,l,p]):(qe=t,t=r)):(qe=t,t=r)),t}function pt(){var t,u,n,o,a,i;return t=qe,42===e.charCodeAt(qe)?(u=l,qe++):(u=r,0===tt&&st(W)),u!==r?(n=Ot(),e.substr(qe,2)===p?(o=p,qe+=2):(o=r,0===tt&&st(J)),o!==r?(a=Ot(),(i=ht())!==r?t=u=[u,n,o,a,i]:(qe=t,t=r)):(qe=t,t=r)):(qe=t,t=r),t}function ft(){var t,u,n,o,a,i,s,l;return t=qe,123===e.charCodeAt(qe)?(u=f,qe++):(u=r,0===tt&&st(Q)),u!==r?(n=Ot(),125===e.charCodeAt(qe)?(o=A,qe++):(o=r,0===tt&&st(q)),o!==r?t=u=[u,n,o]:(qe=t,t=r)):(qe=t,t=r),t===r&&(t=qe,123===e.charCodeAt(qe)?(u=f,qe++):(u=r,0===tt&&st(Q)),u!==r?(n=Ot(),o=function(){var t,u,n,o,a,i;for(t=qe,u=[],n=At();n!==r;)u.push(n),n=qe,o=qe,a=Ot(),44===e.charCodeAt(qe)?(i=c,qe++):(i=r,0===tt&&st(Y)),i!==r?o=a=[a,i,Ot()]:(qe=o,o=r),o!==r&&(o=At())===r?(qe=n,n=r):n=o;return u.length<1?(qe=t,t=r):t=u,t}(),o!==r?(a=Ot(),44===e.charCodeAt(qe)?(i=c,qe++):(i=r,0===tt&&st(Y)),i===r&&(i=null),s=Ot(),125===e.charCodeAt(qe)?(l=A,qe++):(l=r,0===tt&&st(q)),l!==r?t=u=[u,n,o,a,i,s,l]:(qe=t,t=r)):(qe=t,t=r)):(qe=t,t=r)),t}function At(){var t,u,n,o,a,i;return t=qe,u=function(){var e;return(e=Ft())===r&&(e=Dt()),e}(),u!==r?(n=Ot(),e.substr(qe,2)===p?(o=p,qe+=2):(o=r,0===tt&&st(J)),o!==r?(a=Ot(),(i=ht())!==r?t=u=[u,n,o,a,i]:(qe=t,t=r)):(qe=t,t=r)):(qe=t,t=r),t===r&&(t=ht()),t}function ht(){var e,t,u;return e=qe,(t=Ft())!==r?(Xe=qe,(u=(u=Te(t))?void 0:r)!==r?e=t=[t,u]:(qe=e,e=r)):(qe=e,e=r),e}function dt(){var t;return e.length>qe?(t=e.charAt(qe),qe++):(t=r,0===tt&&st(K)),t}function gt(){var t;return tt++,t=e.charAt(qe),O.test(t)?qe++:(t=r,0===tt&&st(ee)),tt--,t===r&&0===tt&&st(Z),t}function Et(){var t;return t=e.charAt(qe),L.test(t)?qe++:(t=r,0===tt&&st(te)),t}function Ct(){var t;return tt++,10===e.charCodeAt(qe)?(t=d,qe++):(t=r,0===tt&&st(re)),t===r&&(e.substr(qe,2)===g?(t=g,qe+=2):(t=r,0===tt&&st(ne)),t===r&&(t=e.charAt(qe),M.test(t)?qe++:(t=r,0===tt&&st(oe)))),tt--,t===r&&0===tt&&st(ue),t}function mt(){var t;return tt++,(t=function(){var t,u,n,o,a,i;if(t=qe,e.substr(qe,2)===E?(u=E,qe+=2):(u=r,0===tt&&st(ie)),u!==r){for(n=[],o=qe,a=qe,tt++,e.substr(qe,2)===C?(i=C,qe+=2):(i=r,0===tt&&st(se)),tt--,i===r?a=void 0:(qe=a,a=r),a!==r&&(i=dt())!==r?o=a=[a,i]:(qe=o,o=r);o!==r;)n.push(o),o=qe,a=qe,tt++,e.substr(qe,2)===C?(i=C,qe+=2):(i=r,0===tt&&st(se)),tt--,i===r?a=void 0:(qe=a,a=r),a!==r&&(i=dt())!==r?o=a=[a,i]:(qe=o,o=r);e.substr(qe,2)===C?(o=C,qe+=2):(o=r,0===tt&&st(se)),o!==r?t=u=[u,n,o]:(qe=t,t=r)}else qe=t,t=r;return t}())===r&&(t=function(){var t,u,n,o,a,i;if(t=qe,e.substr(qe,2)===m?(u=m,qe+=2):(u=r,0===tt&&st(ce)),u!==r){for(n=[],o=qe,a=qe,tt++,i=Et(),tt--,i===r?a=void 0:(qe=a,a=r),a!==r&&(i=dt())!==r?o=a=[a,i]:(qe=o,o=r);o!==r;)n.push(o),o=qe,a=qe,tt++,i=Et(),tt--,i===r?a=void 0:(qe=a,a=r),a!==r&&(i=dt())!==r?o=a=[a,i]:(qe=o,o=r);t=u=[u,n]}else qe=t,t=r;return t}()),tt--,t===r&&0===tt&&st(ae),t}function Ft(){var e,t,u,n;if(tt++,e=qe,(t=vt())!==r){for(u=[],n=_t();n!==r;)u.push(n),n=_t();Xe=e,e=we(t,u)}else qe=e,e=r;return tt--,e===r&&(t=r,0===tt&&st(le)),e}function vt(){var t,u,n;return t=e.charAt(qe),T.test(t)?qe++:(t=r,0===tt&&st(pe)),t===r&&(t=qe,92===e.charCodeAt(qe)?(u=F,qe++):(u=r,0===tt&&st(fe)),u!==r&&(n=Pt())!==r?t=n:(qe=t,t=r)),t}function _t(){var t;return(t=vt())===r&&(t=e.charAt(qe),w.test(t)?qe++:(t=r,0===tt&&st(Ae))),t}function Dt(){var t,u,n,o;if(tt++,t=qe,34===e.charCodeAt(qe)?(u=v,qe++):(u=r,0===tt&&st(de)),u!==r){for(n=[],o=$t();o!==r;)n.push(o),o=$t();34===e.charCodeAt(qe)?(o=v,qe++):(o=r,0===tt&&st(de)),o!==r?(Xe=t,t=Ie(n)):(qe=t,t=r)}else qe=t,t=r;if(t===r)if(t=qe,39===e.charCodeAt(qe)?(u=_,qe++):(u=r,0===tt&&st(ge)),u!==r){for(n=[],o=yt();o!==r;)n.push(o),o=yt();39===e.charCodeAt(qe)?(o=_,qe++):(o=r,0===tt&&st(ge)),o!==r?(Xe=t,t=Ne(n)):(qe=t,t=r)}else qe=t,t=r;return tt--,t===r&&(u=r,0===tt&&st(he)),t}function $t(){var t,u,n,o;return t=qe,u=qe,n=qe,tt++,o=e.charAt(qe),I.test(o)?qe++:(o=r,0===tt&&st(Ee)),tt--,o===r?n=void 0:(qe=n,n=r),n!==r&&(o=dt())!==r?u=n=[n,o]:(qe=u,u=r),(t=u!==r?e.substring(t,qe):u)===r&&(t=qe,92===e.charCodeAt(qe)?(u=F,qe++):(u=r,0===tt&&st(fe)),u!==r&&(n=St())!==r?t=n:(qe=t,t=r),t===r&&(t=Bt())),t}function yt(){var t,u,n,o;return t=qe,u=qe,n=qe,tt++,o=e.charAt(qe),N.test(o)?qe++:(o=r,0===tt&&st(Ce)),tt--,o===r?n=void 0:(qe=n,n=r),n!==r&&(o=dt())!==r?u=n=[n,o]:(qe=u,u=r),(t=u!==r?e.substring(t,qe):u)===r&&(t=qe,92===e.charCodeAt(qe)?(u=F,qe++):(u=r,0===tt&&st(fe)),u!==r&&(n=St())!==r?t=n:(qe=t,t=r),t===r&&(t=Bt())),t}function Bt(){var t,u;return t=qe,92===e.charCodeAt(qe)?(u=F,qe++):(u=r,0===tt&&st(fe)),u!==r&&Ct()!==r?(Xe=t,t=ke()):(qe=t,t=r),t}function St(){var t,u,n,o;return t=function(){var t;return(t=xt())===r&&(t=function(){var t,u,n,o;return t=qe,u=qe,n=qe,tt++,o=function(){var t;return(t=xt())===r&&(t=e.charAt(qe),H.test(t)?qe++:(t=r,0===tt&&st(Se))),t}(),o===r&&(o=Et()),tt--,o===r?n=void 0:(qe=n,n=r),n!==r&&(o=dt())!==r?u=n=[n,o]:(qe=u,u=r),t=u!==r?e.substring(t,qe):u}()),t}(),t===r&&(t=qe,48===e.charCodeAt(qe)?(u=D,qe++):(u=r,0===tt&&st(me)),u!==r?(n=qe,tt++,o=function(){var t;return t=e.charAt(qe),U.test(t)?qe++:(t=r,0===tt&&st(be)),t}(),tt--,o===r?n=void 0:(qe=n,n=r),n!==r?(Xe=t,t=He()):(qe=t,t=r)):(qe=t,t=r),t===r&&(t=function(){var t,u,n,o,a,i;return t=qe,120===e.charCodeAt(qe)?(u=b,qe++):(u=r,0===tt&&st(xe)),u!==r?(n=qe,o=qe,(a=bt())!==r&&(i=bt())!==r?o=a=[a,i]:(qe=o,o=r),(n=o!==r?e.substring(n,qe):o)!==r?(Xe=t,t=We(n)):(qe=t,t=r)):(qe=t,t=r),t}(),t===r&&(t=Pt()))),t}function xt(){var t,u;return t=e.charAt(qe),k.test(t)?qe++:(t=r,0===tt&&st(Fe)),t===r&&(t=qe,98===e.charCodeAt(qe)?(u=$,qe++):(u=r,0===tt&&st(ve)),u!==r&&(Xe=t,u=Ue()),(t=u)===r&&(t=qe,102===e.charCodeAt(qe)?(u=y,qe++):(u=r,0===tt&&st(_e)),u!==r&&(Xe=t,u=je()),(t=u)===r&&(t=qe,110===e.charCodeAt(qe)?(u=B,qe++):(u=r,0===tt&&st(De)),u!==r&&(Xe=t,u=Ge()),(t=u)===r&&(t=qe,114===e.charCodeAt(qe)?(u=S,qe++):(u=r,0===tt&&st($e)),u!==r&&(Xe=t,u=Ve()),(t=u)===r&&(t=qe,116===e.charCodeAt(qe)?(u=x,qe++):(u=r,0===tt&&st(ye)),u!==r&&(Xe=t,u=ze()),(t=u)===r&&(t=qe,118===e.charCodeAt(qe)?(u=P,qe++):(u=r,0===tt&&st(Be)),u!==r&&(Xe=t,u=Ye()),t=u)))))),t}function Pt(){var t,u,n,o,a,i,s,c;return t=qe,117===e.charCodeAt(qe)?(u=R,qe++):(u=r,0===tt&&st(Pe)),u!==r?(n=qe,o=qe,(a=bt())!==r&&(i=bt())!==r&&(s=bt())!==r&&(c=bt())!==r?o=a=[a,i,s,c]:(qe=o,o=r),(n=o!==r?e.substring(n,qe):o)!==r?(Xe=t,t=Je(n)):(qe=t,t=r)):(qe=t,t=r),t}function bt(){var t;return t=e.charAt(qe),j.test(t)?qe++:(t=r,0===tt&&st(Re)),t}function Rt(){var t,u,n,o,a,i;if(t=qe,u=[],n=[],o=qe,a=qe,tt++,i=e.charAt(qe),G.test(i)?qe++:(i=r,0===tt&&st(Oe)),tt--,i===r?a=void 0:(qe=a,a=r),a!==r&&(i=dt())!==r?o=a=[a,i]:(qe=o,o=r),o!==r)for(;o!==r;)n.push(o),o=qe,a=qe,tt++,i=e.charAt(qe),G.test(i)?qe++:(i=r,0===tt&&st(Oe)),tt--,i===r?a=void 0:(qe=a,a=r),a!==r&&(i=dt())!==r?o=a=[a,i]:(qe=o,o=r);else n=r;for(n===r&&(n=qe,123===e.charCodeAt(qe)?(o=f,qe++):(o=r,0===tt&&st(Q)),o!==r?(a=Rt(),125===e.charCodeAt(qe)?(i=A,qe++):(i=r,0===tt&&st(q)),i!==r?n=o=[o,a,i]:(qe=n,n=r)):(qe=n,n=r));n!==r;){if(u.push(n),n=[],o=qe,a=qe,tt++,i=e.charAt(qe),G.test(i)?qe++:(i=r,0===tt&&st(Oe)),tt--,i===r?a=void 0:(qe=a,a=r),a!==r&&(i=dt())!==r?o=a=[a,i]:(qe=o,o=r),o!==r)for(;o!==r;)n.push(o),o=qe,a=qe,tt++,i=e.charAt(qe),G.test(i)?qe++:(i=r,0===tt&&st(Oe)),tt--,i===r?a=void 0:(qe=a,a=r),a!==r&&(i=dt())!==r?o=a=[a,i]:(qe=o,o=r);else n=r;n===r&&(n=qe,123===e.charCodeAt(qe)?(o=f,qe++):(o=r,0===tt&&st(Q)),o!==r?(a=Rt(),125===e.charCodeAt(qe)?(i=A,qe++):(i=r,0===tt&&st(q)),i!==r?n=o=[o,a,i]:(qe=n,n=r)):(qe=n,n=r))}return e.substring(t,qe)}function Ot(){var e,t;for(e=[],(t=gt())===r&&(t=Ct())===r&&(t=mt());t!==r;)e.push(t),(t=gt())===r&&(t=Ct())===r&&(t=mt());return e}var Lt=t.reservedWords||[];if((u=a())!==r&&qe===e.length)return u;throw u!==r&&qe0){for(t=1,u=1;t0&&(t.forEach((function(e){n.push("var "+e+' = require("'+stringEscape(s[e])+'");')})),n.push("")),n.push(e,"","module.exports = "+r()+";"),n},es:function(){var r=Object.keys(s),n=u();return n.push(""),r.length>0&&(r.forEach((function(e){n.push("import "+e+' from "'+stringEscape(s[e])+'";')})),n.push("")),n.push(e,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),n},amd:function(){var t=Object.keys(s),n="["+t.map((function(e){return s[e]})).map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",o=t.join(", ");return __spreadArray$2(__spreadArray$2([],u(),!0),["define("+n+", function("+o+") {",' "use strict";',"",e,"",c("return "+r()+";"),"});"],!1)},globals:function(){return __spreadArray$2(__spreadArray$2([],u(),!0),["(function(root) {",' "use strict";',"",e,"",c("root."+t.exportVar+" = "+r()+";"),"})(this);"],!1)},umd:function(){var n=Object.keys(s),o=n.map((function(e){return s[e]})),a="["+o.map((function(e){return'"'+stringEscape(e)+'"'})).join(", ")+"]",i=o.map((function(e){return'require("'+stringEscape(e)+'")'})).join(", "),l=n.join(", "),p=u();return p.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+a+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+i+");"),null!==t.exportVar&&p.push(" } else {"," root."+t.exportVar+" = factory();"),p.push(" }","})(this, function("+l+") {",' "use strict";',"",e,"",c("return "+r()+";"),"});"),p}}[t.format||"bare"]();return new SourceNode(null,null,t.grammarSource,n.map((function(e){return e instanceof SourceNode?e:e+"\n"})))}(function(){var s=[],g=e.topLevelInitializer;if(g)if(Array.isArray(g)){if("es"===t.format){for(var E=[],C=[],m=0,F=g;m targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var offset_s = (this.location.source && (typeof this.location.source.offset === "function"))'," ? this.location.source.offset(s)"," : s;",' var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;'," if (src) {"," var e = this.location.end;"," var filler = peg$padEnd(\"\", offset_s.line.toString().length, ' ');"," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --\x3e " + loc + "\\n"',' + filler + " |\\n"',' + offset_s.line + " | " + line + "\\n"',' + filler + " | " + peg$padEnd("", s.column - 1, \' \')',' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/"/g, "\\\\\\"")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/\\]/g, "\\\\]")',' .replace(/\\^/g, "\\\\^")',' .replace(/-/g, "\\\\-")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&s.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");var S="{ "+i.map((function(e){return e+": "+h(e)})).join(", ")+" }",x=h(i[0]);if(s.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+S+";"," var peg$startRuleFunction = "+x+";","",new SourceNode(null,null,t.grammarSource,__spreadArray$2([u.map((function(e,t){return" var "+l(t)+' = "'+stringEscape(e)+'";'})).concat("",n.map((function(e,t){return" var "+p(t)+" = /^["+((u=e).inverted?"^":"")+u.value.map((function(e){return Array.isArray(e)?regexpClassEscape(e[0])+"-"+regexpClassEscape(e[1]):regexpClassEscape(e)})).join("")+"]/"+(u.ignoreCase?"i":"")+";";var u}))).concat("",o.map((function(e,t){return" var "+f(t)+" = "+function(e){switch(e.type){case"rule":return'peg$otherExpectation("'+stringEscape(e.value)+'")';case"literal":return'peg$literalExpectation("'+stringEscape(e.value)+'", '+e.ignoreCase+")";case"class":return"peg$classExpectation(["+e.value.map((function(e){return Array.isArray(e)?'["'+stringEscape(e[0])+'", "'+stringEscape(e[1])+'"]':'"'+stringEscape(e)+'"'})).join(", ")+"], "+e.inverted+", "+e.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(e)+")")}}(e)+";"}))).concat("").join("\n")],a.map((function(e,t){return wrapInSourceNode("\n var ".concat(A(t)," = function(").concat(e.params.join(", "),") {"),e.body,e.location,"};")})),!0)),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&s.push(" var peg$resultsCache = {};",""),t.trace&&s.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),s.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",' throw new Error("Can\'t start parsing from rule \\"" + options.startRule + "\\".");'," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," if (pos >= peg$posDetailsCache.length) {"," p = peg$posDetailsCache.length - 1;"," } else {"," p = pos;"," while (!peg$posDetailsCache[--p]) {}"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos, offset) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," var res = {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };",' if (offset && peg$source && (typeof peg$source.offset === "function")) {'," res.start = peg$source.offset(res.start);"," res.end = peg$source.offset(res.end);"," }"," return res;"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach((function(n){s.push.apply(s,c(function(n){var o=[],a=n.bytecode,i=new Stack(n.name,"s","var",a),s=function t(n){var o=0,a=n.length,s=[],d=void 0;function g(e,u,r){var a=u+3,l=n[o+a-2],p=n[o+a-1],f=i.checkedIf(o,(function(){return o+=a+l,(r||t)(n.slice(o-l,o))}),p>0?function(){return o+=p,t(n.slice(o-p,o))}:null),A=f[0],h=f[1];s.push("if ("+e+") {"),s.push.apply(s,c(A)),p>0&&(s.push("} else {"),s.push.apply(s,c(h))),s.push("}")}function E(e,u,r){var a=u+3,c=1===r?"input.charAt(peg$currPos)":"input.substr(peg$currPos, "+r+")",l=null;n[o+a]===op.ACCEPT_N&&n[o+a+1]===r&&(s.push(i.push(c)),c=i.pop(),l=function(e){i.sp++;var u=t(e.slice(2));return u.unshift(1===r?"peg$currPos++;":"peg$currPos += "+r+";"),u}),g(e(c,null!==l),u,l)}for(var C=function(){switch(n[o]){case op.PUSH_EMPTY_STRING:s.push(i.push("''")),o++;break;case op.PUSH_CURR_POS:s.push(i.push("peg$currPos")),o++;break;case op.PUSH_UNDEFINED:s.push(i.push("undefined")),o++;break;case op.PUSH_NULL:s.push(i.push("null")),o++;break;case op.PUSH_FAILED:s.push(i.push("peg$FAILED")),o++;break;case op.PUSH_EMPTY_ARRAY:s.push(i.push("[]")),o++;break;case op.POP:i.pop(),o++;break;case op.POP_CURR_POS:s.push("peg$currPos = "+i.pop()+";"),o++;break;case op.POP_N:i.pop(n[o+1]),o+=2;break;case op.NIP:d=i.pop(),i.pop(),s.push(i.push(d)),o++;break;case op.APPEND:d=i.pop(),s.push(i.top()+".push("+d+");"),o++;break;case op.WRAP:s.push(i.push("["+i.pop(n[o+1]).join(", ")+"]")),o+=2;break;case op.TEXT:s.push(i.push("input.substring("+i.pop()+", peg$currPos)")),o++;break;case op.PLUCK:var a=n[o+3-1],C=3+a;d=n.slice(o+3,o+C),d=1===a?i.index(d[0]):"[ ".concat(d.map((function(e){return i.index(e)})).join(", ")," ]"),i.pop(n[o+1]),s.push(i.push(d)),o+=C;break;case op.IF:g(i.top(),0);break;case op.IF_ERROR:g(i.top()+" === peg$FAILED",0);break;case op.IF_NOT_ERROR:g(i.top()+" !== peg$FAILED",0);break;case op.IF_LT:g(i.top()+".length < "+n[o+1],1);break;case op.IF_GE:g(i.top()+".length >= "+n[o+1],1);break;case op.IF_LT_DYNAMIC:g(i.top()+".length < ("+i.index(n[o+1])+"|0)",1);break;case op.IF_GE_DYNAMIC:g(i.top()+".length >= ("+i.index(n[o+1])+"|0)",1);break;case op.WHILE_NOT_ERROR:D=i.top()+" !== peg$FAILED",$=n[o+2-1],y=i.checkedLoop(o,(function(){return o+=2+$,t(n.slice(o-$,o))})),s.push("while ("+D+") {"),s.push.apply(s,c(y)),s.push("}");break;case op.MATCH_ANY:g("input.length > peg$currPos",0);break;case op.MATCH_STRING:var m=n[o+1],F=u[m];E((function(e,t){return F.length>1?"".concat(e," === ").concat(l(m)):(e=t?"".concat(e,".charCodeAt(0)"):"input.charCodeAt(peg$currPos)","".concat(e," === ").concat(F.charCodeAt(0)))}),1,F.length);break;case op.MATCH_STRING_IC:var v=n[o+1];E((function(e){return"".concat(e,".toLowerCase() === ").concat(l(v))}),1,u[v].length);break;case op.MATCH_CHAR_CLASS:var _=n[o+1];E((function(e){return"".concat(p(_),".test(").concat(e,")")}),1,1);break;case op.ACCEPT_N:s.push(i.push(n[o+1]>1?"input.substr(peg$currPos, "+n[o+1]+")":"input.charAt(peg$currPos)")),s.push(n[o+1]>1?"peg$currPos += "+n[o+1]+";":"peg$currPos++;"),o+=2;break;case op.ACCEPT_STRING:s.push(i.push(l(n[o+1]))),s.push(u[n[o+1]].length>1?"peg$currPos += "+u[n[o+1]].length+";":"peg$currPos++;"),o+=2;break;case op.FAIL:s.push(i.push("peg$FAILED")),s.push("if (peg$silentFails === 0) { peg$fail("+f(n[o+1])+"); }"),o+=2;break;case op.LOAD_SAVED_POS:s.push("peg$savedPos = "+i.index(n[o+1])+";"),o+=2;break;case op.UPDATE_SAVED_POS:s.push("peg$savedPos = peg$currPos;"),o++;break;case op.CALL:d=function(e){var t=n[o+4-1];return A(n[o+1])+"("+n.slice(o+4,o+4+t).map((function(e){return i.index(e)})).join(", ")+")"}(),i.pop(n[o+2]),s.push(i.push(d)),o+=4+n[o+3];break;case op.RULE:s.push(i.push(h(e.rules[n[o+1]].name)+"()")),o+=2;break;case op.SILENT_FAILS_ON:s.push("peg$silentFails++;"),o++;break;case op.SILENT_FAILS_OFF:s.push("peg$silentFails--;"),o++;break;case op.SOURCE_MAP_PUSH:i.sourceMapPush(s,r[n[o+1]]),o+=2;break;case op.SOURCE_MAP_POP:i.sourceMapPop(),o++;break;case op.SOURCE_MAP_LABEL_PUSH:i.labels[n[o+1]]={label:u[n[o+2]],location:r[n[o+3]]},o+=4;break;case op.SOURCE_MAP_LABEL_POP:delete i.labels[n[o+1]],o+=2;break;default:throw new Error("Invalid opcode: "+n[o]+".")}var D,$,y};oi?-1:1:0}));for(var t="",u="",r=0;r=a.charCodeAt(0)?(e.splice(r--,1),e[r]=[t,u=i]):(t=a,u=i)}return e}function mergeCharacterClasses$1(e){var t=Object.create(null);e.rules.forEach((function(e){return t[e.name]=e.expression}));var u=Object.create(null),r=[function(e,r){if("class"===e.type&&!e.inverted)return r&&((e=__assign({},e)).parts=__spreadArray$1([],e.parts,!0)),e;if("literal"===e.type&&1===e.value.length)return{type:"class",parts:[e.value],inverted:!1,ignoreCase:e.ignoreCase,location:e.location};if("rule_ref"===e.type){var a=t[e.name];if(a){u[e.name]||(u[e.name]=!0,o(a));var i=n(a,!0);return i&&(i.location=e.location),i}}return null},visitor$7.build({choice:function(e){var t=null,u=!1;e.alternatives.forEach((function(r,a){var i;o(r);var s=n(r);s?t&&t.ignoreCase===s.ignoreCase?((i=t.parts).push.apply(i,s.parts),e.alternatives[a-1]=t,e.alternatives[a]=t,t.location={source:t.location.source,start:t.location.start,end:s.location.end},u=!0):t=s:t=null})),u&&(e.alternatives=e.alternatives.filter((function(e,t,u){return!t||e!==u[t-1]})),e.alternatives.forEach((function(t,u){"class"===t.type&&(t.parts=cleanParts(t.parts),1!==t.parts.length||Array.isArray(t.parts[0])||t.inverted||(e.alternatives[u]={type:"literal",value:t.parts[0],ignoreCase:t.ignoreCase,location:t.location}))})),1===e.alternatives.length&&cloneOver(e,e.alternatives[0]))},text:function(e){if(o(e.expression),"class"===e.expression.type||"literal"===e.expression.type){var t=e.location;cloneOver(e,e.expression),e.location=t}}})],n=r[0],o=r[1];e.rules.forEach((function(e){u[e.name]=!0,o(e.expression)}))}var mergeCharacterClasses_1=mergeCharacterClasses$1,visitor$6=visitor_1;function reportDuplicateLabels$1(e,t,u){function r(e){var t={};return Object.keys(e).forEach((function(u){t[u]=e[u]})),t}function n(e,t){o(e.expression,r(t))}var o=visitor$6.build({rule:function(e){o(e.expression,{})},choice:function(e,t){e.alternatives.forEach((function(e){o(e,r(t))}))},action:n,labeled:function(e,t){var r=e.label;r&&Object.prototype.hasOwnProperty.call(t,r)&&u.error('Label "'.concat(e.label,'" is already defined'),e.labelLocation,[{message:"Original label location",location:t[r]}]),o(e.expression,t),t[e.label]=e.labelLocation},text:n,simple_and:n,simple_not:n,optional:n,zero_or_more:n,one_or_more:n,repeated:function(e,t){e.delimiter&&o(e.delimiter,r(t)),o(e.expression,r(t))},group:n});o(e)}var reportDuplicateLabels_1=reportDuplicateLabels$1,visitor$5=visitor_1;function reportDuplicateRules$1(e,t,u){var r={};visitor$5.build({rule:function(e){Object.prototype.hasOwnProperty.call(r,e.name)?u.error('Rule "'.concat(e.name,'" is already defined'),e.nameLocation,[{message:"Original rule location",location:r[e.name]}]):r[e.name]=e.nameLocation}})(e)}var reportDuplicateRules_1=reportDuplicateRules$1,asts$3=asts_1,visitor$4=visitor_1;function reportInfiniteRecursion$1(e,t,u){var r=[],n=[],o=visitor$4.build({rule:function(e){r.push(e.name),o(e.expression),r.pop()},sequence:function(t){t.elements.every((function(t){return o(t),!asts$3.alwaysConsumesOnSuccess(e,t)}))},repeated:function(t){o(t.expression),t.delimiter&&!asts$3.alwaysConsumesOnSuccess(e,t.expression)&&o(t.delimiter)},rule_ref:function(t){n.push(t);var a=asts$3.findRule(e,t.name);if(-1!==r.indexOf(t.name))return r.push(t.name),void u.error("Possible infinite loop when parsing (left recursion: "+r.join(" -> ")+")",a.nameLocation,n.map((function(e,t,u){return{message:t+1!==u.length?"Step ".concat(t+1,': call of the rule "').concat(e.name,'" without input consumption'):"Step ".concat(t+1,": call itself without input consumption - left recursion"),location:e.location}})));a&&o(a),n.pop()}});o(e)}var reportInfiniteRecursion_1=reportInfiniteRecursion$1,asts$2=asts_1,visitor$3=visitor_1;function reportInfiniteRepetition$1(e,t,u){var r=visitor$3.build({zero_or_more:function(t){asts$2.alwaysConsumesOnSuccess(e,t.expression)||u.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},one_or_more:function(t){asts$2.alwaysConsumesOnSuccess(e,t.expression)||u.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",t.location)},repeated:function(t){if(t.delimiter&&r(t.delimiter),!(asts$2.alwaysConsumesOnSuccess(e,t.expression)||t.delimiter&&asts$2.alwaysConsumesOnSuccess(e,t.delimiter)))if(null===t.max.value)u.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",t.location);else{var n=t.min?t.min:t.max;u.warning("constant"===n.type&&"constant"===t.max.type?"An expression may not consume any input and may always match ".concat(t.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",t.location)}}});r(e)}var reportInfiniteRepetition_1=reportInfiniteRepetition$1,asts$1=asts_1,visitor$2=visitor_1;function reportUndefinedRules$1(e,t,u){visitor$2.build({rule_ref:function(t){asts$1.findRule(e,t.name)||u.error('Rule "'.concat(t.name,'" is not defined'),t.location)}})(e)}var reportUndefinedRules_1=reportUndefinedRules$1,visitor$1=visitor_1;function reportIncorrectPlucking$1(e,t,u){var r=visitor$1.build({action:function(e){r(e.expression,e)},labeled:function(e,t){e.pick&&t&&u.error('"@" cannot be used with an action block',e.labelLocation,[{message:"Action block location",location:t.codeLocation}]),r(e.expression)}});r(e)}var reportIncorrectPlucking_1=reportIncorrectPlucking$1,__spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(e,t,u){if(u||2===arguments.length)for(var r,n=0,o=t.length;n0:e&&"function"==typeof e.offset}var compiler$1={visitor:visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,mergeCharacterClasses,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile:function(ast,passes,options){if(options=void 0!==options?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(0===options.allowedStartRules.length)throw new Error("Must have at least one start rule");var allRules=ast.rules.map((function(e){return e.name}));if(options.allowedStartRules.some((function(e){return"*"===e})))options.allowedStartRules=allRules;else for(var _i=0,_a=options.allowedStartRules;_i<_a.length;_i++){var rule=_a[_i];if(-1===allRules.indexOf(rule))throw new Error('Unknown start rule "'.concat(rule,'"'))}if(("source-and-map"===options.output||"source-with-inline-map"===options.output)&&!isSourceMapCapable(options.grammarSource))throw new Error("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps");var session=new Session(options);switch(Object.keys(passes).forEach((function(e){session.stage=e,session.info("Process stage ".concat(e)),passes[e].forEach((function(t){session.info("Process pass ".concat(e,".").concat(t.name)),t(ast,options,session)})),session.checkErrors()})),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;case"source-with-inline-map":if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not supported by this platform");var sourceMap=ast.code.toStringWithSourceMap(),encoder=new TextEncoder,b64=base64(encoder.encode(JSON.stringify(sourceMap.map.toJSON())));return sourceMap.code+"//# sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(b64,"\n");case"ast":return ast;default:throw new Error("Invalid output format: "+options.output+".")}}},compiler_1=compiler$1,OPS_TO_PREFIXED_TYPES={$:"text","&":"simple_and","!":"simple_not"},OPS_TO_SUFFIXED_TYPES={"?":"optional","*":"zero_or_more","+":"one_or_more"},OPS_TO_SEMANTIC_PREDICATE_TYPES={"&":"semantic_and","!":"semantic_not"};function peg$subclass(e,t){function u(){this.constructor=e}u.prototype=t.prototype,e.prototype=new u}function peg$SyntaxError(e,t,u,r){var n=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(n,peg$SyntaxError.prototype),n.expected=t,n.found=u,n.location=r,n.name="SyntaxError",n}function peg$padEnd(e,t,u){return u=u||" ",e.length>t?e:(t-=e.length,e+(u+=u.repeat(t)).slice(0,t))}function peg$parse(e,t){var u,r={},n=(t=void 0!==t?t:{}).grammarSource,o={Grammar:pu},a=pu,i="{",s="}",c="=",l="/",p="@",f=":",A="|",h=",",d="..",g="(",E=")",C="\n",m="\r\n",F="/*",v="*/",_="//",D="\\",$="i",y='"',B="'",S="[",x="^",P="]",b="-",R="0",O="b",L="f",M="n",T="r",w="t",I="v",N="x",k="u",H=".",U=";",j=/^[!$&]/,G=/^[*-+?]/,V=/^[!&]/,z=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,Y=/^[\n\r\u2028\u2029]/,W=/^[\r\u2028-\u2029]/,J=/^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Q=/^[$0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F1\uA900-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,q=/^[\n\r"\\\u2028-\u2029]/,X=/^[\n\r'\\\u2028-\u2029]/,K=/^[\n\r\\-\]\u2028-\u2029]/,Z=/^["'\\]/,ee=/^[0-9ux]/,te=/^[0-9]/,ue=/^[0-9a-f]/i,re=/^[{}]/,ne=ou("{",!1),oe=ou("}",!1),ae=ou("=",!1),ie=ou("/",!1),se=ou("@",!1),ce=ou(":",!1),le=au(["!","$","&"],!1,!1),pe=au([["*","+"],"?"],!1,!1),fe=ou("|",!1),Ae=ou(",",!1),he=ou("..",!1),de=ou("(",!1),ge=ou(")",!1),Ee=au(["!","&"],!1,!1),Ce={type:"any"},me=iu("whitespace"),Fe=au(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),ve=au(["\n","\r","\u2028","\u2029"],!1,!1),_e=iu("end of line"),De=ou("\n",!1),$e=ou("\r\n",!1),ye=au(["\r",["\u2028","\u2029"]],!1,!1),Be=iu("comment"),Se=ou("/*",!1),xe=ou("*/",!1),Pe=ou("//",!1),be=iu("identifier"),Re=au([["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࢠ","ࢴ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ",["ೠ","ೡ"],["ೱ","ೲ"],["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ",["ສ","ຫ"],["ອ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],["ᳵ","ᳶ"],["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿕"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","Ɬ"],["Ʞ","ꞷ"],["ꟷ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ","ꣽ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭥ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Oe=ou("\\",!1),Le=au(["$",["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["ୖ","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ః"],["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],["ഁ","ഃ"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ං","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ູ"],["ົ","ຼ"],["່","ໍ"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜔"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠐","᠙"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭",["ᳲ","᳴"],["᳸","᳹"],["᷀","᷵"],["᷼","᷿"],["‌","‍"],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],["ꢀ","ꢁ"],["ꢴ","꣄"],["꣐","꣙"],["꣠","꣱"],["꤀","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),Me=iu("literal"),Te=ou("i",!1),we=iu("string"),Ie=ou('"',!1),Ne=ou("'",!1),ke=au(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),He=au(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),Ue=iu("character class"),je=ou("[",!1),Ge=ou("^",!1),Ve=ou("]",!1),ze=ou("-",!1),Ye=au(["\n","\r",["\\","]"],["\u2028","\u2029"]],!1,!1),We=ou("0",!1),Je=au(['"',"'","\\"],!1,!1),Qe=ou("b",!1),qe=ou("f",!1),Xe=ou("n",!1),Ke=ou("r",!1),Ze=ou("t",!1),et=ou("v",!1),tt=au([["0","9"],"u","x"],!1,!1),ut=ou("x",!1),rt=ou("u",!1),nt=au([["0","9"]],!1,!1),ot=au([["0","9"],["a","f"]],!1,!0),at=ou(".",!1),it=iu("code block"),st=au(["{","}"],!1,!1),ct=ou(";",!1),lt=function(e,t,u){return{type:"grammar",topLevelInitializer:e,initializer:t,rules:u,location:ru()}},pt=function(e){return{type:"top_level_initializer",code:e[0],codeLocation:e[1],location:ru()}},ft=function(e){return{type:"initializer",code:e[0],codeLocation:e[1],location:ru()}},At=function(e,t,u){return{type:"rule",name:e[0],nameLocation:e[1],expression:null!==t?{type:"named",name:t,expression:u,location:ru()}:u,location:ru()}},ht=function(e,t){return t.length>0?{type:"choice",alternatives:[e].concat(t),location:ru()}:e},dt=function(e,t){return null!==t?{type:"action",expression:e,code:t[0],codeLocation:t[1],location:ru()}:e},gt=function(e,t){return t.length>0||"labeled"===e.type&&e.pick?{type:"sequence",elements:[e].concat(t),location:ru()}:e},Et=function(e,t,u){return u.type.startsWith("semantic_")&&nu('"@" cannot be used on a semantic predicate',e),{type:"labeled",label:null!==t?t[0]:null,labelLocation:null!==t?t[1]:e,pick:!0,expression:u,location:ru()}},Ct=function(e,t){return{type:"labeled",label:e[0],labelLocation:e[1],expression:t,location:ru()}},mt=function(){return ru()},Ft=function(e){return Yu.indexOf(e[0])>=0&&nu("Label can't be a reserved word \"".concat(e[0],'"'),e[1]),e},vt=function(e,t){return{type:OPS_TO_PREFIXED_TYPES[e],expression:t,location:ru()}},_t=function(e,t){return{type:OPS_TO_SUFFIXED_TYPES[t],expression:e,location:ru()}},Dt=function(e,t,u){var r=t[0],n=t[1];return"constant"===n.type&&0===n.value&&nu("The maximum count of repetitions of the rule must be > 0",n.location),{type:"repeated",min:r,max:n,expression:e,delimiter:u,location:ru()}},$t=function(e,t){return[null!==e?e:{type:"constant",value:0},null!==t?t:{type:"constant",value:null}]},yt=function(e){return[null,e]},Bt=function(e){return{type:"constant",value:e,location:ru()}},St=function(e){return{type:"variable",value:e[0],location:ru()}},xt=function(e){return{type:"function",value:e[0],codeLocation:e[1],location:ru()}},Pt=function(e){return"labeled"===e.type||"sequence"===e.type?{type:"group",expression:e,location:ru()}:e},bt=function(e){return{type:"rule_ref",name:e[0],location:ru()}},Rt=function(e,t){return{type:OPS_TO_SEMANTIC_PREDICATE_TYPES[e],code:t[0],codeLocation:t[1],location:ru()}},Ot=function(e,t){return[e+t.join(""),ru()]},Lt=function(e,t){return{type:"literal",value:e,ignoreCase:null!==t,location:ru()}},Mt=function(e){return e.join("")},Tt=function(e){return e.join("")},wt=function(e,t,u){return{type:"class",parts:t.filter((function(e){return""!==e})),inverted:null!==e,ignoreCase:null!==u,location:ru()}},It=function(t,u){return t.charCodeAt(0)>u.charCodeAt(0)&&nu("Invalid character range: "+e.substring(Kt,Xt)+"."),[t,u]},Nt=function(){return""},kt=function(){return"\0"},Ht=function(){return"\b"},Ut=function(){return"\f"},jt=function(){return"\n"},Gt=function(){return"\r"},Vt=function(){return"\t"},zt=function(){return"\v"},Yt=function(e){return String.fromCharCode(parseInt(e,16))},Wt=function(e){return String.fromCharCode(parseInt(e,16))},Jt=function(){return{type:"any",location:ru()}},Qt=function(e){return[e,ru()]},qt=function(e){return parseInt(e,10)},Xt=0,Kt=0,Zt=[{line:1,column:1}],eu=0,tu=[],uu=0;if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');a=o[t.startRule]}function ru(){return cu(Kt,Xt)}function nu(e,t){throw function(e,t){return new peg$SyntaxError(e,null,null,t)}(e,t=void 0!==t?t:cu(Kt,Xt))}function ou(e,t){return{type:"literal",text:e,ignoreCase:t}}function au(e,t,u){return{type:"class",parts:e,inverted:t,ignoreCase:u}}function iu(e){return{type:"other",description:e}}function su(t){var u,r=Zt[t];if(r)return r;if(t>=Zt.length)u=Zt.length-1;else for(u=t;!Zt[--u];);for(r={line:(r=Zt[u]).line,column:r.column};ueu&&(eu=Xt,tu=[]),tu.push(e))}function pu(){var t,u,n,o,a,c;if(t=Xt,Vu(),u=Xt,n=function(){var t,u,n,o;return t=Xt,123===e.charCodeAt(Xt)?(u=i,Xt++):(u=r,0===uu&&lu(ne)),u!==r&&(n=ju())!==r?(125===e.charCodeAt(Xt)?(o=s,Xt++):(o=r,0===uu&&lu(oe)),o!==r&&zu()!==r?(Kt=t,t=pt(n)):(Xt=t,t=r)):(Xt=t,t=r),t}(),n!==r?(o=Vu(),u=n):(Xt=u,u=r),u===r&&(u=null),n=Xt,o=function(){var e,t;return e=Xt,(t=ju())!==r&&zu()!==r?(Kt=e,e=ft(t)):(Xt=e,e=r),e}(),o!==r?(a=Vu(),n=o):(Xt=n,n=r),n===r&&(n=null),o=[],a=Xt,(c=fu())!==r?(Vu(),a=c):(Xt=a,a=r),a!==r)for(;a!==r;)o.push(a),a=Xt,(c=fu())!==r?(Vu(),a=c):(Xt=a,a=r);else o=r;return o!==r?(Kt=t,t=lt(u,n,o)):(Xt=t,t=r),t}function fu(){var t,u,n,o,a;return t=Xt,(u=xu())!==r?(Vu(),n=Xt,(o=Ru())!==r?(Vu(),n=o):(Xt=n,n=r),n===r&&(n=null),61===e.charCodeAt(Xt)?(o=c,Xt++):(o=r,0===uu&&lu(ae)),o!==r?(Vu(),(a=Au())!==r&&zu()!==r?(Kt=t,t=At(u,n,a)):(Xt=t,t=r)):(Xt=t,t=r)):(Xt=t,t=r),t}function Au(){var t,u,n,o,a,i;if(t=Xt,(u=hu())!==r){for(n=[],o=Xt,Vu(),47===e.charCodeAt(Xt)?(a=l,Xt++):(a=r,0===uu&&lu(ie)),a!==r?(Vu(),(i=hu())!==r?o=i:(Xt=o,o=r)):(Xt=o,o=r);o!==r;)n.push(o),o=Xt,Vu(),47===e.charCodeAt(Xt)?(a=l,Xt++):(a=r,0===uu&&lu(ie)),a!==r?(Vu(),(i=hu())!==r?o=i:(Xt=o,o=r)):(Xt=o,o=r);Kt=t,t=ht(u,n)}else Xt=t,t=r;return t}function hu(){var e,t,u,n;return e=Xt,t=function(){var e,t,u,n,o;if(e=Xt,(t=du())!==r){for(u=[],n=Xt,Vu(),(o=du())!==r?n=o:(Xt=n,n=r);n!==r;)u.push(n),n=Xt,Vu(),(o=du())!==r?n=o:(Xt=n,n=r);Kt=e,e=gt(t,u)}else Xt=e,e=r;return e}(),t!==r?(u=Xt,Vu(),(n=ju())!==r?u=n:(Xt=u,u=r),u===r&&(u=null),Kt=e,e=dt(t,u)):(Xt=e,e=r),e}function du(){var t,u,n,o;return t=Xt,u=function(){var t,u;return t=Xt,64===e.charCodeAt(Xt)?(u=p,Xt++):(u=r,0===uu&&lu(se)),u!==r&&(Kt=t,u=mt()),t=u}(),u!==r?((n=gu())===r&&(n=null),(o=Eu())!==r?(Kt=t,t=Et(u,n,o)):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=Xt,(u=gu())!==r?(n=Vu(),(o=Eu())!==r?(Kt=t,t=Ct(u,o)):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=Eu())),t}function gu(){var t,u,n;return t=Xt,(u=xu())!==r?(Vu(),58===e.charCodeAt(Xt)?(n=f,Xt++):(n=r,0===uu&&lu(ce)),n!==r?(Kt=t,t=Ft(u)):(Xt=t,t=r)):(Xt=t,t=r),t}function Eu(){var t,u,n;return t=Xt,u=function(){var t;return t=e.charAt(Xt),j.test(t)?Xt++:(t=r,0===uu&&lu(le)),t}(),u!==r?(Vu(),(n=Cu())!==r?(Kt=t,t=vt(u,n)):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=Cu()),t}function Cu(){var t,u,n;return t=Xt,(u=Fu())!==r?(Vu(),n=function(){var t;return t=e.charAt(Xt),G.test(t)?Xt++:(t=r,0===uu&&lu(pe)),t}(),n!==r?(Kt=t,t=_t(u,n)):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=function(){var t,u,n,o,a,i,s;return t=Xt,(u=Fu())!==r?(Vu(),124===e.charCodeAt(Xt)?(n=A,Xt++):(n=r,0===uu&&lu(fe)),n!==r?(Vu(),o=function(){var t,u,n,o;return t=Xt,(u=mu())===r&&(u=null),Vu(),e.substr(Xt,2)===d?(n=d,Xt+=2):(n=r,0===uu&&lu(he)),n!==r?(Vu(),(o=mu())===r&&(o=null),Kt=t,t=$t(u,o)):(Xt=t,t=r),t===r&&(t=Xt,(u=mu())!==r&&(Kt=t,u=yt(u)),t=u),t}(),o!==r?(Vu(),a=Xt,44===e.charCodeAt(Xt)?(i=h,Xt++):(i=r,0===uu&&lu(Ae)),i!==r?(Vu(),(s=Au())!==r?(Vu(),a=s):(Xt=a,a=r)):(Xt=a,a=r),a===r&&(a=null),124===e.charCodeAt(Xt)?(i=A,Xt++):(i=r,0===uu&&lu(fe)),i!==r?(Kt=t,t=Dt(u,o,a)):(Xt=t,t=r)):(Xt=t,t=r)):(Xt=t,t=r)):(Xt=t,t=r),t}(),t===r&&(t=Fu())),t}function mu(){var t,u;return t=Xt,u=function(){var t,u,n,o;if(t=Xt,u=Xt,n=[],(o=Hu())!==r)for(;o!==r;)n.push(o),o=Hu();else n=r;return(u=n!==r?e.substring(u,Xt):n)!==r&&(Kt=t,u=qt(u)),t=u}(),u!==r&&(Kt=t,u=Bt(u)),(t=u)===r&&(t=Xt,(u=xu())!==r&&(Kt=t,u=St(u)),(t=u)===r&&(t=Xt,(u=ju())!==r&&(Kt=t,u=xt(u)),t=u)),t}function Fu(){var t,u,n,o;return t=function(){var t,u,n;return uu++,t=Xt,(u=Ru())!==r?(105===e.charCodeAt(Xt)?(n=$,Xt++):(n=r,0===uu&&lu(Te)),n===r&&(n=null),Kt=t,t=Lt(u,n)):(Xt=t,t=r),uu--,t===r&&(u=r,0===uu&&lu(Me)),t}(),t===r&&(t=function(){var t,u,n,o,a,i;if(uu++,t=Xt,91===e.charCodeAt(Xt)?(u=S,Xt++):(u=r,0===uu&&lu(je)),u!==r){for(94===e.charCodeAt(Xt)?(n=x,Xt++):(n=r,0===uu&&lu(Ge)),n===r&&(n=null),o=[],(a=Mu())===r&&(a=Tu());a!==r;)o.push(a),(a=Mu())===r&&(a=Tu());93===e.charCodeAt(Xt)?(a=P,Xt++):(a=r,0===uu&&lu(Ve)),a!==r?(105===e.charCodeAt(Xt)?(i=$,Xt++):(i=r,0===uu&&lu(Te)),i===r&&(i=null),Kt=t,t=wt(n,o,i)):(Xt=t,t=r)}else Xt=t,t=r;return uu--,t===r&&(u=r,0===uu&&lu(Ue)),t}(),t===r&&(t=function(){var t,u;return t=Xt,46===e.charCodeAt(Xt)?(u=H,Xt++):(u=r,0===uu&&lu(at)),u!==r&&(Kt=t,u=Jt()),t=u}(),t===r&&(t=function(){var t,u,n,o,a,i,s;return t=Xt,(u=xu())!==r?(n=Xt,uu++,o=Xt,a=Vu(),i=Xt,(s=Ru())!==r?i=s=[s,Vu()]:(Xt=i,i=r),i===r&&(i=null),61===e.charCodeAt(Xt)?(s=c,Xt++):(s=r,0===uu&&lu(ae)),s!==r?o=a=[a,i,s]:(Xt=o,o=r),uu--,o===r?n=void 0:(Xt=n,n=r),n!==r?(Kt=t,t=bt(u)):(Xt=t,t=r)):(Xt=t,t=r),t}(),t===r&&(t=function(){var t,u,n;return t=Xt,u=function(){var t;return t=e.charAt(Xt),V.test(t)?Xt++:(t=r,0===uu&&lu(Ee)),t}(),u!==r?(Vu(),(n=ju())!==r?(Kt=t,t=Rt(u,n)):(Xt=t,t=r)):(Xt=t,t=r),t}(),t===r&&(t=Xt,40===e.charCodeAt(Xt)?(u=g,Xt++):(u=r,0===uu&&lu(de)),u!==r?(Vu(),(n=Au())!==r?(Vu(),41===e.charCodeAt(Xt)?(o=E,Xt++):(o=r,0===uu&&lu(ge)),o!==r?(Kt=t,t=Pt(n)):(Xt=t,t=r)):(Xt=t,t=r)):(Xt=t,t=r)))))),t}function vu(){var t;return e.length>Xt?(t=e.charAt(Xt),Xt++):(t=r,0===uu&&lu(Ce)),t}function _u(){var t;return uu++,t=e.charAt(Xt),z.test(t)?Xt++:(t=r,0===uu&&lu(Fe)),uu--,t===r&&0===uu&&lu(me),t}function Du(){var t;return t=e.charAt(Xt),Y.test(t)?Xt++:(t=r,0===uu&&lu(ve)),t}function $u(){var t;return uu++,10===e.charCodeAt(Xt)?(t=C,Xt++):(t=r,0===uu&&lu(De)),t===r&&(e.substr(Xt,2)===m?(t=m,Xt+=2):(t=r,0===uu&&lu($e)),t===r&&(t=e.charAt(Xt),W.test(t)?Xt++:(t=r,0===uu&&lu(ye)))),uu--,t===r&&0===uu&&lu(_e),t}function yu(){var t;return uu++,(t=function(){var t,u,n,o,a,i;if(t=Xt,e.substr(Xt,2)===F?(u=F,Xt+=2):(u=r,0===uu&&lu(Se)),u!==r){for(n=[],o=Xt,a=Xt,uu++,e.substr(Xt,2)===v?(i=v,Xt+=2):(i=r,0===uu&&lu(xe)),uu--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=vu())!==r?o=a=[a,i]:(Xt=o,o=r);o!==r;)n.push(o),o=Xt,a=Xt,uu++,e.substr(Xt,2)===v?(i=v,Xt+=2):(i=r,0===uu&&lu(xe)),uu--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=vu())!==r?o=a=[a,i]:(Xt=o,o=r);e.substr(Xt,2)===v?(o=v,Xt+=2):(o=r,0===uu&&lu(xe)),o!==r?t=u=[u,n,o]:(Xt=t,t=r)}else Xt=t,t=r;return t}())===r&&(t=Su()),uu--,t===r&&0===uu&&lu(Be),t}function Bu(){var t,u,n,o,a,i;if(t=Xt,e.substr(Xt,2)===F?(u=F,Xt+=2):(u=r,0===uu&&lu(Se)),u!==r){for(n=[],o=Xt,a=Xt,uu++,e.substr(Xt,2)===v?(i=v,Xt+=2):(i=r,0===uu&&lu(xe)),i===r&&(i=Du()),uu--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=vu())!==r?o=a=[a,i]:(Xt=o,o=r);o!==r;)n.push(o),o=Xt,a=Xt,uu++,e.substr(Xt,2)===v?(i=v,Xt+=2):(i=r,0===uu&&lu(xe)),i===r&&(i=Du()),uu--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=vu())!==r?o=a=[a,i]:(Xt=o,o=r);e.substr(Xt,2)===v?(o=v,Xt+=2):(o=r,0===uu&&lu(xe)),o!==r?t=u=[u,n,o]:(Xt=t,t=r)}else Xt=t,t=r;return t}function Su(){var t,u,n,o,a,i;if(t=Xt,e.substr(Xt,2)===_?(u=_,Xt+=2):(u=r,0===uu&&lu(Pe)),u!==r){for(n=[],o=Xt,a=Xt,uu++,i=Du(),uu--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=vu())!==r?o=a=[a,i]:(Xt=o,o=r);o!==r;)n.push(o),o=Xt,a=Xt,uu++,i=Du(),uu--,i===r?a=void 0:(Xt=a,a=r),a!==r&&(i=vu())!==r?o=a=[a,i]:(Xt=o,o=r);t=u=[u,n]}else Xt=t,t=r;return t}function xu(){var e,t,u,n;if(uu++,e=Xt,(t=Pu())!==r){for(u=[],n=bu();n!==r;)u.push(n),n=bu();Kt=e,e=Ot(t,u)}else Xt=e,e=r;return uu--,e===r&&(t=r,0===uu&&lu(be)),e}function Pu(){var t,u,n;return t=e.charAt(Xt),J.test(t)?Xt++:(t=r,0===uu&&lu(Re)),t===r&&(t=Xt,92===e.charCodeAt(Xt)?(u=D,Xt++):(u=r,0===uu&&lu(Oe)),u!==r&&(n=ku())!==r?t=n:(Xt=t,t=r)),t}function bu(){var t;return(t=Pu())===r&&(t=e.charAt(Xt),Q.test(t)?Xt++:(t=r,0===uu&&lu(Le))),t}function Ru(){var t,u,n,o;if(uu++,t=Xt,34===e.charCodeAt(Xt)?(u=y,Xt++):(u=r,0===uu&&lu(Ie)),u!==r){for(n=[],o=Ou();o!==r;)n.push(o),o=Ou();34===e.charCodeAt(Xt)?(o=y,Xt++):(o=r,0===uu&&lu(Ie)),o!==r?(Kt=t,t=Mt(n)):(Xt=t,t=r)}else Xt=t,t=r;if(t===r)if(t=Xt,39===e.charCodeAt(Xt)?(u=B,Xt++):(u=r,0===uu&&lu(Ne)),u!==r){for(n=[],o=Lu();o!==r;)n.push(o),o=Lu();39===e.charCodeAt(Xt)?(o=B,Xt++):(o=r,0===uu&&lu(Ne)),o!==r?(Kt=t,t=Tt(n)):(Xt=t,t=r)}else Xt=t,t=r;return uu--,t===r&&(u=r,0===uu&&lu(we)),t}function Ou(){var t,u,n,o;return t=Xt,u=Xt,n=Xt,uu++,o=e.charAt(Xt),q.test(o)?Xt++:(o=r,0===uu&&lu(ke)),uu--,o===r?n=void 0:(Xt=n,n=r),n!==r&&(o=vu())!==r?u=n=[n,o]:(Xt=u,u=r),(t=u!==r?e.substring(t,Xt):u)===r&&(t=Xt,92===e.charCodeAt(Xt)?(u=D,Xt++):(u=r,0===uu&&lu(Oe)),u!==r&&(n=Iu())!==r?t=n:(Xt=t,t=r),t===r&&(t=wu())),t}function Lu(){var t,u,n,o;return t=Xt,u=Xt,n=Xt,uu++,o=e.charAt(Xt),X.test(o)?Xt++:(o=r,0===uu&&lu(He)),uu--,o===r?n=void 0:(Xt=n,n=r),n!==r&&(o=vu())!==r?u=n=[n,o]:(Xt=u,u=r),(t=u!==r?e.substring(t,Xt):u)===r&&(t=Xt,92===e.charCodeAt(Xt)?(u=D,Xt++):(u=r,0===uu&&lu(Oe)),u!==r&&(n=Iu())!==r?t=n:(Xt=t,t=r),t===r&&(t=wu())),t}function Mu(){var t,u,n,o;return t=Xt,(u=Tu())!==r?(45===e.charCodeAt(Xt)?(n=b,Xt++):(n=r,0===uu&&lu(ze)),n!==r&&(o=Tu())!==r?(Kt=t,t=It(u,o)):(Xt=t,t=r)):(Xt=t,t=r),t}function Tu(){var t,u,n,o;return t=Xt,u=Xt,n=Xt,uu++,o=e.charAt(Xt),K.test(o)?Xt++:(o=r,0===uu&&lu(Ye)),uu--,o===r?n=void 0:(Xt=n,n=r),n!==r&&(o=vu())!==r?u=n=[n,o]:(Xt=u,u=r),(t=u!==r?e.substring(t,Xt):u)===r&&(t=Xt,92===e.charCodeAt(Xt)?(u=D,Xt++):(u=r,0===uu&&lu(Oe)),u!==r&&(n=Iu())!==r?t=n:(Xt=t,t=r),t===r&&(t=wu())),t}function wu(){var t,u;return t=Xt,92===e.charCodeAt(Xt)?(u=D,Xt++):(u=r,0===uu&&lu(Oe)),u!==r&&$u()!==r?(Kt=t,t=Nt()):(Xt=t,t=r),t}function Iu(){var t,u,n,o;return t=function(){var t;return(t=Nu())===r&&(t=function(){var t,u,n,o;return t=Xt,u=Xt,n=Xt,uu++,o=function(){var t;return(t=Nu())===r&&(t=e.charAt(Xt),ee.test(t)?Xt++:(t=r,0===uu&&lu(tt))),t}(),o===r&&(o=Du()),uu--,o===r?n=void 0:(Xt=n,n=r),n!==r&&(o=vu())!==r?u=n=[n,o]:(Xt=u,u=r),t=u!==r?e.substring(t,Xt):u}()),t}(),t===r&&(t=Xt,48===e.charCodeAt(Xt)?(u=R,Xt++):(u=r,0===uu&&lu(We)),u!==r?(n=Xt,uu++,o=Hu(),uu--,o===r?n=void 0:(Xt=n,n=r),n!==r?(Kt=t,t=kt()):(Xt=t,t=r)):(Xt=t,t=r),t===r&&(t=function(){var t,u,n,o,a,i;return t=Xt,120===e.charCodeAt(Xt)?(u=N,Xt++):(u=r,0===uu&&lu(ut)),u!==r?(n=Xt,o=Xt,(a=Uu())!==r&&(i=Uu())!==r?o=a=[a,i]:(Xt=o,o=r),(n=o!==r?e.substring(n,Xt):o)!==r?(Kt=t,t=Yt(n)):(Xt=t,t=r)):(Xt=t,t=r),t}(),t===r&&(t=ku()))),t}function Nu(){var t,u;return t=e.charAt(Xt),Z.test(t)?Xt++:(t=r,0===uu&&lu(Je)),t===r&&(t=Xt,98===e.charCodeAt(Xt)?(u=O,Xt++):(u=r,0===uu&&lu(Qe)),u!==r&&(Kt=t,u=Ht()),(t=u)===r&&(t=Xt,102===e.charCodeAt(Xt)?(u=L,Xt++):(u=r,0===uu&&lu(qe)),u!==r&&(Kt=t,u=Ut()),(t=u)===r&&(t=Xt,110===e.charCodeAt(Xt)?(u=M,Xt++):(u=r,0===uu&&lu(Xe)),u!==r&&(Kt=t,u=jt()),(t=u)===r&&(t=Xt,114===e.charCodeAt(Xt)?(u=T,Xt++):(u=r,0===uu&&lu(Ke)),u!==r&&(Kt=t,u=Gt()),(t=u)===r&&(t=Xt,116===e.charCodeAt(Xt)?(u=w,Xt++):(u=r,0===uu&&lu(Ze)),u!==r&&(Kt=t,u=Vt()),(t=u)===r&&(t=Xt,118===e.charCodeAt(Xt)?(u=I,Xt++):(u=r,0===uu&&lu(et)),u!==r&&(Kt=t,u=zt()),t=u)))))),t}function ku(){var t,u,n,o,a,i,s,c;return t=Xt,117===e.charCodeAt(Xt)?(u=k,Xt++):(u=r,0===uu&&lu(rt)),u!==r?(n=Xt,o=Xt,(a=Uu())!==r&&(i=Uu())!==r&&(s=Uu())!==r&&(c=Uu())!==r?o=a=[a,i,s,c]:(Xt=o,o=r),(n=o!==r?e.substring(n,Xt):o)!==r?(Kt=t,t=Wt(n)):(Xt=t,t=r)):(Xt=t,t=r),t}function Hu(){var t;return t=e.charAt(Xt),te.test(t)?Xt++:(t=r,0===uu&&lu(nt)),t}function Uu(){var t;return t=e.charAt(Xt),ue.test(t)?Xt++:(t=r,0===uu&&lu(ot)),t}function ju(){var t,u,n,o;return uu++,t=Xt,123===e.charCodeAt(Xt)?(u=i,Xt++):(u=r,0===uu&&lu(ne)),u!==r?(n=function(){var e,t;return e=Xt,t=Gu(),Kt=e,e=t=Qt(t)}(),125===e.charCodeAt(Xt)?(o=s,Xt++):(o=r,0===uu&&lu(oe)),o!==r?t=n:(Xt=t,t=r)):(Xt=t,t=r),uu--,t===r&&(u=r,0===uu&&lu(it)),t}function Gu(){var t,u,n,o,a,c;if(t=Xt,u=[],n=[],o=Xt,a=Xt,uu++,c=e.charAt(Xt),re.test(c)?Xt++:(c=r,0===uu&&lu(st)),uu--,c===r?a=void 0:(Xt=a,a=r),a!==r&&(c=vu())!==r?o=a=[a,c]:(Xt=o,o=r),o!==r)for(;o!==r;)n.push(o),o=Xt,a=Xt,uu++,c=e.charAt(Xt),re.test(c)?Xt++:(c=r,0===uu&&lu(st)),uu--,c===r?a=void 0:(Xt=a,a=r),a!==r&&(c=vu())!==r?o=a=[a,c]:(Xt=o,o=r);else n=r;for(n===r&&(n=Xt,123===e.charCodeAt(Xt)?(o=i,Xt++):(o=r,0===uu&&lu(ne)),o!==r?(a=Gu(),125===e.charCodeAt(Xt)?(c=s,Xt++):(c=r,0===uu&&lu(oe)),c!==r?n=o=[o,a,c]:(Xt=n,n=r)):(Xt=n,n=r));n!==r;){if(u.push(n),n=[],o=Xt,a=Xt,uu++,c=e.charAt(Xt),re.test(c)?Xt++:(c=r,0===uu&&lu(st)),uu--,c===r?a=void 0:(Xt=a,a=r),a!==r&&(c=vu())!==r?o=a=[a,c]:(Xt=o,o=r),o!==r)for(;o!==r;)n.push(o),o=Xt,a=Xt,uu++,c=e.charAt(Xt),re.test(c)?Xt++:(c=r,0===uu&&lu(st)),uu--,c===r?a=void 0:(Xt=a,a=r),a!==r&&(c=vu())!==r?o=a=[a,c]:(Xt=o,o=r);else n=r;n===r&&(n=Xt,123===e.charCodeAt(Xt)?(o=i,Xt++):(o=r,0===uu&&lu(ne)),o!==r?(a=Gu(),125===e.charCodeAt(Xt)?(c=s,Xt++):(c=r,0===uu&&lu(oe)),c!==r?n=o=[o,a,c]:(Xt=n,n=r)):(Xt=n,n=r))}return e.substring(t,Xt)}function Vu(){var e,t;for(e=[],(t=_u())===r&&(t=$u())===r&&(t=yu());t!==r;)e.push(t),(t=_u())===r&&(t=$u())===r&&(t=yu());return e}function zu(){var t,u,n,o;if(t=[],u=Xt,n=Vu(),59===e.charCodeAt(Xt)?(o=U,Xt++):(o=r,0===uu&&lu(ct)),o!==r?u=n=[n,o]:(Xt=u,u=r),u!==r)for(;u!==r;)t.push(u),u=Xt,n=Vu(),59===e.charCodeAt(Xt)?(o=U,Xt++):(o=r,0===uu&&lu(ct)),o!==r?u=n=[n,o]:(Xt=u,u=r);else t=r;return t===r&&(t=Xt,u=function(){var e,t;for(e=[],(t=_u())===r&&(t=Bu());t!==r;)e.push(t),(t=_u())===r&&(t=Bu());return e}(),(n=Su())===r&&(n=null),(o=$u())!==r?t=u=[u,n,o]:(Xt=t,t=r),t===r&&(t=Xt,u=Vu(),n=function(){var t,u;return t=Xt,uu++,e.length>Xt?(u=e.charAt(Xt),Xt++):(u=r,0===uu&&lu(Ce)),uu--,u===r?t=void 0:(Xt=t,t=r),t}(),n!==r?t=u=[u,n]:(Xt=t,t=r))),t}var Yu=t.reservedWords||[];if((u=a())!==r&&Xt===e.length)return u;throw u!==r&&Xt0){for(t=1,u=1;t targetLength) { return str; } + targetLength -= str.length; + padString += padString.repeat(targetLength); + return str + padString.slice(0, targetLength); +} + +peg$SyntaxError.prototype.format = function(sources) { + var str = "Error: " + this.message; + if (this.location) { + var src = null; + var k; + for (k = 0; k < sources.length; k++) { + if (sources[k].source === this.location.source) { + src = sources[k].text.split(/\r\n|\n|\r/g); + break; + } + } + var s = this.location.start; + var offset_s = (this.location.source && (typeof this.location.source.offset === "function")) + ? this.location.source.offset(s) + : s; + var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column; + if (src) { + var e = this.location.end; + var filler = peg$padEnd("", offset_s.line.toString().length, ' '); + var line = src[s.line - 1]; + var last = s.line === e.line ? e.column : line.length + 1; + var hatLen = (last - s.column) || 1; + str += "\n --> " + loc + "\n" + + filler + " |\n" + + offset_s.line + " | " + line + "\n" + + filler + " | " + peg$padEnd("", s.column - 1, ' ') + + peg$padEnd("", hatLen, "^"); + } else { + str += "\n at " + loc; + } + } + return str; +}; + +peg$SyntaxError.buildMessage = function(expected, found) { + var DESCRIBE_EXPECTATION_FNS = { + literal: function(expectation) { + return "\"" + literalEscape(expectation.text) + "\""; + }, + + class: function(expectation) { + var escapedParts = expectation.parts.map(function(part) { + return Array.isArray(part) + ? classEscape(part[0]) + "-" + classEscape(part[1]) + : classEscape(part); + }); + + return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]"; + }, + + any: function() { + return "any character"; + }, + + end: function() { + return "end of input"; + }, + + other: function(expectation) { + return expectation.description; + } + }; + + function hex(ch) { + return ch.charCodeAt(0).toString(16).toUpperCase(); + } + + function literalEscape(s) { + return s + .replace(/\\/g, "\\\\") + .replace(/"/g, "\\\"") + .replace(/\0/g, "\\0") + .replace(/\t/g, "\\t") + .replace(/\n/g, "\\n") + .replace(/\r/g, "\\r") + .replace(/[\x00-\x0F]/g, function(ch) { return "\\x0" + hex(ch); }) + .replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); + } + + function classEscape(s) { + return s + .replace(/\\/g, "\\\\") + .replace(/\]/g, "\\]") + .replace(/\^/g, "\\^") + .replace(/-/g, "\\-") + .replace(/\0/g, "\\0") + .replace(/\t/g, "\\t") + .replace(/\n/g, "\\n") + .replace(/\r/g, "\\r") + .replace(/[\x00-\x0F]/g, function(ch) { return "\\x0" + hex(ch); }) + .replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); + } + + function describeExpectation(expectation) { + return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation); + } + + function describeExpected(expected) { + var descriptions = expected.map(describeExpectation); + var i, j; + + descriptions.sort(); + + if (descriptions.length > 0) { + for (i = 1, j = 1; i < descriptions.length; i++) { + if (descriptions[i - 1] !== descriptions[i]) { + descriptions[j] = descriptions[i]; + j++; + } + } + descriptions.length = j; + } + + switch (descriptions.length) { + case 1: + return descriptions[0]; + + case 2: + return descriptions[0] + " or " + descriptions[1]; + + default: + return descriptions.slice(0, -1).join(", ") + + ", or " + + descriptions[descriptions.length - 1]; + } + } + + function describeFound(found) { + return found ? "\"" + literalEscape(found) + "\"" : "end of input"; + } + + return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found."; +}; + +function peg$parse(input, options) { + options = options !== undefined ? options : {}; + + var peg$FAILED = {}; + var peg$source = options.grammarSource; + + var peg$startRuleFunctions = { JSSource: peg$parseJSSource }; + var peg$startRuleFunction = peg$parseJSSource; + + var peg$c0 = "import"; + var peg$c1 = ";"; + var peg$c2 = ","; + var peg$c3 = "*"; + var peg$c4 = "as"; + var peg$c5 = "{"; + var peg$c6 = "}"; + var peg$c7 = "from"; + var peg$c8 = "="; + var peg$c9 = "/"; + var peg$c10 = "@"; + var peg$c11 = ":"; + var peg$c12 = "|"; + var peg$c13 = ".."; + var peg$c14 = "("; + var peg$c15 = ")"; + var peg$c16 = "\n"; + var peg$c17 = "\r\n"; + var peg$c18 = "/*"; + var peg$c19 = "*/"; + var peg$c20 = "//"; + var peg$c21 = "\\"; + var peg$c22 = "i"; + var peg$c23 = "\""; + var peg$c24 = "'"; + var peg$c25 = "["; + var peg$c26 = "^"; + var peg$c27 = "]"; + var peg$c28 = "-"; + var peg$c29 = "0"; + var peg$c30 = "b"; + var peg$c31 = "f"; + var peg$c32 = "n"; + var peg$c33 = "r"; + var peg$c34 = "t"; + var peg$c35 = "v"; + var peg$c36 = "x"; + var peg$c37 = "u"; + var peg$c38 = "."; + + var peg$r0 = /^[!$&]/; + var peg$r1 = /^[*-+?]/; + var peg$r2 = /^[!&]/; + var peg$r3 = /^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/; + var peg$r4 = /^[\n\r\u2028\u2029]/; + var peg$r5 = /^[\r\u2028-\u2029]/; + var peg$r6 = /^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/; + var peg$r7 = /^[$0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F1\uA900-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/; + var peg$r8 = /^[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/; + var peg$r9 = /^[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A70-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/; + var peg$r10 = /^[\n\r"\\\u2028-\u2029]/; + var peg$r11 = /^[\n\r'\\\u2028-\u2029]/; + var peg$r12 = /^[\n\r\\-\]\u2028-\u2029]/; + var peg$r13 = /^["'\\]/; + var peg$r14 = /^[0-9ux]/; + var peg$r15 = /^[0-9]/; + var peg$r16 = /^[0-9a-f]/i; + var peg$r17 = /^[{}]/; + var peg$r18 = /^[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137-\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148-\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C-\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA-\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9-\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC-\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF-\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F-\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0-\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB-\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE-\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6-\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FC7\u1FD0-\u1FD3\u1FD6-\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6-\u1FF7\u210A\u210E-\u210F\u2113\u212F\u2134\u2139\u213C-\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65-\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73-\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3-\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]/; + var peg$r19 = /^[\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5-\u06E6\u07F4-\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C-\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D-\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C-\uA69D\uA717-\uA71F\uA770\uA788\uA7F8-\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3-\uAAF4\uAB5C-\uAB5F\uFF70\uFF9E-\uFF9F]/; + var peg$r20 = /^[\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05F0-\u05F2\u0620-\u063F\u0641-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10D0-\u10FA\u10FD-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A-\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/; + var peg$r21 = /^[\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]/; + var peg$r22 = /^[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178-\u0179\u017B\u017D\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A0\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01AF\u01B1-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A-\u023B\u023D-\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9-\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0-\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E-\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D-\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A]/; + var peg$r23 = /^[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E-\u094F\u0982-\u0983\u09BE-\u09C0\u09C7-\u09C8\u09CB-\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB-\u0ACC\u0B02-\u0B03\u0B3E\u0B40\u0B47-\u0B48\u0B4B-\u0B4C\u0B57\u0BBE-\u0BBF\u0BC1-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82-\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7-\u0CC8\u0CCA-\u0CCB\u0CD5-\u0CD6\u0D02-\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82-\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2-\u0DF3\u0F3E-\u0F3F\u0F7F\u102B-\u102C\u1031\u1038\u103B-\u103C\u1056-\u1057\u1062-\u1064\u1067-\u106D\u1083-\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6\u17BE-\u17C5\u17C7-\u17C8\u1923-\u1926\u1929-\u192B\u1930-\u1931\u1933-\u1938\u1A19-\u1A1A\u1A55\u1A57\u1A61\u1A63-\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B44\u1B82\u1BA1\u1BA6-\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2-\u1BF3\u1C24-\u1C2B\u1C34-\u1C35\u1CE1\u1CF2-\u1CF3\u302E-\u302F\uA823-\uA824\uA827\uA880-\uA881\uA8B4-\uA8C3\uA952-\uA953\uA983\uA9B4-\uA9B5\uA9BA-\uA9BB\uA9BD-\uA9C0\uAA2F-\uAA30\uAA33-\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE-\uAAEF\uAAF5\uABE3-\uABE4\uABE6-\uABE7\uABE9-\uABEA\uABEC]/; + var peg$r24 = /^[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962-\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2-\u09E3\u0A01-\u0A02\u0A3C\u0A41-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A70-\u0A71\u0A75\u0A81-\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7-\u0AC8\u0ACD\u0AE2-\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B56\u0B62-\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC-\u0CCD\u0CE2-\u0CE3\u0D01\u0D41-\u0D44\u0D4D\u0D62-\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039-\u103A\u103D-\u103E\u1058-\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193B\u1A17-\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80-\u1B81\u1BA2-\u1BA5\u1BA8-\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8-\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099-\u309A\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA825-\uA826\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9E5\uAA29-\uAA2E\uAA31-\uAA32\uAA35-\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEC-\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/; + var peg$r25 = /^[0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]/; + var peg$r26 = /^[\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]/; + var peg$r27 = /^[_\u203F-\u2040\u2054\uFE33-\uFE34\uFE4D-\uFE4F\uFF3F]/; + var peg$r28 = /^[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/; + + var peg$e0 = peg$literalExpectation("import", false); + var peg$e1 = peg$literalExpectation(";", false); + var peg$e2 = peg$literalExpectation(",", false); + var peg$e3 = peg$literalExpectation("*", false); + var peg$e4 = peg$literalExpectation("as", false); + var peg$e5 = peg$literalExpectation("{", false); + var peg$e6 = peg$literalExpectation("}", false); + var peg$e7 = peg$literalExpectation("from", false); + var peg$e8 = peg$literalExpectation("=", false); + var peg$e9 = peg$literalExpectation("/", false); + var peg$e10 = peg$literalExpectation("@", false); + var peg$e11 = peg$literalExpectation(":", false); + var peg$e12 = peg$classExpectation(["!", "$", "&"], false, false); + var peg$e13 = peg$classExpectation([["*", "+"], "?"], false, false); + var peg$e14 = peg$literalExpectation("|", false); + var peg$e15 = peg$literalExpectation("..", false); + var peg$e16 = peg$literalExpectation("(", false); + var peg$e17 = peg$literalExpectation(")", false); + var peg$e18 = peg$classExpectation(["!", "&"], false, false); + var peg$e19 = peg$anyExpectation(); + var peg$e20 = peg$otherExpectation("whitespace"); + var peg$e21 = peg$classExpectation(["\t", ["\v", "\f"], " ", "\xA0", "\u1680", ["\u2000", "\u200A"], "\u202F", "\u205F", "\u3000", "\uFEFF"], false, false); + var peg$e22 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], false, false); + var peg$e23 = peg$otherExpectation("end of line"); + var peg$e24 = peg$literalExpectation("\n", false); + var peg$e25 = peg$literalExpectation("\r\n", false); + var peg$e26 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false); + var peg$e27 = peg$otherExpectation("comment"); + var peg$e28 = peg$literalExpectation("/*", false); + var peg$e29 = peg$literalExpectation("*/", false); + var peg$e30 = peg$literalExpectation("//", false); + var peg$e31 = peg$otherExpectation("identifier"); + var peg$e32 = peg$classExpectation([["A", "Z"], "_", ["a", "z"], "\xAA", "\xB5", "\xBA", ["\xC0", "\xD6"], ["\xD8", "\xF6"], ["\xF8", "\u02C1"], ["\u02C6", "\u02D1"], ["\u02E0", "\u02E4"], "\u02EC", "\u02EE", ["\u0370", "\u0374"], ["\u0376", "\u0377"], ["\u037A", "\u037D"], "\u037F", "\u0386", ["\u0388", "\u038A"], "\u038C", ["\u038E", "\u03A1"], ["\u03A3", "\u03F5"], ["\u03F7", "\u0481"], ["\u048A", "\u052F"], ["\u0531", "\u0556"], "\u0559", ["\u0561", "\u0587"], ["\u05D0", "\u05EA"], ["\u05F0", "\u05F2"], ["\u0620", "\u064A"], ["\u066E", "\u066F"], ["\u0671", "\u06D3"], "\u06D5", ["\u06E5", "\u06E6"], ["\u06EE", "\u06EF"], ["\u06FA", "\u06FC"], "\u06FF", "\u0710", ["\u0712", "\u072F"], ["\u074D", "\u07A5"], "\u07B1", ["\u07CA", "\u07EA"], ["\u07F4", "\u07F5"], "\u07FA", ["\u0800", "\u0815"], "\u081A", "\u0824", "\u0828", ["\u0840", "\u0858"], ["\u08A0", "\u08B4"], ["\u0904", "\u0939"], "\u093D", "\u0950", ["\u0958", "\u0961"], ["\u0971", "\u0980"], ["\u0985", "\u098C"], ["\u098F", "\u0990"], ["\u0993", "\u09A8"], ["\u09AA", "\u09B0"], "\u09B2", ["\u09B6", "\u09B9"], "\u09BD", "\u09CE", ["\u09DC", "\u09DD"], ["\u09DF", "\u09E1"], ["\u09F0", "\u09F1"], ["\u0A05", "\u0A0A"], ["\u0A0F", "\u0A10"], ["\u0A13", "\u0A28"], ["\u0A2A", "\u0A30"], ["\u0A32", "\u0A33"], ["\u0A35", "\u0A36"], ["\u0A38", "\u0A39"], ["\u0A59", "\u0A5C"], "\u0A5E", ["\u0A72", "\u0A74"], ["\u0A85", "\u0A8D"], ["\u0A8F", "\u0A91"], ["\u0A93", "\u0AA8"], ["\u0AAA", "\u0AB0"], ["\u0AB2", "\u0AB3"], ["\u0AB5", "\u0AB9"], "\u0ABD", "\u0AD0", ["\u0AE0", "\u0AE1"], "\u0AF9", ["\u0B05", "\u0B0C"], ["\u0B0F", "\u0B10"], ["\u0B13", "\u0B28"], ["\u0B2A", "\u0B30"], ["\u0B32", "\u0B33"], ["\u0B35", "\u0B39"], "\u0B3D", ["\u0B5C", "\u0B5D"], ["\u0B5F", "\u0B61"], "\u0B71", "\u0B83", ["\u0B85", "\u0B8A"], ["\u0B8E", "\u0B90"], ["\u0B92", "\u0B95"], ["\u0B99", "\u0B9A"], "\u0B9C", ["\u0B9E", "\u0B9F"], ["\u0BA3", "\u0BA4"], ["\u0BA8", "\u0BAA"], ["\u0BAE", "\u0BB9"], "\u0BD0", ["\u0C05", "\u0C0C"], ["\u0C0E", "\u0C10"], ["\u0C12", "\u0C28"], ["\u0C2A", "\u0C39"], "\u0C3D", ["\u0C58", "\u0C5A"], ["\u0C60", "\u0C61"], ["\u0C85", "\u0C8C"], ["\u0C8E", "\u0C90"], ["\u0C92", "\u0CA8"], ["\u0CAA", "\u0CB3"], ["\u0CB5", "\u0CB9"], "\u0CBD", "\u0CDE", ["\u0CE0", "\u0CE1"], ["\u0CF1", "\u0CF2"], ["\u0D05", "\u0D0C"], ["\u0D0E", "\u0D10"], ["\u0D12", "\u0D3A"], "\u0D3D", "\u0D4E", ["\u0D5F", "\u0D61"], ["\u0D7A", "\u0D7F"], ["\u0D85", "\u0D96"], ["\u0D9A", "\u0DB1"], ["\u0DB3", "\u0DBB"], "\u0DBD", ["\u0DC0", "\u0DC6"], ["\u0E01", "\u0E30"], ["\u0E32", "\u0E33"], ["\u0E40", "\u0E46"], ["\u0E81", "\u0E82"], "\u0E84", ["\u0E87", "\u0E88"], "\u0E8A", "\u0E8D", ["\u0E94", "\u0E97"], ["\u0E99", "\u0E9F"], ["\u0EA1", "\u0EA3"], "\u0EA5", "\u0EA7", ["\u0EAA", "\u0EAB"], ["\u0EAD", "\u0EB0"], ["\u0EB2", "\u0EB3"], "\u0EBD", ["\u0EC0", "\u0EC4"], "\u0EC6", ["\u0EDC", "\u0EDF"], "\u0F00", ["\u0F40", "\u0F47"], ["\u0F49", "\u0F6C"], ["\u0F88", "\u0F8C"], ["\u1000", "\u102A"], "\u103F", ["\u1050", "\u1055"], ["\u105A", "\u105D"], "\u1061", ["\u1065", "\u1066"], ["\u106E", "\u1070"], ["\u1075", "\u1081"], "\u108E", ["\u10A0", "\u10C5"], "\u10C7", "\u10CD", ["\u10D0", "\u10FA"], ["\u10FC", "\u1248"], ["\u124A", "\u124D"], ["\u1250", "\u1256"], "\u1258", ["\u125A", "\u125D"], ["\u1260", "\u1288"], ["\u128A", "\u128D"], ["\u1290", "\u12B0"], ["\u12B2", "\u12B5"], ["\u12B8", "\u12BE"], "\u12C0", ["\u12C2", "\u12C5"], ["\u12C8", "\u12D6"], ["\u12D8", "\u1310"], ["\u1312", "\u1315"], ["\u1318", "\u135A"], ["\u1380", "\u138F"], ["\u13A0", "\u13F5"], ["\u13F8", "\u13FD"], ["\u1401", "\u166C"], ["\u166F", "\u167F"], ["\u1681", "\u169A"], ["\u16A0", "\u16EA"], ["\u16EE", "\u16F8"], ["\u1700", "\u170C"], ["\u170E", "\u1711"], ["\u1720", "\u1731"], ["\u1740", "\u1751"], ["\u1760", "\u176C"], ["\u176E", "\u1770"], ["\u1780", "\u17B3"], "\u17D7", "\u17DC", ["\u1820", "\u1877"], ["\u1880", "\u18A8"], "\u18AA", ["\u18B0", "\u18F5"], ["\u1900", "\u191E"], ["\u1950", "\u196D"], ["\u1970", "\u1974"], ["\u1980", "\u19AB"], ["\u19B0", "\u19C9"], ["\u1A00", "\u1A16"], ["\u1A20", "\u1A54"], "\u1AA7", ["\u1B05", "\u1B33"], ["\u1B45", "\u1B4B"], ["\u1B83", "\u1BA0"], ["\u1BAE", "\u1BAF"], ["\u1BBA", "\u1BE5"], ["\u1C00", "\u1C23"], ["\u1C4D", "\u1C4F"], ["\u1C5A", "\u1C7D"], ["\u1CE9", "\u1CEC"], ["\u1CEE", "\u1CF1"], ["\u1CF5", "\u1CF6"], ["\u1D00", "\u1DBF"], ["\u1E00", "\u1F15"], ["\u1F18", "\u1F1D"], ["\u1F20", "\u1F45"], ["\u1F48", "\u1F4D"], ["\u1F50", "\u1F57"], "\u1F59", "\u1F5B", "\u1F5D", ["\u1F5F", "\u1F7D"], ["\u1F80", "\u1FB4"], ["\u1FB6", "\u1FBC"], "\u1FBE", ["\u1FC2", "\u1FC4"], ["\u1FC6", "\u1FCC"], ["\u1FD0", "\u1FD3"], ["\u1FD6", "\u1FDB"], ["\u1FE0", "\u1FEC"], ["\u1FF2", "\u1FF4"], ["\u1FF6", "\u1FFC"], "\u2071", "\u207F", ["\u2090", "\u209C"], "\u2102", "\u2107", ["\u210A", "\u2113"], "\u2115", ["\u2119", "\u211D"], "\u2124", "\u2126", "\u2128", ["\u212A", "\u212D"], ["\u212F", "\u2139"], ["\u213C", "\u213F"], ["\u2145", "\u2149"], "\u214E", ["\u2160", "\u2188"], ["\u2C00", "\u2C2E"], ["\u2C30", "\u2C5E"], ["\u2C60", "\u2CE4"], ["\u2CEB", "\u2CEE"], ["\u2CF2", "\u2CF3"], ["\u2D00", "\u2D25"], "\u2D27", "\u2D2D", ["\u2D30", "\u2D67"], "\u2D6F", ["\u2D80", "\u2D96"], ["\u2DA0", "\u2DA6"], ["\u2DA8", "\u2DAE"], ["\u2DB0", "\u2DB6"], ["\u2DB8", "\u2DBE"], ["\u2DC0", "\u2DC6"], ["\u2DC8", "\u2DCE"], ["\u2DD0", "\u2DD6"], ["\u2DD8", "\u2DDE"], "\u2E2F", ["\u3005", "\u3007"], ["\u3021", "\u3029"], ["\u3031", "\u3035"], ["\u3038", "\u303C"], ["\u3041", "\u3096"], ["\u309D", "\u309F"], ["\u30A1", "\u30FA"], ["\u30FC", "\u30FF"], ["\u3105", "\u312D"], ["\u3131", "\u318E"], ["\u31A0", "\u31BA"], ["\u31F0", "\u31FF"], ["\u3400", "\u4DB5"], ["\u4E00", "\u9FD5"], ["\uA000", "\uA48C"], ["\uA4D0", "\uA4FD"], ["\uA500", "\uA60C"], ["\uA610", "\uA61F"], ["\uA62A", "\uA62B"], ["\uA640", "\uA66E"], ["\uA67F", "\uA69D"], ["\uA6A0", "\uA6EF"], ["\uA717", "\uA71F"], ["\uA722", "\uA788"], ["\uA78B", "\uA7AD"], ["\uA7B0", "\uA7B7"], ["\uA7F7", "\uA801"], ["\uA803", "\uA805"], ["\uA807", "\uA80A"], ["\uA80C", "\uA822"], ["\uA840", "\uA873"], ["\uA882", "\uA8B3"], ["\uA8F2", "\uA8F7"], "\uA8FB", "\uA8FD", ["\uA90A", "\uA925"], ["\uA930", "\uA946"], ["\uA960", "\uA97C"], ["\uA984", "\uA9B2"], "\uA9CF", ["\uA9E0", "\uA9E4"], ["\uA9E6", "\uA9EF"], ["\uA9FA", "\uA9FE"], ["\uAA00", "\uAA28"], ["\uAA40", "\uAA42"], ["\uAA44", "\uAA4B"], ["\uAA60", "\uAA76"], "\uAA7A", ["\uAA7E", "\uAAAF"], "\uAAB1", ["\uAAB5", "\uAAB6"], ["\uAAB9", "\uAABD"], "\uAAC0", "\uAAC2", ["\uAADB", "\uAADD"], ["\uAAE0", "\uAAEA"], ["\uAAF2", "\uAAF4"], ["\uAB01", "\uAB06"], ["\uAB09", "\uAB0E"], ["\uAB11", "\uAB16"], ["\uAB20", "\uAB26"], ["\uAB28", "\uAB2E"], ["\uAB30", "\uAB5A"], ["\uAB5C", "\uAB65"], ["\uAB70", "\uABE2"], ["\uAC00", "\uD7A3"], ["\uD7B0", "\uD7C6"], ["\uD7CB", "\uD7FB"], ["\uF900", "\uFA6D"], ["\uFA70", "\uFAD9"], ["\uFB00", "\uFB06"], ["\uFB13", "\uFB17"], "\uFB1D", ["\uFB1F", "\uFB28"], ["\uFB2A", "\uFB36"], ["\uFB38", "\uFB3C"], "\uFB3E", ["\uFB40", "\uFB41"], ["\uFB43", "\uFB44"], ["\uFB46", "\uFBB1"], ["\uFBD3", "\uFD3D"], ["\uFD50", "\uFD8F"], ["\uFD92", "\uFDC7"], ["\uFDF0", "\uFDFB"], ["\uFE70", "\uFE74"], ["\uFE76", "\uFEFC"], ["\uFF21", "\uFF3A"], ["\uFF41", "\uFF5A"], ["\uFF66", "\uFFBE"], ["\uFFC2", "\uFFC7"], ["\uFFCA", "\uFFCF"], ["\uFFD2", "\uFFD7"], ["\uFFDA", "\uFFDC"]], false, false); + var peg$e33 = peg$literalExpectation("\\", false); + var peg$e34 = peg$classExpectation(["$", ["0", "9"], "_", ["\u0300", "\u036F"], ["\u0483", "\u0487"], ["\u0591", "\u05BD"], "\u05BF", ["\u05C1", "\u05C2"], ["\u05C4", "\u05C5"], "\u05C7", ["\u0610", "\u061A"], ["\u064B", "\u0669"], "\u0670", ["\u06D6", "\u06DC"], ["\u06DF", "\u06E4"], ["\u06E7", "\u06E8"], ["\u06EA", "\u06ED"], ["\u06F0", "\u06F9"], "\u0711", ["\u0730", "\u074A"], ["\u07A6", "\u07B0"], ["\u07C0", "\u07C9"], ["\u07EB", "\u07F3"], ["\u0816", "\u0819"], ["\u081B", "\u0823"], ["\u0825", "\u0827"], ["\u0829", "\u082D"], ["\u0859", "\u085B"], ["\u08E3", "\u0903"], ["\u093A", "\u093C"], ["\u093E", "\u094F"], ["\u0951", "\u0957"], ["\u0962", "\u0963"], ["\u0966", "\u096F"], ["\u0981", "\u0983"], "\u09BC", ["\u09BE", "\u09C4"], ["\u09C7", "\u09C8"], ["\u09CB", "\u09CD"], "\u09D7", ["\u09E2", "\u09E3"], ["\u09E6", "\u09EF"], ["\u0A01", "\u0A03"], "\u0A3C", ["\u0A3E", "\u0A42"], ["\u0A47", "\u0A48"], ["\u0A4B", "\u0A4D"], "\u0A51", ["\u0A66", "\u0A71"], "\u0A75", ["\u0A81", "\u0A83"], "\u0ABC", ["\u0ABE", "\u0AC5"], ["\u0AC7", "\u0AC9"], ["\u0ACB", "\u0ACD"], ["\u0AE2", "\u0AE3"], ["\u0AE6", "\u0AEF"], ["\u0B01", "\u0B03"], "\u0B3C", ["\u0B3E", "\u0B44"], ["\u0B47", "\u0B48"], ["\u0B4B", "\u0B4D"], ["\u0B56", "\u0B57"], ["\u0B62", "\u0B63"], ["\u0B66", "\u0B6F"], "\u0B82", ["\u0BBE", "\u0BC2"], ["\u0BC6", "\u0BC8"], ["\u0BCA", "\u0BCD"], "\u0BD7", ["\u0BE6", "\u0BEF"], ["\u0C00", "\u0C03"], ["\u0C3E", "\u0C44"], ["\u0C46", "\u0C48"], ["\u0C4A", "\u0C4D"], ["\u0C55", "\u0C56"], ["\u0C62", "\u0C63"], ["\u0C66", "\u0C6F"], ["\u0C81", "\u0C83"], "\u0CBC", ["\u0CBE", "\u0CC4"], ["\u0CC6", "\u0CC8"], ["\u0CCA", "\u0CCD"], ["\u0CD5", "\u0CD6"], ["\u0CE2", "\u0CE3"], ["\u0CE6", "\u0CEF"], ["\u0D01", "\u0D03"], ["\u0D3E", "\u0D44"], ["\u0D46", "\u0D48"], ["\u0D4A", "\u0D4D"], "\u0D57", ["\u0D62", "\u0D63"], ["\u0D66", "\u0D6F"], ["\u0D82", "\u0D83"], "\u0DCA", ["\u0DCF", "\u0DD4"], "\u0DD6", ["\u0DD8", "\u0DDF"], ["\u0DE6", "\u0DEF"], ["\u0DF2", "\u0DF3"], "\u0E31", ["\u0E34", "\u0E3A"], ["\u0E47", "\u0E4E"], ["\u0E50", "\u0E59"], "\u0EB1", ["\u0EB4", "\u0EB9"], ["\u0EBB", "\u0EBC"], ["\u0EC8", "\u0ECD"], ["\u0ED0", "\u0ED9"], ["\u0F18", "\u0F19"], ["\u0F20", "\u0F29"], "\u0F35", "\u0F37", "\u0F39", ["\u0F3E", "\u0F3F"], ["\u0F71", "\u0F84"], ["\u0F86", "\u0F87"], ["\u0F8D", "\u0F97"], ["\u0F99", "\u0FBC"], "\u0FC6", ["\u102B", "\u103E"], ["\u1040", "\u1049"], ["\u1056", "\u1059"], ["\u105E", "\u1060"], ["\u1062", "\u1064"], ["\u1067", "\u106D"], ["\u1071", "\u1074"], ["\u1082", "\u108D"], ["\u108F", "\u109D"], ["\u135D", "\u135F"], ["\u1712", "\u1714"], ["\u1732", "\u1734"], ["\u1752", "\u1753"], ["\u1772", "\u1773"], ["\u17B4", "\u17D3"], "\u17DD", ["\u17E0", "\u17E9"], ["\u180B", "\u180D"], ["\u1810", "\u1819"], "\u18A9", ["\u1920", "\u192B"], ["\u1930", "\u193B"], ["\u1946", "\u194F"], ["\u19D0", "\u19D9"], ["\u1A17", "\u1A1B"], ["\u1A55", "\u1A5E"], ["\u1A60", "\u1A7C"], ["\u1A7F", "\u1A89"], ["\u1A90", "\u1A99"], ["\u1AB0", "\u1ABD"], ["\u1B00", "\u1B04"], ["\u1B34", "\u1B44"], ["\u1B50", "\u1B59"], ["\u1B6B", "\u1B73"], ["\u1B80", "\u1B82"], ["\u1BA1", "\u1BAD"], ["\u1BB0", "\u1BB9"], ["\u1BE6", "\u1BF3"], ["\u1C24", "\u1C37"], ["\u1C40", "\u1C49"], ["\u1C50", "\u1C59"], ["\u1CD0", "\u1CD2"], ["\u1CD4", "\u1CE8"], "\u1CED", ["\u1CF2", "\u1CF4"], ["\u1CF8", "\u1CF9"], ["\u1DC0", "\u1DF5"], ["\u1DFC", "\u1DFF"], ["\u200C", "\u200D"], ["\u203F", "\u2040"], "\u2054", ["\u20D0", "\u20DC"], "\u20E1", ["\u20E5", "\u20F0"], ["\u2CEF", "\u2CF1"], "\u2D7F", ["\u2DE0", "\u2DFF"], ["\u302A", "\u302F"], ["\u3099", "\u309A"], ["\uA620", "\uA629"], "\uA66F", ["\uA674", "\uA67D"], ["\uA69E", "\uA69F"], ["\uA6F0", "\uA6F1"], "\uA802", "\uA806", "\uA80B", ["\uA823", "\uA827"], ["\uA880", "\uA881"], ["\uA8B4", "\uA8C4"], ["\uA8D0", "\uA8D9"], ["\uA8E0", "\uA8F1"], ["\uA900", "\uA909"], ["\uA926", "\uA92D"], ["\uA947", "\uA953"], ["\uA980", "\uA983"], ["\uA9B3", "\uA9C0"], ["\uA9D0", "\uA9D9"], "\uA9E5", ["\uA9F0", "\uA9F9"], ["\uAA29", "\uAA36"], "\uAA43", ["\uAA4C", "\uAA4D"], ["\uAA50", "\uAA59"], ["\uAA7B", "\uAA7D"], "\uAAB0", ["\uAAB2", "\uAAB4"], ["\uAAB7", "\uAAB8"], ["\uAABE", "\uAABF"], "\uAAC1", ["\uAAEB", "\uAAEF"], ["\uAAF5", "\uAAF6"], ["\uABE3", "\uABEA"], ["\uABEC", "\uABED"], ["\uABF0", "\uABF9"], "\uFB1E", ["\uFE00", "\uFE0F"], ["\uFE20", "\uFE2F"], ["\uFE33", "\uFE34"], ["\uFE4D", "\uFE4F"], ["\uFF10", "\uFF19"], "\uFF3F"], false, false); + var peg$e35 = peg$classExpectation([["A", "Z"], ["a", "z"], "\xAA", "\xB5", "\xBA", ["\xC0", "\xD6"], ["\xD8", "\xF6"], ["\xF8", "\u02C1"], ["\u02C6", "\u02D1"], ["\u02E0", "\u02E4"], "\u02EC", "\u02EE", ["\u0370", "\u0374"], ["\u0376", "\u0377"], ["\u037A", "\u037D"], "\u037F", "\u0386", ["\u0388", "\u038A"], "\u038C", ["\u038E", "\u03A1"], ["\u03A3", "\u03F5"], ["\u03F7", "\u0481"], ["\u048A", "\u052F"], ["\u0531", "\u0556"], "\u0559", ["\u0561", "\u0587"], ["\u05D0", "\u05EA"], ["\u05F0", "\u05F2"], ["\u0620", "\u064A"], ["\u066E", "\u066F"], ["\u0671", "\u06D3"], "\u06D5", ["\u06E5", "\u06E6"], ["\u06EE", "\u06EF"], ["\u06FA", "\u06FC"], "\u06FF", "\u0710", ["\u0712", "\u072F"], ["\u074D", "\u07A5"], "\u07B1", ["\u07CA", "\u07EA"], ["\u07F4", "\u07F5"], "\u07FA", ["\u0800", "\u0815"], "\u081A", "\u0824", "\u0828", ["\u0840", "\u0858"], ["\u08A0", "\u08B4"], ["\u0904", "\u0939"], "\u093D", "\u0950", ["\u0958", "\u0961"], ["\u0971", "\u0980"], ["\u0985", "\u098C"], ["\u098F", "\u0990"], ["\u0993", "\u09A8"], ["\u09AA", "\u09B0"], "\u09B2", ["\u09B6", "\u09B9"], "\u09BD", "\u09CE", ["\u09DC", "\u09DD"], ["\u09DF", "\u09E1"], ["\u09F0", "\u09F1"], ["\u0A05", "\u0A0A"], ["\u0A0F", "\u0A10"], ["\u0A13", "\u0A28"], ["\u0A2A", "\u0A30"], ["\u0A32", "\u0A33"], ["\u0A35", "\u0A36"], ["\u0A38", "\u0A39"], ["\u0A59", "\u0A5C"], "\u0A5E", ["\u0A72", "\u0A74"], ["\u0A85", "\u0A8D"], ["\u0A8F", "\u0A91"], ["\u0A93", "\u0AA8"], ["\u0AAA", "\u0AB0"], ["\u0AB2", "\u0AB3"], ["\u0AB5", "\u0AB9"], "\u0ABD", "\u0AD0", ["\u0AE0", "\u0AE1"], "\u0AF9", ["\u0B05", "\u0B0C"], ["\u0B0F", "\u0B10"], ["\u0B13", "\u0B28"], ["\u0B2A", "\u0B30"], ["\u0B32", "\u0B33"], ["\u0B35", "\u0B39"], "\u0B3D", ["\u0B5C", "\u0B5D"], ["\u0B5F", "\u0B61"], "\u0B71", "\u0B83", ["\u0B85", "\u0B8A"], ["\u0B8E", "\u0B90"], ["\u0B92", "\u0B95"], ["\u0B99", "\u0B9A"], "\u0B9C", ["\u0B9E", "\u0B9F"], ["\u0BA3", "\u0BA4"], ["\u0BA8", "\u0BAA"], ["\u0BAE", "\u0BB9"], "\u0BD0", ["\u0C05", "\u0C0C"], ["\u0C0E", "\u0C10"], ["\u0C12", "\u0C28"], ["\u0C2A", "\u0C39"], "\u0C3D", ["\u0C58", "\u0C5A"], ["\u0C60", "\u0C61"], ["\u0C85", "\u0C8C"], ["\u0C8E", "\u0C90"], ["\u0C92", "\u0CA8"], ["\u0CAA", "\u0CB3"], ["\u0CB5", "\u0CB9"], "\u0CBD", "\u0CDE", ["\u0CE0", "\u0CE1"], ["\u0CF1", "\u0CF2"], ["\u0D05", "\u0D0C"], ["\u0D0E", "\u0D10"], ["\u0D12", "\u0D3A"], "\u0D3D", "\u0D4E", ["\u0D5F", "\u0D61"], ["\u0D7A", "\u0D7F"], ["\u0D85", "\u0D96"], ["\u0D9A", "\u0DB1"], ["\u0DB3", "\u0DBB"], "\u0DBD", ["\u0DC0", "\u0DC6"], ["\u0E01", "\u0E30"], ["\u0E32", "\u0E33"], ["\u0E40", "\u0E46"], ["\u0E81", "\u0E82"], "\u0E84", ["\u0E87", "\u0E88"], "\u0E8A", "\u0E8D", ["\u0E94", "\u0E97"], ["\u0E99", "\u0E9F"], ["\u0EA1", "\u0EA3"], "\u0EA5", "\u0EA7", ["\u0EAA", "\u0EAB"], ["\u0EAD", "\u0EB0"], ["\u0EB2", "\u0EB3"], "\u0EBD", ["\u0EC0", "\u0EC4"], "\u0EC6", ["\u0EDC", "\u0EDF"], "\u0F00", ["\u0F40", "\u0F47"], ["\u0F49", "\u0F6C"], ["\u0F88", "\u0F8C"], ["\u1000", "\u102A"], "\u103F", ["\u1050", "\u1055"], ["\u105A", "\u105D"], "\u1061", ["\u1065", "\u1066"], ["\u106E", "\u1070"], ["\u1075", "\u1081"], "\u108E", ["\u10A0", "\u10C5"], "\u10C7", "\u10CD", ["\u10D0", "\u10FA"], ["\u10FC", "\u1248"], ["\u124A", "\u124D"], ["\u1250", "\u1256"], "\u1258", ["\u125A", "\u125D"], ["\u1260", "\u1288"], ["\u128A", "\u128D"], ["\u1290", "\u12B0"], ["\u12B2", "\u12B5"], ["\u12B8", "\u12BE"], "\u12C0", ["\u12C2", "\u12C5"], ["\u12C8", "\u12D6"], ["\u12D8", "\u1310"], ["\u1312", "\u1315"], ["\u1318", "\u135A"], ["\u1380", "\u138F"], ["\u13A0", "\u13F5"], ["\u13F8", "\u13FD"], ["\u1401", "\u166C"], ["\u166F", "\u167F"], ["\u1681", "\u169A"], ["\u16A0", "\u16EA"], ["\u16EE", "\u16F8"], ["\u1700", "\u170C"], ["\u170E", "\u1711"], ["\u1720", "\u1731"], ["\u1740", "\u1751"], ["\u1760", "\u176C"], ["\u176E", "\u1770"], ["\u1780", "\u17B3"], "\u17D7", "\u17DC", ["\u1820", "\u1877"], ["\u1880", "\u18A8"], "\u18AA", ["\u18B0", "\u18F5"], ["\u1900", "\u191E"], ["\u1950", "\u196D"], ["\u1970", "\u1974"], ["\u1980", "\u19AB"], ["\u19B0", "\u19C9"], ["\u1A00", "\u1A16"], ["\u1A20", "\u1A54"], "\u1AA7", ["\u1B05", "\u1B33"], ["\u1B45", "\u1B4B"], ["\u1B83", "\u1BA0"], ["\u1BAE", "\u1BAF"], ["\u1BBA", "\u1BE5"], ["\u1C00", "\u1C23"], ["\u1C4D", "\u1C4F"], ["\u1C5A", "\u1C7D"], ["\u1CE9", "\u1CEC"], ["\u1CEE", "\u1CF1"], ["\u1CF5", "\u1CF6"], ["\u1D00", "\u1DBF"], ["\u1E00", "\u1F15"], ["\u1F18", "\u1F1D"], ["\u1F20", "\u1F45"], ["\u1F48", "\u1F4D"], ["\u1F50", "\u1F57"], "\u1F59", "\u1F5B", "\u1F5D", ["\u1F5F", "\u1F7D"], ["\u1F80", "\u1FB4"], ["\u1FB6", "\u1FBC"], "\u1FBE", ["\u1FC2", "\u1FC4"], ["\u1FC6", "\u1FCC"], ["\u1FD0", "\u1FD3"], ["\u1FD6", "\u1FDB"], ["\u1FE0", "\u1FEC"], ["\u1FF2", "\u1FF4"], ["\u1FF6", "\u1FFC"], "\u2071", "\u207F", ["\u2090", "\u209C"], "\u2102", "\u2107", ["\u210A", "\u2113"], "\u2115", ["\u2119", "\u211D"], "\u2124", "\u2126", "\u2128", ["\u212A", "\u212D"], ["\u212F", "\u2139"], ["\u213C", "\u213F"], ["\u2145", "\u2149"], "\u214E", ["\u2160", "\u2188"], ["\u2C00", "\u2C2E"], ["\u2C30", "\u2C5E"], ["\u2C60", "\u2CE4"], ["\u2CEB", "\u2CEE"], ["\u2CF2", "\u2CF3"], ["\u2D00", "\u2D25"], "\u2D27", "\u2D2D", ["\u2D30", "\u2D67"], "\u2D6F", ["\u2D80", "\u2D96"], ["\u2DA0", "\u2DA6"], ["\u2DA8", "\u2DAE"], ["\u2DB0", "\u2DB6"], ["\u2DB8", "\u2DBE"], ["\u2DC0", "\u2DC6"], ["\u2DC8", "\u2DCE"], ["\u2DD0", "\u2DD6"], ["\u2DD8", "\u2DDE"], "\u2E2F", ["\u3005", "\u3007"], ["\u3021", "\u3029"], ["\u3031", "\u3035"], ["\u3038", "\u303C"], ["\u3041", "\u3096"], ["\u309D", "\u309F"], ["\u30A1", "\u30FA"], ["\u30FC", "\u30FF"], ["\u3105", "\u312D"], ["\u3131", "\u318E"], ["\u31A0", "\u31BA"], ["\u31F0", "\u31FF"], ["\u3400", "\u4DB5"], ["\u4E00", "\u9FD5"], ["\uA000", "\uA48C"], ["\uA4D0", "\uA4FD"], ["\uA500", "\uA60C"], ["\uA610", "\uA61F"], ["\uA62A", "\uA62B"], ["\uA640", "\uA66E"], ["\uA67F", "\uA69D"], ["\uA6A0", "\uA6EF"], ["\uA717", "\uA71F"], ["\uA722", "\uA788"], ["\uA78B", "\uA7AD"], ["\uA7B0", "\uA7B7"], ["\uA7F7", "\uA801"], ["\uA803", "\uA805"], ["\uA807", "\uA80A"], ["\uA80C", "\uA822"], ["\uA840", "\uA873"], ["\uA882", "\uA8B3"], ["\uA8F2", "\uA8F7"], "\uA8FB", "\uA8FD", ["\uA90A", "\uA925"], ["\uA930", "\uA946"], ["\uA960", "\uA97C"], ["\uA984", "\uA9B2"], "\uA9CF", ["\uA9E0", "\uA9E4"], ["\uA9E6", "\uA9EF"], ["\uA9FA", "\uA9FE"], ["\uAA00", "\uAA28"], ["\uAA40", "\uAA42"], ["\uAA44", "\uAA4B"], ["\uAA60", "\uAA76"], "\uAA7A", ["\uAA7E", "\uAAAF"], "\uAAB1", ["\uAAB5", "\uAAB6"], ["\uAAB9", "\uAABD"], "\uAAC0", "\uAAC2", ["\uAADB", "\uAADD"], ["\uAAE0", "\uAAEA"], ["\uAAF2", "\uAAF4"], ["\uAB01", "\uAB06"], ["\uAB09", "\uAB0E"], ["\uAB11", "\uAB16"], ["\uAB20", "\uAB26"], ["\uAB28", "\uAB2E"], ["\uAB30", "\uAB5A"], ["\uAB5C", "\uAB65"], ["\uAB70", "\uABE2"], ["\uAC00", "\uD7A3"], ["\uD7B0", "\uD7C6"], ["\uD7CB", "\uD7FB"], ["\uF900", "\uFA6D"], ["\uFA70", "\uFAD9"], ["\uFB00", "\uFB06"], ["\uFB13", "\uFB17"], "\uFB1D", ["\uFB1F", "\uFB28"], ["\uFB2A", "\uFB36"], ["\uFB38", "\uFB3C"], "\uFB3E", ["\uFB40", "\uFB41"], ["\uFB43", "\uFB44"], ["\uFB46", "\uFBB1"], ["\uFBD3", "\uFD3D"], ["\uFD50", "\uFD8F"], ["\uFD92", "\uFDC7"], ["\uFDF0", "\uFDFB"], ["\uFE70", "\uFE74"], ["\uFE76", "\uFEFC"], ["\uFF21", "\uFF3A"], ["\uFF41", "\uFF5A"], ["\uFF66", "\uFFBE"], ["\uFFC2", "\uFFC7"], ["\uFFCA", "\uFFCF"], ["\uFFD2", "\uFFD7"], ["\uFFDA", "\uFFDC"]], false, false); + var peg$e36 = peg$classExpectation([["\u0300", "\u036F"], ["\u0483", "\u0487"], ["\u0591", "\u05BD"], "\u05BF", ["\u05C1", "\u05C2"], ["\u05C4", "\u05C5"], "\u05C7", ["\u0610", "\u061A"], ["\u064B", "\u065F"], "\u0670", ["\u06D6", "\u06DC"], ["\u06DF", "\u06E4"], ["\u06E7", "\u06E8"], ["\u06EA", "\u06ED"], "\u0711", ["\u0730", "\u074A"], ["\u07A6", "\u07B0"], ["\u07EB", "\u07F3"], ["\u0816", "\u0819"], ["\u081B", "\u0823"], ["\u0825", "\u0827"], ["\u0829", "\u082D"], ["\u0859", "\u085B"], ["\u08E3", "\u0903"], ["\u093A", "\u093C"], ["\u093E", "\u094F"], ["\u0951", "\u0957"], ["\u0962", "\u0963"], ["\u0981", "\u0983"], "\u09BC", ["\u09BE", "\u09C4"], ["\u09C7", "\u09C8"], ["\u09CB", "\u09CD"], "\u09D7", ["\u09E2", "\u09E3"], ["\u0A01", "\u0A03"], "\u0A3C", ["\u0A3E", "\u0A42"], ["\u0A47", "\u0A48"], ["\u0A4B", "\u0A4D"], "\u0A51", ["\u0A70", "\u0A71"], "\u0A75", ["\u0A81", "\u0A83"], "\u0ABC", ["\u0ABE", "\u0AC5"], ["\u0AC7", "\u0AC9"], ["\u0ACB", "\u0ACD"], ["\u0AE2", "\u0AE3"], ["\u0B01", "\u0B03"], "\u0B3C", ["\u0B3E", "\u0B44"], ["\u0B47", "\u0B48"], ["\u0B4B", "\u0B4D"], ["\u0B56", "\u0B57"], ["\u0B62", "\u0B63"], "\u0B82", ["\u0BBE", "\u0BC2"], ["\u0BC6", "\u0BC8"], ["\u0BCA", "\u0BCD"], "\u0BD7", ["\u0C00", "\u0C03"], ["\u0C3E", "\u0C44"], ["\u0C46", "\u0C48"], ["\u0C4A", "\u0C4D"], ["\u0C55", "\u0C56"], ["\u0C62", "\u0C63"], ["\u0C81", "\u0C83"], "\u0CBC", ["\u0CBE", "\u0CC4"], ["\u0CC6", "\u0CC8"], ["\u0CCA", "\u0CCD"], ["\u0CD5", "\u0CD6"], ["\u0CE2", "\u0CE3"], ["\u0D01", "\u0D03"], ["\u0D3E", "\u0D44"], ["\u0D46", "\u0D48"], ["\u0D4A", "\u0D4D"], "\u0D57", ["\u0D62", "\u0D63"], ["\u0D82", "\u0D83"], "\u0DCA", ["\u0DCF", "\u0DD4"], "\u0DD6", ["\u0DD8", "\u0DDF"], ["\u0DF2", "\u0DF3"], "\u0E31", ["\u0E34", "\u0E3A"], ["\u0E47", "\u0E4E"], "\u0EB1", ["\u0EB4", "\u0EB9"], ["\u0EBB", "\u0EBC"], ["\u0EC8", "\u0ECD"], ["\u0F18", "\u0F19"], "\u0F35", "\u0F37", "\u0F39", ["\u0F3E", "\u0F3F"], ["\u0F71", "\u0F84"], ["\u0F86", "\u0F87"], ["\u0F8D", "\u0F97"], ["\u0F99", "\u0FBC"], "\u0FC6", ["\u102B", "\u103E"], ["\u1056", "\u1059"], ["\u105E", "\u1060"], ["\u1062", "\u1064"], ["\u1067", "\u106D"], ["\u1071", "\u1074"], ["\u1082", "\u108D"], "\u108F", ["\u109A", "\u109D"], ["\u135D", "\u135F"], ["\u1712", "\u1714"], ["\u1732", "\u1734"], ["\u1752", "\u1753"], ["\u1772", "\u1773"], ["\u17B4", "\u17D3"], "\u17DD", ["\u180B", "\u180D"], "\u18A9", ["\u1920", "\u192B"], ["\u1930", "\u193B"], ["\u1A17", "\u1A1B"], ["\u1A55", "\u1A5E"], ["\u1A60", "\u1A7C"], "\u1A7F", ["\u1AB0", "\u1ABD"], ["\u1B00", "\u1B04"], ["\u1B34", "\u1B44"], ["\u1B6B", "\u1B73"], ["\u1B80", "\u1B82"], ["\u1BA1", "\u1BAD"], ["\u1BE6", "\u1BF3"], ["\u1C24", "\u1C37"], ["\u1CD0", "\u1CD2"], ["\u1CD4", "\u1CE8"], "\u1CED", ["\u1CF2", "\u1CF4"], ["\u1CF8", "\u1CF9"], ["\u1DC0", "\u1DF5"], ["\u1DFC", "\u1DFF"], ["\u20D0", "\u20DC"], "\u20E1", ["\u20E5", "\u20F0"], ["\u2CEF", "\u2CF1"], "\u2D7F", ["\u2DE0", "\u2DFF"], ["\u302A", "\u302F"], ["\u3099", "\u309A"], "\uA66F", ["\uA674", "\uA67D"], ["\uA69E", "\uA69F"], ["\uA6F0", "\uA6F1"], "\uA802", "\uA806", "\uA80B", ["\uA823", "\uA827"], ["\uA880", "\uA881"], ["\uA8B4", "\uA8C4"], ["\uA8E0", "\uA8F1"], ["\uA926", "\uA92D"], ["\uA947", "\uA953"], ["\uA980", "\uA983"], ["\uA9B3", "\uA9C0"], "\uA9E5", ["\uAA29", "\uAA36"], "\uAA43", ["\uAA4C", "\uAA4D"], ["\uAA7B", "\uAA7D"], "\uAAB0", ["\uAAB2", "\uAAB4"], ["\uAAB7", "\uAAB8"], ["\uAABE", "\uAABF"], "\uAAC1", ["\uAAEB", "\uAAEF"], ["\uAAF5", "\uAAF6"], ["\uABE3", "\uABEA"], ["\uABEC", "\uABED"], "\uFB1E", ["\uFE00", "\uFE0F"], ["\uFE20", "\uFE2F"]], false, false); + var peg$e37 = peg$otherExpectation("literal"); + var peg$e38 = peg$literalExpectation("i", false); + var peg$e39 = peg$otherExpectation("string"); + var peg$e40 = peg$literalExpectation("\"", false); + var peg$e41 = peg$literalExpectation("'", false); + var peg$e42 = peg$classExpectation(["\n", "\r", "\"", "\\", ["\u2028", "\u2029"]], false, false); + var peg$e43 = peg$classExpectation(["\n", "\r", "'", "\\", ["\u2028", "\u2029"]], false, false); + var peg$e44 = peg$otherExpectation("character class"); + var peg$e45 = peg$literalExpectation("[", false); + var peg$e46 = peg$literalExpectation("^", false); + var peg$e47 = peg$literalExpectation("]", false); + var peg$e48 = peg$literalExpectation("-", false); + var peg$e49 = peg$classExpectation(["\n", "\r", ["\\", "]"], ["\u2028", "\u2029"]], false, false); + var peg$e50 = peg$literalExpectation("0", false); + var peg$e51 = peg$classExpectation(["\"", "'", "\\"], false, false); + var peg$e52 = peg$literalExpectation("b", false); + var peg$e53 = peg$literalExpectation("f", false); + var peg$e54 = peg$literalExpectation("n", false); + var peg$e55 = peg$literalExpectation("r", false); + var peg$e56 = peg$literalExpectation("t", false); + var peg$e57 = peg$literalExpectation("v", false); + var peg$e58 = peg$classExpectation([["0", "9"], "u", "x"], false, false); + var peg$e59 = peg$literalExpectation("x", false); + var peg$e60 = peg$literalExpectation("u", false); + var peg$e61 = peg$classExpectation([["0", "9"]], false, false); + var peg$e62 = peg$classExpectation([["0", "9"], ["a", "f"]], false, true); + var peg$e63 = peg$literalExpectation(".", false); + var peg$e64 = peg$otherExpectation("code block"); + var peg$e65 = peg$classExpectation(["{", "}"], false, false); + var peg$e66 = peg$classExpectation([["a", "z"], "\xB5", ["\xDF", "\xF6"], ["\xF8", "\xFF"], "\u0101", "\u0103", "\u0105", "\u0107", "\u0109", "\u010B", "\u010D", "\u010F", "\u0111", "\u0113", "\u0115", "\u0117", "\u0119", "\u011B", "\u011D", "\u011F", "\u0121", "\u0123", "\u0125", "\u0127", "\u0129", "\u012B", "\u012D", "\u012F", "\u0131", "\u0133", "\u0135", ["\u0137", "\u0138"], "\u013A", "\u013C", "\u013E", "\u0140", "\u0142", "\u0144", "\u0146", ["\u0148", "\u0149"], "\u014B", "\u014D", "\u014F", "\u0151", "\u0153", "\u0155", "\u0157", "\u0159", "\u015B", "\u015D", "\u015F", "\u0161", "\u0163", "\u0165", "\u0167", "\u0169", "\u016B", "\u016D", "\u016F", "\u0171", "\u0173", "\u0175", "\u0177", "\u017A", "\u017C", ["\u017E", "\u0180"], "\u0183", "\u0185", "\u0188", ["\u018C", "\u018D"], "\u0192", "\u0195", ["\u0199", "\u019B"], "\u019E", "\u01A1", "\u01A3", "\u01A5", "\u01A8", ["\u01AA", "\u01AB"], "\u01AD", "\u01B0", "\u01B4", "\u01B6", ["\u01B9", "\u01BA"], ["\u01BD", "\u01BF"], "\u01C6", "\u01C9", "\u01CC", "\u01CE", "\u01D0", "\u01D2", "\u01D4", "\u01D6", "\u01D8", "\u01DA", ["\u01DC", "\u01DD"], "\u01DF", "\u01E1", "\u01E3", "\u01E5", "\u01E7", "\u01E9", "\u01EB", "\u01ED", ["\u01EF", "\u01F0"], "\u01F3", "\u01F5", "\u01F9", "\u01FB", "\u01FD", "\u01FF", "\u0201", "\u0203", "\u0205", "\u0207", "\u0209", "\u020B", "\u020D", "\u020F", "\u0211", "\u0213", "\u0215", "\u0217", "\u0219", "\u021B", "\u021D", "\u021F", "\u0221", "\u0223", "\u0225", "\u0227", "\u0229", "\u022B", "\u022D", "\u022F", "\u0231", ["\u0233", "\u0239"], "\u023C", ["\u023F", "\u0240"], "\u0242", "\u0247", "\u0249", "\u024B", "\u024D", ["\u024F", "\u0293"], ["\u0295", "\u02AF"], "\u0371", "\u0373", "\u0377", ["\u037B", "\u037D"], "\u0390", ["\u03AC", "\u03CE"], ["\u03D0", "\u03D1"], ["\u03D5", "\u03D7"], "\u03D9", "\u03DB", "\u03DD", "\u03DF", "\u03E1", "\u03E3", "\u03E5", "\u03E7", "\u03E9", "\u03EB", "\u03ED", ["\u03EF", "\u03F3"], "\u03F5", "\u03F8", ["\u03FB", "\u03FC"], ["\u0430", "\u045F"], "\u0461", "\u0463", "\u0465", "\u0467", "\u0469", "\u046B", "\u046D", "\u046F", "\u0471", "\u0473", "\u0475", "\u0477", "\u0479", "\u047B", "\u047D", "\u047F", "\u0481", "\u048B", "\u048D", "\u048F", "\u0491", "\u0493", "\u0495", "\u0497", "\u0499", "\u049B", "\u049D", "\u049F", "\u04A1", "\u04A3", "\u04A5", "\u04A7", "\u04A9", "\u04AB", "\u04AD", "\u04AF", "\u04B1", "\u04B3", "\u04B5", "\u04B7", "\u04B9", "\u04BB", "\u04BD", "\u04BF", "\u04C2", "\u04C4", "\u04C6", "\u04C8", "\u04CA", "\u04CC", ["\u04CE", "\u04CF"], "\u04D1", "\u04D3", "\u04D5", "\u04D7", "\u04D9", "\u04DB", "\u04DD", "\u04DF", "\u04E1", "\u04E3", "\u04E5", "\u04E7", "\u04E9", "\u04EB", "\u04ED", "\u04EF", "\u04F1", "\u04F3", "\u04F5", "\u04F7", "\u04F9", "\u04FB", "\u04FD", "\u04FF", "\u0501", "\u0503", "\u0505", "\u0507", "\u0509", "\u050B", "\u050D", "\u050F", "\u0511", "\u0513", "\u0515", "\u0517", "\u0519", "\u051B", "\u051D", "\u051F", "\u0521", "\u0523", "\u0525", "\u0527", "\u0529", "\u052B", "\u052D", "\u052F", ["\u0561", "\u0587"], ["\u13F8", "\u13FD"], ["\u1D00", "\u1D2B"], ["\u1D6B", "\u1D77"], ["\u1D79", "\u1D9A"], "\u1E01", "\u1E03", "\u1E05", "\u1E07", "\u1E09", "\u1E0B", "\u1E0D", "\u1E0F", "\u1E11", "\u1E13", "\u1E15", "\u1E17", "\u1E19", "\u1E1B", "\u1E1D", "\u1E1F", "\u1E21", "\u1E23", "\u1E25", "\u1E27", "\u1E29", "\u1E2B", "\u1E2D", "\u1E2F", "\u1E31", "\u1E33", "\u1E35", "\u1E37", "\u1E39", "\u1E3B", "\u1E3D", "\u1E3F", "\u1E41", "\u1E43", "\u1E45", "\u1E47", "\u1E49", "\u1E4B", "\u1E4D", "\u1E4F", "\u1E51", "\u1E53", "\u1E55", "\u1E57", "\u1E59", "\u1E5B", "\u1E5D", "\u1E5F", "\u1E61", "\u1E63", "\u1E65", "\u1E67", "\u1E69", "\u1E6B", "\u1E6D", "\u1E6F", "\u1E71", "\u1E73", "\u1E75", "\u1E77", "\u1E79", "\u1E7B", "\u1E7D", "\u1E7F", "\u1E81", "\u1E83", "\u1E85", "\u1E87", "\u1E89", "\u1E8B", "\u1E8D", "\u1E8F", "\u1E91", "\u1E93", ["\u1E95", "\u1E9D"], "\u1E9F", "\u1EA1", "\u1EA3", "\u1EA5", "\u1EA7", "\u1EA9", "\u1EAB", "\u1EAD", "\u1EAF", "\u1EB1", "\u1EB3", "\u1EB5", "\u1EB7", "\u1EB9", "\u1EBB", "\u1EBD", "\u1EBF", "\u1EC1", "\u1EC3", "\u1EC5", "\u1EC7", "\u1EC9", "\u1ECB", "\u1ECD", "\u1ECF", "\u1ED1", "\u1ED3", "\u1ED5", "\u1ED7", "\u1ED9", "\u1EDB", "\u1EDD", "\u1EDF", "\u1EE1", "\u1EE3", "\u1EE5", "\u1EE7", "\u1EE9", "\u1EEB", "\u1EED", "\u1EEF", "\u1EF1", "\u1EF3", "\u1EF5", "\u1EF7", "\u1EF9", "\u1EFB", "\u1EFD", ["\u1EFF", "\u1F07"], ["\u1F10", "\u1F15"], ["\u1F20", "\u1F27"], ["\u1F30", "\u1F37"], ["\u1F40", "\u1F45"], ["\u1F50", "\u1F57"], ["\u1F60", "\u1F67"], ["\u1F70", "\u1F7D"], ["\u1F80", "\u1F87"], ["\u1F90", "\u1F97"], ["\u1FA0", "\u1FA7"], ["\u1FB0", "\u1FB4"], ["\u1FB6", "\u1FB7"], "\u1FBE", ["\u1FC2", "\u1FC4"], ["\u1FC6", "\u1FC7"], ["\u1FD0", "\u1FD3"], ["\u1FD6", "\u1FD7"], ["\u1FE0", "\u1FE7"], ["\u1FF2", "\u1FF4"], ["\u1FF6", "\u1FF7"], "\u210A", ["\u210E", "\u210F"], "\u2113", "\u212F", "\u2134", "\u2139", ["\u213C", "\u213D"], ["\u2146", "\u2149"], "\u214E", "\u2184", ["\u2C30", "\u2C5E"], "\u2C61", ["\u2C65", "\u2C66"], "\u2C68", "\u2C6A", "\u2C6C", "\u2C71", ["\u2C73", "\u2C74"], ["\u2C76", "\u2C7B"], "\u2C81", "\u2C83", "\u2C85", "\u2C87", "\u2C89", "\u2C8B", "\u2C8D", "\u2C8F", "\u2C91", "\u2C93", "\u2C95", "\u2C97", "\u2C99", "\u2C9B", "\u2C9D", "\u2C9F", "\u2CA1", "\u2CA3", "\u2CA5", "\u2CA7", "\u2CA9", "\u2CAB", "\u2CAD", "\u2CAF", "\u2CB1", "\u2CB3", "\u2CB5", "\u2CB7", "\u2CB9", "\u2CBB", "\u2CBD", "\u2CBF", "\u2CC1", "\u2CC3", "\u2CC5", "\u2CC7", "\u2CC9", "\u2CCB", "\u2CCD", "\u2CCF", "\u2CD1", "\u2CD3", "\u2CD5", "\u2CD7", "\u2CD9", "\u2CDB", "\u2CDD", "\u2CDF", "\u2CE1", ["\u2CE3", "\u2CE4"], "\u2CEC", "\u2CEE", "\u2CF3", ["\u2D00", "\u2D25"], "\u2D27", "\u2D2D", "\uA641", "\uA643", "\uA645", "\uA647", "\uA649", "\uA64B", "\uA64D", "\uA64F", "\uA651", "\uA653", "\uA655", "\uA657", "\uA659", "\uA65B", "\uA65D", "\uA65F", "\uA661", "\uA663", "\uA665", "\uA667", "\uA669", "\uA66B", "\uA66D", "\uA681", "\uA683", "\uA685", "\uA687", "\uA689", "\uA68B", "\uA68D", "\uA68F", "\uA691", "\uA693", "\uA695", "\uA697", "\uA699", "\uA69B", "\uA723", "\uA725", "\uA727", "\uA729", "\uA72B", "\uA72D", ["\uA72F", "\uA731"], "\uA733", "\uA735", "\uA737", "\uA739", "\uA73B", "\uA73D", "\uA73F", "\uA741", "\uA743", "\uA745", "\uA747", "\uA749", "\uA74B", "\uA74D", "\uA74F", "\uA751", "\uA753", "\uA755", "\uA757", "\uA759", "\uA75B", "\uA75D", "\uA75F", "\uA761", "\uA763", "\uA765", "\uA767", "\uA769", "\uA76B", "\uA76D", "\uA76F", ["\uA771", "\uA778"], "\uA77A", "\uA77C", "\uA77F", "\uA781", "\uA783", "\uA785", "\uA787", "\uA78C", "\uA78E", "\uA791", ["\uA793", "\uA795"], "\uA797", "\uA799", "\uA79B", "\uA79D", "\uA79F", "\uA7A1", "\uA7A3", "\uA7A5", "\uA7A7", "\uA7A9", "\uA7B5", "\uA7B7", "\uA7FA", ["\uAB30", "\uAB5A"], ["\uAB60", "\uAB65"], ["\uAB70", "\uABBF"], ["\uFB00", "\uFB06"], ["\uFB13", "\uFB17"], ["\uFF41", "\uFF5A"]], false, false); + var peg$e67 = peg$classExpectation([["\u02B0", "\u02C1"], ["\u02C6", "\u02D1"], ["\u02E0", "\u02E4"], "\u02EC", "\u02EE", "\u0374", "\u037A", "\u0559", "\u0640", ["\u06E5", "\u06E6"], ["\u07F4", "\u07F5"], "\u07FA", "\u081A", "\u0824", "\u0828", "\u0971", "\u0E46", "\u0EC6", "\u10FC", "\u17D7", "\u1843", "\u1AA7", ["\u1C78", "\u1C7D"], ["\u1D2C", "\u1D6A"], "\u1D78", ["\u1D9B", "\u1DBF"], "\u2071", "\u207F", ["\u2090", "\u209C"], ["\u2C7C", "\u2C7D"], "\u2D6F", "\u2E2F", "\u3005", ["\u3031", "\u3035"], "\u303B", ["\u309D", "\u309E"], ["\u30FC", "\u30FE"], "\uA015", ["\uA4F8", "\uA4FD"], "\uA60C", "\uA67F", ["\uA69C", "\uA69D"], ["\uA717", "\uA71F"], "\uA770", "\uA788", ["\uA7F8", "\uA7F9"], "\uA9CF", "\uA9E6", "\uAA70", "\uAADD", ["\uAAF3", "\uAAF4"], ["\uAB5C", "\uAB5F"], "\uFF70", ["\uFF9E", "\uFF9F"]], false, false); + var peg$e68 = peg$classExpectation(["\xAA", "\xBA", "\u01BB", ["\u01C0", "\u01C3"], "\u0294", ["\u05D0", "\u05EA"], ["\u05F0", "\u05F2"], ["\u0620", "\u063F"], ["\u0641", "\u064A"], ["\u066E", "\u066F"], ["\u0671", "\u06D3"], "\u06D5", ["\u06EE", "\u06EF"], ["\u06FA", "\u06FC"], "\u06FF", "\u0710", ["\u0712", "\u072F"], ["\u074D", "\u07A5"], "\u07B1", ["\u07CA", "\u07EA"], ["\u0800", "\u0815"], ["\u0840", "\u0858"], ["\u08A0", "\u08B4"], ["\u0904", "\u0939"], "\u093D", "\u0950", ["\u0958", "\u0961"], ["\u0972", "\u0980"], ["\u0985", "\u098C"], ["\u098F", "\u0990"], ["\u0993", "\u09A8"], ["\u09AA", "\u09B0"], "\u09B2", ["\u09B6", "\u09B9"], "\u09BD", "\u09CE", ["\u09DC", "\u09DD"], ["\u09DF", "\u09E1"], ["\u09F0", "\u09F1"], ["\u0A05", "\u0A0A"], ["\u0A0F", "\u0A10"], ["\u0A13", "\u0A28"], ["\u0A2A", "\u0A30"], ["\u0A32", "\u0A33"], ["\u0A35", "\u0A36"], ["\u0A38", "\u0A39"], ["\u0A59", "\u0A5C"], "\u0A5E", ["\u0A72", "\u0A74"], ["\u0A85", "\u0A8D"], ["\u0A8F", "\u0A91"], ["\u0A93", "\u0AA8"], ["\u0AAA", "\u0AB0"], ["\u0AB2", "\u0AB3"], ["\u0AB5", "\u0AB9"], "\u0ABD", "\u0AD0", ["\u0AE0", "\u0AE1"], "\u0AF9", ["\u0B05", "\u0B0C"], ["\u0B0F", "\u0B10"], ["\u0B13", "\u0B28"], ["\u0B2A", "\u0B30"], ["\u0B32", "\u0B33"], ["\u0B35", "\u0B39"], "\u0B3D", ["\u0B5C", "\u0B5D"], ["\u0B5F", "\u0B61"], "\u0B71", "\u0B83", ["\u0B85", "\u0B8A"], ["\u0B8E", "\u0B90"], ["\u0B92", "\u0B95"], ["\u0B99", "\u0B9A"], "\u0B9C", ["\u0B9E", "\u0B9F"], ["\u0BA3", "\u0BA4"], ["\u0BA8", "\u0BAA"], ["\u0BAE", "\u0BB9"], "\u0BD0", ["\u0C05", "\u0C0C"], ["\u0C0E", "\u0C10"], ["\u0C12", "\u0C28"], ["\u0C2A", "\u0C39"], "\u0C3D", ["\u0C58", "\u0C5A"], ["\u0C60", "\u0C61"], ["\u0C85", "\u0C8C"], ["\u0C8E", "\u0C90"], ["\u0C92", "\u0CA8"], ["\u0CAA", "\u0CB3"], ["\u0CB5", "\u0CB9"], "\u0CBD", "\u0CDE", ["\u0CE0", "\u0CE1"], ["\u0CF1", "\u0CF2"], ["\u0D05", "\u0D0C"], ["\u0D0E", "\u0D10"], ["\u0D12", "\u0D3A"], "\u0D3D", "\u0D4E", ["\u0D5F", "\u0D61"], ["\u0D7A", "\u0D7F"], ["\u0D85", "\u0D96"], ["\u0D9A", "\u0DB1"], ["\u0DB3", "\u0DBB"], "\u0DBD", ["\u0DC0", "\u0DC6"], ["\u0E01", "\u0E30"], ["\u0E32", "\u0E33"], ["\u0E40", "\u0E45"], ["\u0E81", "\u0E82"], "\u0E84", ["\u0E87", "\u0E88"], "\u0E8A", "\u0E8D", ["\u0E94", "\u0E97"], ["\u0E99", "\u0E9F"], ["\u0EA1", "\u0EA3"], "\u0EA5", "\u0EA7", ["\u0EAA", "\u0EAB"], ["\u0EAD", "\u0EB0"], ["\u0EB2", "\u0EB3"], "\u0EBD", ["\u0EC0", "\u0EC4"], ["\u0EDC", "\u0EDF"], "\u0F00", ["\u0F40", "\u0F47"], ["\u0F49", "\u0F6C"], ["\u0F88", "\u0F8C"], ["\u1000", "\u102A"], "\u103F", ["\u1050", "\u1055"], ["\u105A", "\u105D"], "\u1061", ["\u1065", "\u1066"], ["\u106E", "\u1070"], ["\u1075", "\u1081"], "\u108E", ["\u10D0", "\u10FA"], ["\u10FD", "\u1248"], ["\u124A", "\u124D"], ["\u1250", "\u1256"], "\u1258", ["\u125A", "\u125D"], ["\u1260", "\u1288"], ["\u128A", "\u128D"], ["\u1290", "\u12B0"], ["\u12B2", "\u12B5"], ["\u12B8", "\u12BE"], "\u12C0", ["\u12C2", "\u12C5"], ["\u12C8", "\u12D6"], ["\u12D8", "\u1310"], ["\u1312", "\u1315"], ["\u1318", "\u135A"], ["\u1380", "\u138F"], ["\u1401", "\u166C"], ["\u166F", "\u167F"], ["\u1681", "\u169A"], ["\u16A0", "\u16EA"], ["\u16F1", "\u16F8"], ["\u1700", "\u170C"], ["\u170E", "\u1711"], ["\u1720", "\u1731"], ["\u1740", "\u1751"], ["\u1760", "\u176C"], ["\u176E", "\u1770"], ["\u1780", "\u17B3"], "\u17DC", ["\u1820", "\u1842"], ["\u1844", "\u1877"], ["\u1880", "\u18A8"], "\u18AA", ["\u18B0", "\u18F5"], ["\u1900", "\u191E"], ["\u1950", "\u196D"], ["\u1970", "\u1974"], ["\u1980", "\u19AB"], ["\u19B0", "\u19C9"], ["\u1A00", "\u1A16"], ["\u1A20", "\u1A54"], ["\u1B05", "\u1B33"], ["\u1B45", "\u1B4B"], ["\u1B83", "\u1BA0"], ["\u1BAE", "\u1BAF"], ["\u1BBA", "\u1BE5"], ["\u1C00", "\u1C23"], ["\u1C4D", "\u1C4F"], ["\u1C5A", "\u1C77"], ["\u1CE9", "\u1CEC"], ["\u1CEE", "\u1CF1"], ["\u1CF5", "\u1CF6"], ["\u2135", "\u2138"], ["\u2D30", "\u2D67"], ["\u2D80", "\u2D96"], ["\u2DA0", "\u2DA6"], ["\u2DA8", "\u2DAE"], ["\u2DB0", "\u2DB6"], ["\u2DB8", "\u2DBE"], ["\u2DC0", "\u2DC6"], ["\u2DC8", "\u2DCE"], ["\u2DD0", "\u2DD6"], ["\u2DD8", "\u2DDE"], "\u3006", "\u303C", ["\u3041", "\u3096"], "\u309F", ["\u30A1", "\u30FA"], "\u30FF", ["\u3105", "\u312D"], ["\u3131", "\u318E"], ["\u31A0", "\u31BA"], ["\u31F0", "\u31FF"], ["\u3400", "\u4DB5"], ["\u4E00", "\u9FD5"], ["\uA000", "\uA014"], ["\uA016", "\uA48C"], ["\uA4D0", "\uA4F7"], ["\uA500", "\uA60B"], ["\uA610", "\uA61F"], ["\uA62A", "\uA62B"], "\uA66E", ["\uA6A0", "\uA6E5"], "\uA78F", "\uA7F7", ["\uA7FB", "\uA801"], ["\uA803", "\uA805"], ["\uA807", "\uA80A"], ["\uA80C", "\uA822"], ["\uA840", "\uA873"], ["\uA882", "\uA8B3"], ["\uA8F2", "\uA8F7"], "\uA8FB", "\uA8FD", ["\uA90A", "\uA925"], ["\uA930", "\uA946"], ["\uA960", "\uA97C"], ["\uA984", "\uA9B2"], ["\uA9E0", "\uA9E4"], ["\uA9E7", "\uA9EF"], ["\uA9FA", "\uA9FE"], ["\uAA00", "\uAA28"], ["\uAA40", "\uAA42"], ["\uAA44", "\uAA4B"], ["\uAA60", "\uAA6F"], ["\uAA71", "\uAA76"], "\uAA7A", ["\uAA7E", "\uAAAF"], "\uAAB1", ["\uAAB5", "\uAAB6"], ["\uAAB9", "\uAABD"], "\uAAC0", "\uAAC2", ["\uAADB", "\uAADC"], ["\uAAE0", "\uAAEA"], "\uAAF2", ["\uAB01", "\uAB06"], ["\uAB09", "\uAB0E"], ["\uAB11", "\uAB16"], ["\uAB20", "\uAB26"], ["\uAB28", "\uAB2E"], ["\uABC0", "\uABE2"], ["\uAC00", "\uD7A3"], ["\uD7B0", "\uD7C6"], ["\uD7CB", "\uD7FB"], ["\uF900", "\uFA6D"], ["\uFA70", "\uFAD9"], "\uFB1D", ["\uFB1F", "\uFB28"], ["\uFB2A", "\uFB36"], ["\uFB38", "\uFB3C"], "\uFB3E", ["\uFB40", "\uFB41"], ["\uFB43", "\uFB44"], ["\uFB46", "\uFBB1"], ["\uFBD3", "\uFD3D"], ["\uFD50", "\uFD8F"], ["\uFD92", "\uFDC7"], ["\uFDF0", "\uFDFB"], ["\uFE70", "\uFE74"], ["\uFE76", "\uFEFC"], ["\uFF66", "\uFF6F"], ["\uFF71", "\uFF9D"], ["\uFFA0", "\uFFBE"], ["\uFFC2", "\uFFC7"], ["\uFFCA", "\uFFCF"], ["\uFFD2", "\uFFD7"], ["\uFFDA", "\uFFDC"]], false, false); + var peg$e69 = peg$classExpectation(["\u01C5", "\u01C8", "\u01CB", "\u01F2", ["\u1F88", "\u1F8F"], ["\u1F98", "\u1F9F"], ["\u1FA8", "\u1FAF"], "\u1FBC", "\u1FCC", "\u1FFC"], false, false); + var peg$e70 = peg$classExpectation([["A", "Z"], ["\xC0", "\xD6"], ["\xD8", "\xDE"], "\u0100", "\u0102", "\u0104", "\u0106", "\u0108", "\u010A", "\u010C", "\u010E", "\u0110", "\u0112", "\u0114", "\u0116", "\u0118", "\u011A", "\u011C", "\u011E", "\u0120", "\u0122", "\u0124", "\u0126", "\u0128", "\u012A", "\u012C", "\u012E", "\u0130", "\u0132", "\u0134", "\u0136", "\u0139", "\u013B", "\u013D", "\u013F", "\u0141", "\u0143", "\u0145", "\u0147", "\u014A", "\u014C", "\u014E", "\u0150", "\u0152", "\u0154", "\u0156", "\u0158", "\u015A", "\u015C", "\u015E", "\u0160", "\u0162", "\u0164", "\u0166", "\u0168", "\u016A", "\u016C", "\u016E", "\u0170", "\u0172", "\u0174", "\u0176", ["\u0178", "\u0179"], "\u017B", "\u017D", ["\u0181", "\u0182"], "\u0184", ["\u0186", "\u0187"], ["\u0189", "\u018B"], ["\u018E", "\u0191"], ["\u0193", "\u0194"], ["\u0196", "\u0198"], ["\u019C", "\u019D"], ["\u019F", "\u01A0"], "\u01A2", "\u01A4", ["\u01A6", "\u01A7"], "\u01A9", "\u01AC", ["\u01AE", "\u01AF"], ["\u01B1", "\u01B3"], "\u01B5", ["\u01B7", "\u01B8"], "\u01BC", "\u01C4", "\u01C7", "\u01CA", "\u01CD", "\u01CF", "\u01D1", "\u01D3", "\u01D5", "\u01D7", "\u01D9", "\u01DB", "\u01DE", "\u01E0", "\u01E2", "\u01E4", "\u01E6", "\u01E8", "\u01EA", "\u01EC", "\u01EE", "\u01F1", "\u01F4", ["\u01F6", "\u01F8"], "\u01FA", "\u01FC", "\u01FE", "\u0200", "\u0202", "\u0204", "\u0206", "\u0208", "\u020A", "\u020C", "\u020E", "\u0210", "\u0212", "\u0214", "\u0216", "\u0218", "\u021A", "\u021C", "\u021E", "\u0220", "\u0222", "\u0224", "\u0226", "\u0228", "\u022A", "\u022C", "\u022E", "\u0230", "\u0232", ["\u023A", "\u023B"], ["\u023D", "\u023E"], "\u0241", ["\u0243", "\u0246"], "\u0248", "\u024A", "\u024C", "\u024E", "\u0370", "\u0372", "\u0376", "\u037F", "\u0386", ["\u0388", "\u038A"], "\u038C", ["\u038E", "\u038F"], ["\u0391", "\u03A1"], ["\u03A3", "\u03AB"], "\u03CF", ["\u03D2", "\u03D4"], "\u03D8", "\u03DA", "\u03DC", "\u03DE", "\u03E0", "\u03E2", "\u03E4", "\u03E6", "\u03E8", "\u03EA", "\u03EC", "\u03EE", "\u03F4", "\u03F7", ["\u03F9", "\u03FA"], ["\u03FD", "\u042F"], "\u0460", "\u0462", "\u0464", "\u0466", "\u0468", "\u046A", "\u046C", "\u046E", "\u0470", "\u0472", "\u0474", "\u0476", "\u0478", "\u047A", "\u047C", "\u047E", "\u0480", "\u048A", "\u048C", "\u048E", "\u0490", "\u0492", "\u0494", "\u0496", "\u0498", "\u049A", "\u049C", "\u049E", "\u04A0", "\u04A2", "\u04A4", "\u04A6", "\u04A8", "\u04AA", "\u04AC", "\u04AE", "\u04B0", "\u04B2", "\u04B4", "\u04B6", "\u04B8", "\u04BA", "\u04BC", "\u04BE", ["\u04C0", "\u04C1"], "\u04C3", "\u04C5", "\u04C7", "\u04C9", "\u04CB", "\u04CD", "\u04D0", "\u04D2", "\u04D4", "\u04D6", "\u04D8", "\u04DA", "\u04DC", "\u04DE", "\u04E0", "\u04E2", "\u04E4", "\u04E6", "\u04E8", "\u04EA", "\u04EC", "\u04EE", "\u04F0", "\u04F2", "\u04F4", "\u04F6", "\u04F8", "\u04FA", "\u04FC", "\u04FE", "\u0500", "\u0502", "\u0504", "\u0506", "\u0508", "\u050A", "\u050C", "\u050E", "\u0510", "\u0512", "\u0514", "\u0516", "\u0518", "\u051A", "\u051C", "\u051E", "\u0520", "\u0522", "\u0524", "\u0526", "\u0528", "\u052A", "\u052C", "\u052E", ["\u0531", "\u0556"], ["\u10A0", "\u10C5"], "\u10C7", "\u10CD", ["\u13A0", "\u13F5"], "\u1E00", "\u1E02", "\u1E04", "\u1E06", "\u1E08", "\u1E0A", "\u1E0C", "\u1E0E", "\u1E10", "\u1E12", "\u1E14", "\u1E16", "\u1E18", "\u1E1A", "\u1E1C", "\u1E1E", "\u1E20", "\u1E22", "\u1E24", "\u1E26", "\u1E28", "\u1E2A", "\u1E2C", "\u1E2E", "\u1E30", "\u1E32", "\u1E34", "\u1E36", "\u1E38", "\u1E3A", "\u1E3C", "\u1E3E", "\u1E40", "\u1E42", "\u1E44", "\u1E46", "\u1E48", "\u1E4A", "\u1E4C", "\u1E4E", "\u1E50", "\u1E52", "\u1E54", "\u1E56", "\u1E58", "\u1E5A", "\u1E5C", "\u1E5E", "\u1E60", "\u1E62", "\u1E64", "\u1E66", "\u1E68", "\u1E6A", "\u1E6C", "\u1E6E", "\u1E70", "\u1E72", "\u1E74", "\u1E76", "\u1E78", "\u1E7A", "\u1E7C", "\u1E7E", "\u1E80", "\u1E82", "\u1E84", "\u1E86", "\u1E88", "\u1E8A", "\u1E8C", "\u1E8E", "\u1E90", "\u1E92", "\u1E94", "\u1E9E", "\u1EA0", "\u1EA2", "\u1EA4", "\u1EA6", "\u1EA8", "\u1EAA", "\u1EAC", "\u1EAE", "\u1EB0", "\u1EB2", "\u1EB4", "\u1EB6", "\u1EB8", "\u1EBA", "\u1EBC", "\u1EBE", "\u1EC0", "\u1EC2", "\u1EC4", "\u1EC6", "\u1EC8", "\u1ECA", "\u1ECC", "\u1ECE", "\u1ED0", "\u1ED2", "\u1ED4", "\u1ED6", "\u1ED8", "\u1EDA", "\u1EDC", "\u1EDE", "\u1EE0", "\u1EE2", "\u1EE4", "\u1EE6", "\u1EE8", "\u1EEA", "\u1EEC", "\u1EEE", "\u1EF0", "\u1EF2", "\u1EF4", "\u1EF6", "\u1EF8", "\u1EFA", "\u1EFC", "\u1EFE", ["\u1F08", "\u1F0F"], ["\u1F18", "\u1F1D"], ["\u1F28", "\u1F2F"], ["\u1F38", "\u1F3F"], ["\u1F48", "\u1F4D"], "\u1F59", "\u1F5B", "\u1F5D", "\u1F5F", ["\u1F68", "\u1F6F"], ["\u1FB8", "\u1FBB"], ["\u1FC8", "\u1FCB"], ["\u1FD8", "\u1FDB"], ["\u1FE8", "\u1FEC"], ["\u1FF8", "\u1FFB"], "\u2102", "\u2107", ["\u210B", "\u210D"], ["\u2110", "\u2112"], "\u2115", ["\u2119", "\u211D"], "\u2124", "\u2126", "\u2128", ["\u212A", "\u212D"], ["\u2130", "\u2133"], ["\u213E", "\u213F"], "\u2145", "\u2183", ["\u2C00", "\u2C2E"], "\u2C60", ["\u2C62", "\u2C64"], "\u2C67", "\u2C69", "\u2C6B", ["\u2C6D", "\u2C70"], "\u2C72", "\u2C75", ["\u2C7E", "\u2C80"], "\u2C82", "\u2C84", "\u2C86", "\u2C88", "\u2C8A", "\u2C8C", "\u2C8E", "\u2C90", "\u2C92", "\u2C94", "\u2C96", "\u2C98", "\u2C9A", "\u2C9C", "\u2C9E", "\u2CA0", "\u2CA2", "\u2CA4", "\u2CA6", "\u2CA8", "\u2CAA", "\u2CAC", "\u2CAE", "\u2CB0", "\u2CB2", "\u2CB4", "\u2CB6", "\u2CB8", "\u2CBA", "\u2CBC", "\u2CBE", "\u2CC0", "\u2CC2", "\u2CC4", "\u2CC6", "\u2CC8", "\u2CCA", "\u2CCC", "\u2CCE", "\u2CD0", "\u2CD2", "\u2CD4", "\u2CD6", "\u2CD8", "\u2CDA", "\u2CDC", "\u2CDE", "\u2CE0", "\u2CE2", "\u2CEB", "\u2CED", "\u2CF2", "\uA640", "\uA642", "\uA644", "\uA646", "\uA648", "\uA64A", "\uA64C", "\uA64E", "\uA650", "\uA652", "\uA654", "\uA656", "\uA658", "\uA65A", "\uA65C", "\uA65E", "\uA660", "\uA662", "\uA664", "\uA666", "\uA668", "\uA66A", "\uA66C", "\uA680", "\uA682", "\uA684", "\uA686", "\uA688", "\uA68A", "\uA68C", "\uA68E", "\uA690", "\uA692", "\uA694", "\uA696", "\uA698", "\uA69A", "\uA722", "\uA724", "\uA726", "\uA728", "\uA72A", "\uA72C", "\uA72E", "\uA732", "\uA734", "\uA736", "\uA738", "\uA73A", "\uA73C", "\uA73E", "\uA740", "\uA742", "\uA744", "\uA746", "\uA748", "\uA74A", "\uA74C", "\uA74E", "\uA750", "\uA752", "\uA754", "\uA756", "\uA758", "\uA75A", "\uA75C", "\uA75E", "\uA760", "\uA762", "\uA764", "\uA766", "\uA768", "\uA76A", "\uA76C", "\uA76E", "\uA779", "\uA77B", ["\uA77D", "\uA77E"], "\uA780", "\uA782", "\uA784", "\uA786", "\uA78B", "\uA78D", "\uA790", "\uA792", "\uA796", "\uA798", "\uA79A", "\uA79C", "\uA79E", "\uA7A0", "\uA7A2", "\uA7A4", "\uA7A6", "\uA7A8", ["\uA7AA", "\uA7AD"], ["\uA7B0", "\uA7B4"], "\uA7B6", ["\uFF21", "\uFF3A"]], false, false); + var peg$e71 = peg$classExpectation(["\u0903", "\u093B", ["\u093E", "\u0940"], ["\u0949", "\u094C"], ["\u094E", "\u094F"], ["\u0982", "\u0983"], ["\u09BE", "\u09C0"], ["\u09C7", "\u09C8"], ["\u09CB", "\u09CC"], "\u09D7", "\u0A03", ["\u0A3E", "\u0A40"], "\u0A83", ["\u0ABE", "\u0AC0"], "\u0AC9", ["\u0ACB", "\u0ACC"], ["\u0B02", "\u0B03"], "\u0B3E", "\u0B40", ["\u0B47", "\u0B48"], ["\u0B4B", "\u0B4C"], "\u0B57", ["\u0BBE", "\u0BBF"], ["\u0BC1", "\u0BC2"], ["\u0BC6", "\u0BC8"], ["\u0BCA", "\u0BCC"], "\u0BD7", ["\u0C01", "\u0C03"], ["\u0C41", "\u0C44"], ["\u0C82", "\u0C83"], "\u0CBE", ["\u0CC0", "\u0CC4"], ["\u0CC7", "\u0CC8"], ["\u0CCA", "\u0CCB"], ["\u0CD5", "\u0CD6"], ["\u0D02", "\u0D03"], ["\u0D3E", "\u0D40"], ["\u0D46", "\u0D48"], ["\u0D4A", "\u0D4C"], "\u0D57", ["\u0D82", "\u0D83"], ["\u0DCF", "\u0DD1"], ["\u0DD8", "\u0DDF"], ["\u0DF2", "\u0DF3"], ["\u0F3E", "\u0F3F"], "\u0F7F", ["\u102B", "\u102C"], "\u1031", "\u1038", ["\u103B", "\u103C"], ["\u1056", "\u1057"], ["\u1062", "\u1064"], ["\u1067", "\u106D"], ["\u1083", "\u1084"], ["\u1087", "\u108C"], "\u108F", ["\u109A", "\u109C"], "\u17B6", ["\u17BE", "\u17C5"], ["\u17C7", "\u17C8"], ["\u1923", "\u1926"], ["\u1929", "\u192B"], ["\u1930", "\u1931"], ["\u1933", "\u1938"], ["\u1A19", "\u1A1A"], "\u1A55", "\u1A57", "\u1A61", ["\u1A63", "\u1A64"], ["\u1A6D", "\u1A72"], "\u1B04", "\u1B35", "\u1B3B", ["\u1B3D", "\u1B41"], ["\u1B43", "\u1B44"], "\u1B82", "\u1BA1", ["\u1BA6", "\u1BA7"], "\u1BAA", "\u1BE7", ["\u1BEA", "\u1BEC"], "\u1BEE", ["\u1BF2", "\u1BF3"], ["\u1C24", "\u1C2B"], ["\u1C34", "\u1C35"], "\u1CE1", ["\u1CF2", "\u1CF3"], ["\u302E", "\u302F"], ["\uA823", "\uA824"], "\uA827", ["\uA880", "\uA881"], ["\uA8B4", "\uA8C3"], ["\uA952", "\uA953"], "\uA983", ["\uA9B4", "\uA9B5"], ["\uA9BA", "\uA9BB"], ["\uA9BD", "\uA9C0"], ["\uAA2F", "\uAA30"], ["\uAA33", "\uAA34"], "\uAA4D", "\uAA7B", "\uAA7D", "\uAAEB", ["\uAAEE", "\uAAEF"], "\uAAF5", ["\uABE3", "\uABE4"], ["\uABE6", "\uABE7"], ["\uABE9", "\uABEA"], "\uABEC"], false, false); + var peg$e72 = peg$classExpectation([["\u0300", "\u036F"], ["\u0483", "\u0487"], ["\u0591", "\u05BD"], "\u05BF", ["\u05C1", "\u05C2"], ["\u05C4", "\u05C5"], "\u05C7", ["\u0610", "\u061A"], ["\u064B", "\u065F"], "\u0670", ["\u06D6", "\u06DC"], ["\u06DF", "\u06E4"], ["\u06E7", "\u06E8"], ["\u06EA", "\u06ED"], "\u0711", ["\u0730", "\u074A"], ["\u07A6", "\u07B0"], ["\u07EB", "\u07F3"], ["\u0816", "\u0819"], ["\u081B", "\u0823"], ["\u0825", "\u0827"], ["\u0829", "\u082D"], ["\u0859", "\u085B"], ["\u08E3", "\u0902"], "\u093A", "\u093C", ["\u0941", "\u0948"], "\u094D", ["\u0951", "\u0957"], ["\u0962", "\u0963"], "\u0981", "\u09BC", ["\u09C1", "\u09C4"], "\u09CD", ["\u09E2", "\u09E3"], ["\u0A01", "\u0A02"], "\u0A3C", ["\u0A41", "\u0A42"], ["\u0A47", "\u0A48"], ["\u0A4B", "\u0A4D"], "\u0A51", ["\u0A70", "\u0A71"], "\u0A75", ["\u0A81", "\u0A82"], "\u0ABC", ["\u0AC1", "\u0AC5"], ["\u0AC7", "\u0AC8"], "\u0ACD", ["\u0AE2", "\u0AE3"], "\u0B01", "\u0B3C", "\u0B3F", ["\u0B41", "\u0B44"], "\u0B4D", "\u0B56", ["\u0B62", "\u0B63"], "\u0B82", "\u0BC0", "\u0BCD", "\u0C00", ["\u0C3E", "\u0C40"], ["\u0C46", "\u0C48"], ["\u0C4A", "\u0C4D"], ["\u0C55", "\u0C56"], ["\u0C62", "\u0C63"], "\u0C81", "\u0CBC", "\u0CBF", "\u0CC6", ["\u0CCC", "\u0CCD"], ["\u0CE2", "\u0CE3"], "\u0D01", ["\u0D41", "\u0D44"], "\u0D4D", ["\u0D62", "\u0D63"], "\u0DCA", ["\u0DD2", "\u0DD4"], "\u0DD6", "\u0E31", ["\u0E34", "\u0E3A"], ["\u0E47", "\u0E4E"], "\u0EB1", ["\u0EB4", "\u0EB9"], ["\u0EBB", "\u0EBC"], ["\u0EC8", "\u0ECD"], ["\u0F18", "\u0F19"], "\u0F35", "\u0F37", "\u0F39", ["\u0F71", "\u0F7E"], ["\u0F80", "\u0F84"], ["\u0F86", "\u0F87"], ["\u0F8D", "\u0F97"], ["\u0F99", "\u0FBC"], "\u0FC6", ["\u102D", "\u1030"], ["\u1032", "\u1037"], ["\u1039", "\u103A"], ["\u103D", "\u103E"], ["\u1058", "\u1059"], ["\u105E", "\u1060"], ["\u1071", "\u1074"], "\u1082", ["\u1085", "\u1086"], "\u108D", "\u109D", ["\u135D", "\u135F"], ["\u1712", "\u1714"], ["\u1732", "\u1734"], ["\u1752", "\u1753"], ["\u1772", "\u1773"], ["\u17B4", "\u17B5"], ["\u17B7", "\u17BD"], "\u17C6", ["\u17C9", "\u17D3"], "\u17DD", ["\u180B", "\u180D"], "\u18A9", ["\u1920", "\u1922"], ["\u1927", "\u1928"], "\u1932", ["\u1939", "\u193B"], ["\u1A17", "\u1A18"], "\u1A1B", "\u1A56", ["\u1A58", "\u1A5E"], "\u1A60", "\u1A62", ["\u1A65", "\u1A6C"], ["\u1A73", "\u1A7C"], "\u1A7F", ["\u1AB0", "\u1ABD"], ["\u1B00", "\u1B03"], "\u1B34", ["\u1B36", "\u1B3A"], "\u1B3C", "\u1B42", ["\u1B6B", "\u1B73"], ["\u1B80", "\u1B81"], ["\u1BA2", "\u1BA5"], ["\u1BA8", "\u1BA9"], ["\u1BAB", "\u1BAD"], "\u1BE6", ["\u1BE8", "\u1BE9"], "\u1BED", ["\u1BEF", "\u1BF1"], ["\u1C2C", "\u1C33"], ["\u1C36", "\u1C37"], ["\u1CD0", "\u1CD2"], ["\u1CD4", "\u1CE0"], ["\u1CE2", "\u1CE8"], "\u1CED", "\u1CF4", ["\u1CF8", "\u1CF9"], ["\u1DC0", "\u1DF5"], ["\u1DFC", "\u1DFF"], ["\u20D0", "\u20DC"], "\u20E1", ["\u20E5", "\u20F0"], ["\u2CEF", "\u2CF1"], "\u2D7F", ["\u2DE0", "\u2DFF"], ["\u302A", "\u302D"], ["\u3099", "\u309A"], "\uA66F", ["\uA674", "\uA67D"], ["\uA69E", "\uA69F"], ["\uA6F0", "\uA6F1"], "\uA802", "\uA806", "\uA80B", ["\uA825", "\uA826"], "\uA8C4", ["\uA8E0", "\uA8F1"], ["\uA926", "\uA92D"], ["\uA947", "\uA951"], ["\uA980", "\uA982"], "\uA9B3", ["\uA9B6", "\uA9B9"], "\uA9BC", "\uA9E5", ["\uAA29", "\uAA2E"], ["\uAA31", "\uAA32"], ["\uAA35", "\uAA36"], "\uAA43", "\uAA4C", "\uAA7C", "\uAAB0", ["\uAAB2", "\uAAB4"], ["\uAAB7", "\uAAB8"], ["\uAABE", "\uAABF"], "\uAAC1", ["\uAAEC", "\uAAED"], "\uAAF6", "\uABE5", "\uABE8", "\uABED", "\uFB1E", ["\uFE00", "\uFE0F"], ["\uFE20", "\uFE2F"]], false, false); + var peg$e73 = peg$classExpectation([["0", "9"], ["\u0660", "\u0669"], ["\u06F0", "\u06F9"], ["\u07C0", "\u07C9"], ["\u0966", "\u096F"], ["\u09E6", "\u09EF"], ["\u0A66", "\u0A6F"], ["\u0AE6", "\u0AEF"], ["\u0B66", "\u0B6F"], ["\u0BE6", "\u0BEF"], ["\u0C66", "\u0C6F"], ["\u0CE6", "\u0CEF"], ["\u0D66", "\u0D6F"], ["\u0DE6", "\u0DEF"], ["\u0E50", "\u0E59"], ["\u0ED0", "\u0ED9"], ["\u0F20", "\u0F29"], ["\u1040", "\u1049"], ["\u1090", "\u1099"], ["\u17E0", "\u17E9"], ["\u1810", "\u1819"], ["\u1946", "\u194F"], ["\u19D0", "\u19D9"], ["\u1A80", "\u1A89"], ["\u1A90", "\u1A99"], ["\u1B50", "\u1B59"], ["\u1BB0", "\u1BB9"], ["\u1C40", "\u1C49"], ["\u1C50", "\u1C59"], ["\uA620", "\uA629"], ["\uA8D0", "\uA8D9"], ["\uA900", "\uA909"], ["\uA9D0", "\uA9D9"], ["\uA9F0", "\uA9F9"], ["\uAA50", "\uAA59"], ["\uABF0", "\uABF9"], ["\uFF10", "\uFF19"]], false, false); + var peg$e74 = peg$classExpectation([["\u16EE", "\u16F0"], ["\u2160", "\u2182"], ["\u2185", "\u2188"], "\u3007", ["\u3021", "\u3029"], ["\u3038", "\u303A"], ["\uA6E6", "\uA6EF"]], false, false); + var peg$e75 = peg$classExpectation(["_", ["\u203F", "\u2040"], "\u2054", ["\uFE33", "\uFE34"], ["\uFE4D", "\uFE4F"], "\uFF3F"], false, false); + var peg$e76 = peg$classExpectation([" ", "\xA0", "\u1680", ["\u2000", "\u200A"], "\u202F", "\u205F", "\u3000"], false, false); + + var peg$f0 = function(imports, code) { + return [imports, { + type: "top_level_initializer", + code: code[0], + codeLocation: code[1], + }]; +}; + var peg$f1 = function(code) { + return { + type: "top_level_initializer", + code, + codeLocation: location() + }; + }; + var peg$f2 = function(id) { + return reservedWords.indexOf(id[0]) === -1 +}; + var peg$f3 = function(topLevelInitializer, initializer, rules) { + return { + type: "grammar", + topLevelInitializer, + initializer, + rules, + location: location() + }; + }; + var peg$f4 = function(code) { + return { + type: "top_level_initializer", + code: code[0], + codeLocation: code[1], + location: location() + }; + }; + var peg$f5 = function(code) { + return { + type: "initializer", + code: code[0], + codeLocation: code[1], + location: location() + }; + }; + var peg$f6 = function(name, displayName, expression) { + return { + type: "rule", + name: name[0], + nameLocation: name[1], + expression: displayName !== null + ? { + type: "named", + name: displayName, + expression, + location: location() + } + : expression, + location: location() + }; + }; + var peg$f7 = function(head, tail) { + return tail.length > 0 + ? { + type: "choice", + alternatives: [head].concat(tail), + location: location() + } + : head; + }; + var peg$f8 = function(expression, code) { + return code !== null + ? { + type: "action", + expression, + code: code[0], + codeLocation: code[1], + location: location() + } + : expression; + }; + var peg$f9 = function(head, tail) { + return ((tail.length > 0) || (head.type === "labeled" && head.pick)) + ? { + type: "sequence", + elements: [head].concat(tail), + location: location() + } + : head; + }; + var peg$f10 = function(pluck, label, expression) { + if (expression.type.startsWith("semantic_")) { + error("\"@\" cannot be used on a semantic predicate", pluck); + } + return { + type: "labeled", + label: label !== null ? label[0] : null, + // Use location of "@" if label is unavailable + labelLocation: label !== null ? label[1] : pluck, + pick: true, + expression, + location: location() + }; + }; + var peg$f11 = function(label, expression) { + return { + type: "labeled", + label: label[0], + labelLocation: label[1], + expression, + location: location() + }; + }; + var peg$f12 = function() { return location(); }; + var peg$f13 = function(label) { + if (reservedWords.indexOf(label[0]) >= 0) { + error(`Label can't be a reserved word "${label[0]}"`, label[1]); + } + + return label; + }; + var peg$f14 = function(operator, expression) { + return { + type: OPS_TO_PREFIXED_TYPES[operator], + expression, + location: location() + }; + }; + var peg$f15 = function(expression, operator) { + return { + type: OPS_TO_SUFFIXED_TYPES[operator], + expression, + location: location() + }; + }; + var peg$f16 = function(expression, boundaries, delimiter) { + let min = boundaries[0]; + let max = boundaries[1]; + if (max.type === "constant" && max.value === 0) { + error("The maximum count of repetitions of the rule must be > 0", max.location); + } + + return { + type: "repeated", + min, + max, + expression, + delimiter, + location: location(), + }; + }; + var peg$f17 = function(min, max) { + return [ + min !== null ? min : { type: "constant", value: 0 }, + max !== null ? max : { type: "constant", value: null }, + ]; + }; + var peg$f18 = function(exact) { return [null, exact]; }; + var peg$f19 = function(value) { return { type: "constant", value, location: location() }; }; + var peg$f20 = function(value) { return { type: "variable", value: value[0], location: location() }; }; + var peg$f21 = function(value) { + return { + type: "function", + value: value[0], + codeLocation: value[1], + location: location(), + }; + }; + var peg$f22 = function(expression) { + // The purpose of the "group" AST node is just to isolate label scope. We + // don't need to put it around nodes that can't contain any labels or + // nodes that already isolate label scope themselves. This leaves us with + // "labeled" and "sequence". + return expression.type === "labeled" || expression.type === "sequence" + ? { type: "group", expression, location: location() } + : expression; + }; + var peg$f23 = function(name) { + return { type: "rule_ref", name: name[0], location: location() }; + }; + var peg$f24 = function(operator, code) { + return { + type: OPS_TO_SEMANTIC_PREDICATE_TYPES[operator], + code: code[0], + codeLocation: code[1], + location: location() + }; + }; + var peg$f25 = function(head, tail) { + return [head + tail.join(""), location()]; + }; + var peg$f26 = function(value, ignoreCase) { + return { + type: "literal", + value, + ignoreCase: ignoreCase !== null, + location: location() + }; + }; + var peg$f27 = function(chars) { return chars.join(""); }; + var peg$f28 = function(chars) { return chars.join(""); }; + var peg$f29 = function(inverted, parts, ignoreCase) { + return { + type: "class", + parts: parts.filter(part => part !== ""), + inverted: inverted !== null, + ignoreCase: ignoreCase !== null, + location: location() + }; + }; + var peg$f30 = function(begin, end) { + if (begin.charCodeAt(0) > end.charCodeAt(0)) { + error( + "Invalid character range: " + text() + "." + ); + } + + return [begin, end]; + }; + var peg$f31 = function() { return ""; }; + var peg$f32 = function() { return "\0"; }; + var peg$f33 = function() { return "\b"; }; + var peg$f34 = function() { return "\f"; }; + var peg$f35 = function() { return "\n"; }; + var peg$f36 = function() { return "\r"; }; + var peg$f37 = function() { return "\t"; }; + var peg$f38 = function() { return "\v"; }; + var peg$f39 = function(digits) { + return String.fromCharCode(parseInt(digits, 16)); + }; + var peg$f40 = function(digits) { + return String.fromCharCode(parseInt(digits, 16)); + }; + var peg$f41 = function() { return { type: "any", location: location() }; }; + var peg$f42 = function(code) { return [code, location()]; }; + var peg$f43 = function(digits) { return parseInt(digits, 10); }; + var peg$currPos = 0; + var peg$savedPos = 0; + var peg$posDetailsCache = [{ line: 1, column: 1 }]; + var peg$maxFailPos = 0; + var peg$maxFailExpected = []; + var peg$silentFails = 0; + + var peg$result; + + if ("startRule" in options) { + if (!(options.startRule in peg$startRuleFunctions)) { + throw new Error("Can't start parsing from rule \"" + options.startRule + "\"."); + } + + peg$startRuleFunction = peg$startRuleFunctions[options.startRule]; + } + + function text() { + return input.substring(peg$savedPos, peg$currPos); + } + + function offset() { + return peg$savedPos; + } + + function range() { + return { + source: peg$source, + start: peg$savedPos, + end: peg$currPos + }; + } + + function location() { + return peg$computeLocation(peg$savedPos, peg$currPos); + } + + function expected(description, location) { + location = location !== undefined + ? location + : peg$computeLocation(peg$savedPos, peg$currPos); + + throw peg$buildStructuredError( + [peg$otherExpectation(description)], + input.substring(peg$savedPos, peg$currPos), + location + ); + } + + function error(message, location) { + location = location !== undefined + ? location + : peg$computeLocation(peg$savedPos, peg$currPos); + + throw peg$buildSimpleError(message, location); + } + + function peg$literalExpectation(text, ignoreCase) { + return { type: "literal", text: text, ignoreCase: ignoreCase }; + } + + function peg$classExpectation(parts, inverted, ignoreCase) { + return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase }; + } + + function peg$anyExpectation() { + return { type: "any" }; + } + + function peg$endExpectation() { + return { type: "end" }; + } + + function peg$otherExpectation(description) { + return { type: "other", description: description }; + } + + function peg$computePosDetails(pos) { + var details = peg$posDetailsCache[pos]; + var p; + + if (details) { + return details; + } else { + if (pos >= peg$posDetailsCache.length) { + p = peg$posDetailsCache.length - 1; + } else { + p = pos; + while (!peg$posDetailsCache[--p]) {} + } + + details = peg$posDetailsCache[p]; + details = { + line: details.line, + column: details.column + }; + + while (p < pos) { + if (input.charCodeAt(p) === 10) { + details.line++; + details.column = 1; + } else { + details.column++; + } + + p++; + } + + peg$posDetailsCache[pos] = details; + + return details; + } + } + + function peg$computeLocation(startPos, endPos, offset) { + var startPosDetails = peg$computePosDetails(startPos); + var endPosDetails = peg$computePosDetails(endPos); + + var res = { + source: peg$source, + start: { + offset: startPos, + line: startPosDetails.line, + column: startPosDetails.column + }, + end: { + offset: endPos, + line: endPosDetails.line, + column: endPosDetails.column + } + }; + if (offset && peg$source && (typeof peg$source.offset === "function")) { + res.start = peg$source.offset(res.start); + res.end = peg$source.offset(res.end); + } + return res; + } + + function peg$fail(expected) { + if (peg$currPos < peg$maxFailPos) { return; } + + if (peg$currPos > peg$maxFailPos) { + peg$maxFailPos = peg$currPos; + peg$maxFailExpected = []; + } + + peg$maxFailExpected.push(expected); + } + + function peg$buildSimpleError(message, location) { + return new peg$SyntaxError(message, null, null, location); + } + + function peg$buildStructuredError(expected, found, location) { + return new peg$SyntaxError( + peg$SyntaxError.buildMessage(expected, found), + expected, + found, + location + ); + } + + function peg$parseJSSource() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = peg$parseImportDeclarations(); + s2 = peg$parseBareCodeBlock(); + peg$savedPos = s0; + s0 = peg$f0(s1, s2); + + return s0; + } + + function peg$parseImportDeclarations() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$currPos; + s2 = []; + s3 = peg$parseImportDeclaration(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parseImportDeclaration(); + } + s1 = input.substring(s1, peg$currPos); + peg$savedPos = s0; + s1 = peg$f1(s1); + s0 = s1; + + return s0; + } + + function peg$parseImportDeclaration() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8; + + s0 = peg$currPos; + s1 = peg$parse__(); + if (input.substr(peg$currPos, 6) === peg$c0) { + s2 = peg$c0; + peg$currPos += 6; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e0); } + } + if (s2 !== peg$FAILED) { + s3 = peg$parse__(); + s4 = peg$parseImportClause(); + if (s4 !== peg$FAILED) { + s5 = peg$parse__(); + s6 = peg$parseFromClause(); + if (s6 !== peg$FAILED) { + s7 = peg$parse__(); + if (input.charCodeAt(peg$currPos) === 59) { + s8 = peg$c1; + peg$currPos++; + } else { + s8 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e1); } + } + if (s8 === peg$FAILED) { + s8 = null; + } + s1 = [s1, s2, s3, s4, s5, s6, s7, s8]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parse__(); + if (input.substr(peg$currPos, 6) === peg$c0) { + s2 = peg$c0; + peg$currPos += 6; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e0); } + } + if (s2 !== peg$FAILED) { + s3 = peg$parse__(); + s4 = peg$parseStringLiteral(); + if (s4 !== peg$FAILED) { + s5 = peg$parse__(); + if (input.charCodeAt(peg$currPos) === 59) { + s6 = peg$c1; + peg$currPos++; + } else { + s6 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e1); } + } + if (s6 === peg$FAILED) { + s6 = null; + } + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + + return s0; + } + + function peg$parseImportClause() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$parseBindingIdentifier(); + if (s0 === peg$FAILED) { + s0 = peg$parseNameSpaceImport(); + if (s0 === peg$FAILED) { + s0 = peg$parseNamedImports(); + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parseBindingIdentifier(); + if (s1 !== peg$FAILED) { + s2 = peg$parse__(); + if (input.charCodeAt(peg$currPos) === 44) { + s3 = peg$c2; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e2); } + } + if (s3 !== peg$FAILED) { + s4 = peg$parse__(); + s5 = peg$parseNameSpaceImport(); + if (s5 === peg$FAILED) { + s5 = peg$parseNamedImports(); + } + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + } + } + + return s0; + } + + function peg$parseNameSpaceImport() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 42) { + s1 = peg$c3; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e3); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parse__(); + if (input.substr(peg$currPos, 2) === peg$c4) { + s3 = peg$c4; + peg$currPos += 2; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e4); } + } + if (s3 !== peg$FAILED) { + s4 = peg$parse__(); + s5 = peg$parseBindingIdentifier(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseNamedImports() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 123) { + s1 = peg$c5; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e5); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parse__(); + if (input.charCodeAt(peg$currPos) === 125) { + s3 = peg$c6; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e6); } + } + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 123) { + s1 = peg$c5; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e5); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parse__(); + s3 = peg$parseImportsList(); + if (s3 !== peg$FAILED) { + s4 = peg$parse__(); + if (input.charCodeAt(peg$currPos) === 44) { + s5 = peg$c2; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e2); } + } + if (s5 === peg$FAILED) { + s5 = null; + } + s6 = peg$parse__(); + if (input.charCodeAt(peg$currPos) === 125) { + s7 = peg$c6; + peg$currPos++; + } else { + s7 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e6); } + } + if (s7 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + + return s0; + } + + function peg$parseFromClause() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + if (input.substr(peg$currPos, 4) === peg$c7) { + s1 = peg$c7; + peg$currPos += 4; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e7); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parse__(); + s3 = peg$parseStringLiteral(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseImportsList() { + var s0, s1, s2, s3, s4, s5, s6; + + s0 = peg$currPos; + s1 = []; + s2 = peg$parseImportSpecifier(); + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$currPos; + s3 = peg$currPos; + s4 = peg$parse__(); + if (input.charCodeAt(peg$currPos) === 44) { + s5 = peg$c2; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e2); } + } + if (s5 !== peg$FAILED) { + s6 = peg$parse__(); + s4 = [s4, s5, s6]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + if (s3 !== peg$FAILED) { + s3 = peg$parseImportSpecifier(); + if (s3 === peg$FAILED) { + peg$currPos = s2; + s2 = peg$FAILED; + } else { + s2 = s3; + } + } else { + s2 = s3; + } + } + if (s1.length < 1) { + peg$currPos = s0; + s0 = peg$FAILED; + } else { + s0 = s1; + } + + return s0; + } + + function peg$parseImportSpecifier() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parseModuleExportName(); + if (s1 !== peg$FAILED) { + s2 = peg$parse__(); + if (input.substr(peg$currPos, 2) === peg$c4) { + s3 = peg$c4; + peg$currPos += 2; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e4); } + } + if (s3 !== peg$FAILED) { + s4 = peg$parse__(); + s5 = peg$parseBindingIdentifier(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$parseBindingIdentifier(); + } + + return s0; + } + + function peg$parseModuleExportName() { + var s0; + + s0 = peg$parseIdentifierName(); + if (s0 === peg$FAILED) { + s0 = peg$parseStringLiteral(); + } + + return s0; + } + + function peg$parseBindingIdentifier() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = peg$parseIdentifierName(); + if (s1 !== peg$FAILED) { + peg$savedPos = peg$currPos; + s2 = peg$f2(s1); + if (s2) { + s2 = undefined; + } else { + s2 = peg$FAILED; + } + if (s2 !== peg$FAILED) { + s1 = [s1, s2]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseGrammar() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + s0 = peg$currPos; + s1 = peg$parse__(); + s2 = peg$currPos; + s3 = peg$parseTopLevelInitializer(); + if (s3 !== peg$FAILED) { + s4 = peg$parse__(); + s2 = s3; + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + if (s2 === peg$FAILED) { + s2 = null; + } + s3 = peg$currPos; + s4 = peg$parseInitializer(); + if (s4 !== peg$FAILED) { + s5 = peg$parse__(); + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + if (s3 === peg$FAILED) { + s3 = null; + } + s4 = []; + s5 = peg$currPos; + s6 = peg$parseRule(); + if (s6 !== peg$FAILED) { + s7 = peg$parse__(); + s5 = s6; + } else { + peg$currPos = s5; + s5 = peg$FAILED; + } + if (s5 !== peg$FAILED) { + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$currPos; + s6 = peg$parseRule(); + if (s6 !== peg$FAILED) { + s7 = peg$parse__(); + s5 = s6; + } else { + peg$currPos = s5; + s5 = peg$FAILED; + } + } + } else { + s4 = peg$FAILED; + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f3(s2, s3, s4); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseTopLevelInitializer() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 123) { + s1 = peg$c5; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e5); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parseCodeBlock(); + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 125) { + s3 = peg$c6; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e6); } + } + if (s3 !== peg$FAILED) { + s4 = peg$parseEOS(); + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f4(s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseInitializer() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = peg$parseCodeBlock(); + if (s1 !== peg$FAILED) { + s2 = peg$parseEOS(); + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f5(s1); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseRule() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + s0 = peg$currPos; + s1 = peg$parseIdentifierName(); + if (s1 !== peg$FAILED) { + s2 = peg$parse__(); + s3 = peg$currPos; + s4 = peg$parseStringLiteral(); + if (s4 !== peg$FAILED) { + s5 = peg$parse__(); + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + if (s3 === peg$FAILED) { + s3 = null; + } + if (input.charCodeAt(peg$currPos) === 61) { + s4 = peg$c8; + peg$currPos++; + } else { + s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e8); } + } + if (s4 !== peg$FAILED) { + s5 = peg$parse__(); + s6 = peg$parseChoiceExpression(); + if (s6 !== peg$FAILED) { + s7 = peg$parseEOS(); + if (s7 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f6(s1, s3, s6); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseChoiceExpression() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + s0 = peg$currPos; + s1 = peg$parseActionExpression(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$currPos; + s4 = peg$parse__(); + if (input.charCodeAt(peg$currPos) === 47) { + s5 = peg$c9; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e9); } + } + if (s5 !== peg$FAILED) { + s6 = peg$parse__(); + s7 = peg$parseActionExpression(); + if (s7 !== peg$FAILED) { + s3 = s7; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$currPos; + s4 = peg$parse__(); + if (input.charCodeAt(peg$currPos) === 47) { + s5 = peg$c9; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e9); } + } + if (s5 !== peg$FAILED) { + s6 = peg$parse__(); + s7 = peg$parseActionExpression(); + if (s7 !== peg$FAILED) { + s3 = s7; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } + peg$savedPos = s0; + s0 = peg$f7(s1, s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseActionExpression() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parseSequenceExpression(); + if (s1 !== peg$FAILED) { + s2 = peg$currPos; + s3 = peg$parse__(); + s4 = peg$parseCodeBlock(); + if (s4 !== peg$FAILED) { + s2 = s4; + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + if (s2 === peg$FAILED) { + s2 = null; + } + peg$savedPos = s0; + s0 = peg$f8(s1, s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseSequenceExpression() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parseLabeledExpression(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$currPos; + s4 = peg$parse__(); + s5 = peg$parseLabeledExpression(); + if (s5 !== peg$FAILED) { + s3 = s5; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$currPos; + s4 = peg$parse__(); + s5 = peg$parseLabeledExpression(); + if (s5 !== peg$FAILED) { + s3 = s5; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } + peg$savedPos = s0; + s0 = peg$f9(s1, s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseLabeledExpression() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parsePluck(); + if (s1 !== peg$FAILED) { + s2 = peg$parseLabelColon(); + if (s2 === peg$FAILED) { + s2 = null; + } + s3 = peg$parsePrefixedExpression(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f10(s1, s2, s3); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parseLabelColon(); + if (s1 !== peg$FAILED) { + s2 = peg$parse__(); + s3 = peg$parsePrefixedExpression(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f11(s1, s3); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$parsePrefixedExpression(); + } + } + + return s0; + } + + function peg$parsePluck() { + var s0, s1; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 64) { + s1 = peg$c10; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e10); } + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f12(); + } + s0 = s1; + + return s0; + } + + function peg$parseLabelColon() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseIdentifierName(); + if (s1 !== peg$FAILED) { + s2 = peg$parse__(); + if (input.charCodeAt(peg$currPos) === 58) { + s3 = peg$c11; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e11); } + } + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f13(s1); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsePrefixedExpression() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parsePrefixedOperator(); + if (s1 !== peg$FAILED) { + s2 = peg$parse__(); + s3 = peg$parseSuffixedExpression(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f14(s1, s3); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$parseSuffixedExpression(); + } + + return s0; + } + + function peg$parsePrefixedOperator() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r0.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e12); } + } + + return s0; + } + + function peg$parseSuffixedExpression() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parsePrimaryExpression(); + if (s1 !== peg$FAILED) { + s2 = peg$parse__(); + s3 = peg$parseSuffixedOperator(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f15(s1, s3); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$parseRepeatedExpression(); + if (s0 === peg$FAILED) { + s0 = peg$parsePrimaryExpression(); + } + } + + return s0; + } + + function peg$parseSuffixedOperator() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r1.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e13); } + } + + return s0; + } + + function peg$parseRepeatedExpression() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11; + + s0 = peg$currPos; + s1 = peg$parsePrimaryExpression(); + if (s1 !== peg$FAILED) { + s2 = peg$parse__(); + if (input.charCodeAt(peg$currPos) === 124) { + s3 = peg$c12; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e14); } + } + if (s3 !== peg$FAILED) { + s4 = peg$parse__(); + s5 = peg$parseBoundaries(); + if (s5 !== peg$FAILED) { + s6 = peg$parse__(); + s7 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 44) { + s8 = peg$c2; + peg$currPos++; + } else { + s8 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e2); } + } + if (s8 !== peg$FAILED) { + s9 = peg$parse__(); + s10 = peg$parseChoiceExpression(); + if (s10 !== peg$FAILED) { + s11 = peg$parse__(); + s7 = s10; + } else { + peg$currPos = s7; + s7 = peg$FAILED; + } + } else { + peg$currPos = s7; + s7 = peg$FAILED; + } + if (s7 === peg$FAILED) { + s7 = null; + } + if (input.charCodeAt(peg$currPos) === 124) { + s8 = peg$c12; + peg$currPos++; + } else { + s8 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e14); } + } + if (s8 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f16(s1, s5, s7); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseBoundaries() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parseBoundary(); + if (s1 === peg$FAILED) { + s1 = null; + } + s2 = peg$parse__(); + if (input.substr(peg$currPos, 2) === peg$c13) { + s3 = peg$c13; + peg$currPos += 2; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e15); } + } + if (s3 !== peg$FAILED) { + s4 = peg$parse__(); + s5 = peg$parseBoundary(); + if (s5 === peg$FAILED) { + s5 = null; + } + peg$savedPos = s0; + s0 = peg$f17(s1, s5); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parseBoundary(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f18(s1); + } + s0 = s1; + } + + return s0; + } + + function peg$parseBoundary() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseInteger(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f19(s1); + } + s0 = s1; + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parseIdentifierName(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f20(s1); + } + s0 = s1; + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parseCodeBlock(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f21(s1); + } + s0 = s1; + } + } + + return s0; + } + + function peg$parsePrimaryExpression() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$parseLiteralMatcher(); + if (s0 === peg$FAILED) { + s0 = peg$parseCharacterClassMatcher(); + if (s0 === peg$FAILED) { + s0 = peg$parseAnyMatcher(); + if (s0 === peg$FAILED) { + s0 = peg$parseRuleReferenceExpression(); + if (s0 === peg$FAILED) { + s0 = peg$parseSemanticPredicateExpression(); + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 40) { + s1 = peg$c14; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e16); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parse__(); + s3 = peg$parseChoiceExpression(); + if (s3 !== peg$FAILED) { + s4 = peg$parse__(); + if (input.charCodeAt(peg$currPos) === 41) { + s5 = peg$c15; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e17); } + } + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f22(s3); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + } + } + } + } + + return s0; + } + + function peg$parseRuleReferenceExpression() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + s0 = peg$currPos; + s1 = peg$parseIdentifierName(); + if (s1 !== peg$FAILED) { + s2 = peg$currPos; + peg$silentFails++; + s3 = peg$currPos; + s4 = peg$parse__(); + s5 = peg$currPos; + s6 = peg$parseStringLiteral(); + if (s6 !== peg$FAILED) { + s7 = peg$parse__(); + s6 = [s6, s7]; + s5 = s6; + } else { + peg$currPos = s5; + s5 = peg$FAILED; + } + if (s5 === peg$FAILED) { + s5 = null; + } + if (input.charCodeAt(peg$currPos) === 61) { + s6 = peg$c8; + peg$currPos++; + } else { + s6 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e8); } + } + if (s6 !== peg$FAILED) { + s4 = [s4, s5, s6]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + peg$silentFails--; + if (s3 === peg$FAILED) { + s2 = undefined; + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f23(s1); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseSemanticPredicateExpression() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseSemanticPredicateOperator(); + if (s1 !== peg$FAILED) { + s2 = peg$parse__(); + s3 = peg$parseCodeBlock(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f24(s1, s3); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseSemanticPredicateOperator() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r2.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e18); } + } + + return s0; + } + + function peg$parseSourceCharacter() { + var s0; + + if (input.length > peg$currPos) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e19); } + } + + return s0; + } + + function peg$parseWhiteSpace() { + var s0, s1; + + peg$silentFails++; + s0 = input.charAt(peg$currPos); + if (peg$r3.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e21); } + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e20); } + } + + return s0; + } + + function peg$parseLineTerminator() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r4.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e22); } + } + + return s0; + } + + function peg$parseLineTerminatorSequence() { + var s0, s1; + + peg$silentFails++; + if (input.charCodeAt(peg$currPos) === 10) { + s0 = peg$c16; + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e24); } + } + if (s0 === peg$FAILED) { + if (input.substr(peg$currPos, 2) === peg$c17) { + s0 = peg$c17; + peg$currPos += 2; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e25); } + } + if (s0 === peg$FAILED) { + s0 = input.charAt(peg$currPos); + if (peg$r5.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e26); } + } + } + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e23); } + } + + return s0; + } + + function peg$parseComment() { + var s0, s1; + + peg$silentFails++; + s0 = peg$parseMultiLineComment(); + if (s0 === peg$FAILED) { + s0 = peg$parseSingleLineComment(); + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e27); } + } + + return s0; + } + + function peg$parseMultiLineComment() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.substr(peg$currPos, 2) === peg$c18) { + s1 = peg$c18; + peg$currPos += 2; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e28); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$currPos; + s4 = peg$currPos; + peg$silentFails++; + if (input.substr(peg$currPos, 2) === peg$c19) { + s5 = peg$c19; + peg$currPos += 2; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e29); } + } + peg$silentFails--; + if (s5 === peg$FAILED) { + s4 = undefined; + } else { + peg$currPos = s4; + s4 = peg$FAILED; + } + if (s4 !== peg$FAILED) { + s5 = peg$parseSourceCharacter(); + if (s5 !== peg$FAILED) { + s4 = [s4, s5]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$currPos; + s4 = peg$currPos; + peg$silentFails++; + if (input.substr(peg$currPos, 2) === peg$c19) { + s5 = peg$c19; + peg$currPos += 2; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e29); } + } + peg$silentFails--; + if (s5 === peg$FAILED) { + s4 = undefined; + } else { + peg$currPos = s4; + s4 = peg$FAILED; + } + if (s4 !== peg$FAILED) { + s5 = peg$parseSourceCharacter(); + if (s5 !== peg$FAILED) { + s4 = [s4, s5]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } + if (input.substr(peg$currPos, 2) === peg$c19) { + s3 = peg$c19; + peg$currPos += 2; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e29); } + } + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseMultiLineCommentNoLineTerminator() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.substr(peg$currPos, 2) === peg$c18) { + s1 = peg$c18; + peg$currPos += 2; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e28); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$currPos; + s4 = peg$currPos; + peg$silentFails++; + if (input.substr(peg$currPos, 2) === peg$c19) { + s5 = peg$c19; + peg$currPos += 2; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e29); } + } + if (s5 === peg$FAILED) { + s5 = peg$parseLineTerminator(); + } + peg$silentFails--; + if (s5 === peg$FAILED) { + s4 = undefined; + } else { + peg$currPos = s4; + s4 = peg$FAILED; + } + if (s4 !== peg$FAILED) { + s5 = peg$parseSourceCharacter(); + if (s5 !== peg$FAILED) { + s4 = [s4, s5]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$currPos; + s4 = peg$currPos; + peg$silentFails++; + if (input.substr(peg$currPos, 2) === peg$c19) { + s5 = peg$c19; + peg$currPos += 2; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e29); } + } + if (s5 === peg$FAILED) { + s5 = peg$parseLineTerminator(); + } + peg$silentFails--; + if (s5 === peg$FAILED) { + s4 = undefined; + } else { + peg$currPos = s4; + s4 = peg$FAILED; + } + if (s4 !== peg$FAILED) { + s5 = peg$parseSourceCharacter(); + if (s5 !== peg$FAILED) { + s4 = [s4, s5]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } + if (input.substr(peg$currPos, 2) === peg$c19) { + s3 = peg$c19; + peg$currPos += 2; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e29); } + } + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseSingleLineComment() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.substr(peg$currPos, 2) === peg$c20) { + s1 = peg$c20; + peg$currPos += 2; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e30); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$currPos; + s4 = peg$currPos; + peg$silentFails++; + s5 = peg$parseLineTerminator(); + peg$silentFails--; + if (s5 === peg$FAILED) { + s4 = undefined; + } else { + peg$currPos = s4; + s4 = peg$FAILED; + } + if (s4 !== peg$FAILED) { + s5 = peg$parseSourceCharacter(); + if (s5 !== peg$FAILED) { + s4 = [s4, s5]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$currPos; + s4 = peg$currPos; + peg$silentFails++; + s5 = peg$parseLineTerminator(); + peg$silentFails--; + if (s5 === peg$FAILED) { + s4 = undefined; + } else { + peg$currPos = s4; + s4 = peg$FAILED; + } + if (s4 !== peg$FAILED) { + s5 = peg$parseSourceCharacter(); + if (s5 !== peg$FAILED) { + s4 = [s4, s5]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } + s1 = [s1, s2]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseIdentifierName() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseIdentifierStart(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parseIdentifierPart(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parseIdentifierPart(); + } + peg$savedPos = s0; + s0 = peg$f25(s1, s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e31); } + } + + return s0; + } + + function peg$parseIdentifierStart() { + var s0, s1, s2; + + s0 = input.charAt(peg$currPos); + if (peg$r6.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e32); } + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 92) { + s1 = peg$c21; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e33); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parseUnicodeEscapeSequence(); + if (s2 !== peg$FAILED) { + s0 = s2; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + + return s0; + } + + function peg$parseIdentifierPart() { + var s0; + + s0 = peg$parseIdentifierStart(); + if (s0 === peg$FAILED) { + s0 = input.charAt(peg$currPos); + if (peg$r7.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e34); } + } + } + + return s0; + } + + function peg$parseUnicodeLetter() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r8.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e35); } + } + + return s0; + } + + function peg$parseUnicodeCombiningMark() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r9.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e36); } + } + + return s0; + } + + function peg$parseLiteralMatcher() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseStringLiteral(); + if (s1 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 105) { + s2 = peg$c22; + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e38); } + } + if (s2 === peg$FAILED) { + s2 = null; + } + peg$savedPos = s0; + s0 = peg$f26(s1, s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e37); } + } + + return s0; + } + + function peg$parseStringLiteral() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 34) { + s1 = peg$c23; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e40); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parseDoubleStringCharacter(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parseDoubleStringCharacter(); + } + if (input.charCodeAt(peg$currPos) === 34) { + s3 = peg$c23; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e40); } + } + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f27(s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 39) { + s1 = peg$c24; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e41); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parseSingleStringCharacter(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parseSingleStringCharacter(); + } + if (input.charCodeAt(peg$currPos) === 39) { + s3 = peg$c24; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e41); } + } + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f28(s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e39); } + } + + return s0; + } + + function peg$parseDoubleStringCharacter() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$currPos; + s2 = peg$currPos; + peg$silentFails++; + s3 = input.charAt(peg$currPos); + if (peg$r10.test(s3)) { + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e42); } + } + peg$silentFails--; + if (s3 === peg$FAILED) { + s2 = undefined; + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + if (s2 !== peg$FAILED) { + s3 = peg$parseSourceCharacter(); + if (s3 !== peg$FAILED) { + s2 = [s2, s3]; + s1 = s2; + } else { + peg$currPos = s1; + s1 = peg$FAILED; + } + } else { + peg$currPos = s1; + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + s0 = input.substring(s0, peg$currPos); + } else { + s0 = s1; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 92) { + s1 = peg$c21; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e33); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parseEscapeSequence(); + if (s2 !== peg$FAILED) { + s0 = s2; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$parseLineContinuation(); + } + } + + return s0; + } + + function peg$parseSingleStringCharacter() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$currPos; + s2 = peg$currPos; + peg$silentFails++; + s3 = input.charAt(peg$currPos); + if (peg$r11.test(s3)) { + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e43); } + } + peg$silentFails--; + if (s3 === peg$FAILED) { + s2 = undefined; + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + if (s2 !== peg$FAILED) { + s3 = peg$parseSourceCharacter(); + if (s3 !== peg$FAILED) { + s2 = [s2, s3]; + s1 = s2; + } else { + peg$currPos = s1; + s1 = peg$FAILED; + } + } else { + peg$currPos = s1; + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + s0 = input.substring(s0, peg$currPos); + } else { + s0 = s1; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 92) { + s1 = peg$c21; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e33); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parseEscapeSequence(); + if (s2 !== peg$FAILED) { + s0 = s2; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$parseLineContinuation(); + } + } + + return s0; + } + + function peg$parseCharacterClassMatcher() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 91) { + s1 = peg$c25; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e45); } + } + if (s1 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 94) { + s2 = peg$c26; + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e46); } + } + if (s2 === peg$FAILED) { + s2 = null; + } + s3 = []; + s4 = peg$parseClassCharacterRange(); + if (s4 === peg$FAILED) { + s4 = peg$parseClassCharacter(); + } + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parseClassCharacterRange(); + if (s4 === peg$FAILED) { + s4 = peg$parseClassCharacter(); + } + } + if (input.charCodeAt(peg$currPos) === 93) { + s4 = peg$c27; + peg$currPos++; + } else { + s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e47); } + } + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 105) { + s5 = peg$c22; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e38); } + } + if (s5 === peg$FAILED) { + s5 = null; + } + peg$savedPos = s0; + s0 = peg$f29(s2, s3, s5); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e44); } + } + + return s0; + } + + function peg$parseClassCharacterRange() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseClassCharacter(); + if (s1 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 45) { + s2 = peg$c28; + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e48); } + } + if (s2 !== peg$FAILED) { + s3 = peg$parseClassCharacter(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f30(s1, s3); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseClassCharacter() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$currPos; + s2 = peg$currPos; + peg$silentFails++; + s3 = input.charAt(peg$currPos); + if (peg$r12.test(s3)) { + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e49); } + } + peg$silentFails--; + if (s3 === peg$FAILED) { + s2 = undefined; + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + if (s2 !== peg$FAILED) { + s3 = peg$parseSourceCharacter(); + if (s3 !== peg$FAILED) { + s2 = [s2, s3]; + s1 = s2; + } else { + peg$currPos = s1; + s1 = peg$FAILED; + } + } else { + peg$currPos = s1; + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + s0 = input.substring(s0, peg$currPos); + } else { + s0 = s1; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 92) { + s1 = peg$c21; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e33); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parseEscapeSequence(); + if (s2 !== peg$FAILED) { + s0 = s2; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$parseLineContinuation(); + } + } + + return s0; + } + + function peg$parseLineContinuation() { + var s0, s1, s2; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 92) { + s1 = peg$c21; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e33); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parseLineTerminatorSequence(); + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f31(); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseEscapeSequence() { + var s0, s1, s2, s3; + + s0 = peg$parseCharacterEscapeSequence(); + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 48) { + s1 = peg$c29; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e50); } + } + if (s1 !== peg$FAILED) { + s2 = peg$currPos; + peg$silentFails++; + s3 = peg$parseDecimalDigit(); + peg$silentFails--; + if (s3 === peg$FAILED) { + s2 = undefined; + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f32(); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$parseHexEscapeSequence(); + if (s0 === peg$FAILED) { + s0 = peg$parseUnicodeEscapeSequence(); + } + } + } + + return s0; + } + + function peg$parseCharacterEscapeSequence() { + var s0; + + s0 = peg$parseSingleEscapeCharacter(); + if (s0 === peg$FAILED) { + s0 = peg$parseNonEscapeCharacter(); + } + + return s0; + } + + function peg$parseSingleEscapeCharacter() { + var s0, s1; + + s0 = input.charAt(peg$currPos); + if (peg$r13.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e51); } + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 98) { + s1 = peg$c30; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e52); } + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f33(); + } + s0 = s1; + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 102) { + s1 = peg$c31; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e53); } + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f34(); + } + s0 = s1; + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 110) { + s1 = peg$c32; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e54); } + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f35(); + } + s0 = s1; + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 114) { + s1 = peg$c33; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e55); } + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f36(); + } + s0 = s1; + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 116) { + s1 = peg$c34; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e56); } + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f37(); + } + s0 = s1; + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 118) { + s1 = peg$c35; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e57); } + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f38(); + } + s0 = s1; + } + } + } + } + } + } + + return s0; + } + + function peg$parseNonEscapeCharacter() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$currPos; + s2 = peg$currPos; + peg$silentFails++; + s3 = peg$parseEscapeCharacter(); + if (s3 === peg$FAILED) { + s3 = peg$parseLineTerminator(); + } + peg$silentFails--; + if (s3 === peg$FAILED) { + s2 = undefined; + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + if (s2 !== peg$FAILED) { + s3 = peg$parseSourceCharacter(); + if (s3 !== peg$FAILED) { + s2 = [s2, s3]; + s1 = s2; + } else { + peg$currPos = s1; + s1 = peg$FAILED; + } + } else { + peg$currPos = s1; + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + s0 = input.substring(s0, peg$currPos); + } else { + s0 = s1; + } + + return s0; + } + + function peg$parseEscapeCharacter() { + var s0; + + s0 = peg$parseSingleEscapeCharacter(); + if (s0 === peg$FAILED) { + s0 = input.charAt(peg$currPos); + if (peg$r14.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e58); } + } + } + + return s0; + } + + function peg$parseHexEscapeSequence() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 120) { + s1 = peg$c36; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e59); } + } + if (s1 !== peg$FAILED) { + s2 = peg$currPos; + s3 = peg$currPos; + s4 = peg$parseHexDigit(); + if (s4 !== peg$FAILED) { + s5 = peg$parseHexDigit(); + if (s5 !== peg$FAILED) { + s4 = [s4, s5]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + if (s3 !== peg$FAILED) { + s2 = input.substring(s2, peg$currPos); + } else { + s2 = s3; + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f39(s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseUnicodeEscapeSequence() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 117) { + s1 = peg$c37; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e60); } + } + if (s1 !== peg$FAILED) { + s2 = peg$currPos; + s3 = peg$currPos; + s4 = peg$parseHexDigit(); + if (s4 !== peg$FAILED) { + s5 = peg$parseHexDigit(); + if (s5 !== peg$FAILED) { + s6 = peg$parseHexDigit(); + if (s6 !== peg$FAILED) { + s7 = peg$parseHexDigit(); + if (s7 !== peg$FAILED) { + s4 = [s4, s5, s6, s7]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + if (s3 !== peg$FAILED) { + s2 = input.substring(s2, peg$currPos); + } else { + s2 = s3; + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f40(s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseDecimalDigit() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r15.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e61); } + } + + return s0; + } + + function peg$parseHexDigit() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r16.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e62); } + } + + return s0; + } + + function peg$parseAnyMatcher() { + var s0, s1; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 46) { + s1 = peg$c38; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e63); } + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f41(); + } + s0 = s1; + + return s0; + } + + function peg$parseCodeBlock() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 123) { + s1 = peg$c5; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e5); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parseBareCodeBlock(); + if (input.charCodeAt(peg$currPos) === 125) { + s3 = peg$c6; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e6); } + } + if (s3 !== peg$FAILED) { + s0 = s2; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e64); } + } + + return s0; + } + + function peg$parseBareCodeBlock() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseCode(); + peg$savedPos = s0; + s1 = peg$f42(s1); + s0 = s1; + + return s0; + } + + function peg$parseCode() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = []; + s2 = []; + s3 = peg$currPos; + s4 = peg$currPos; + peg$silentFails++; + s5 = input.charAt(peg$currPos); + if (peg$r17.test(s5)) { + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e65); } + } + peg$silentFails--; + if (s5 === peg$FAILED) { + s4 = undefined; + } else { + peg$currPos = s4; + s4 = peg$FAILED; + } + if (s4 !== peg$FAILED) { + s5 = peg$parseSourceCharacter(); + if (s5 !== peg$FAILED) { + s4 = [s4, s5]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + if (s3 !== peg$FAILED) { + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$currPos; + s4 = peg$currPos; + peg$silentFails++; + s5 = input.charAt(peg$currPos); + if (peg$r17.test(s5)) { + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e65); } + } + peg$silentFails--; + if (s5 === peg$FAILED) { + s4 = undefined; + } else { + peg$currPos = s4; + s4 = peg$FAILED; + } + if (s4 !== peg$FAILED) { + s5 = peg$parseSourceCharacter(); + if (s5 !== peg$FAILED) { + s4 = [s4, s5]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } + } else { + s2 = peg$FAILED; + } + if (s2 === peg$FAILED) { + s2 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 123) { + s3 = peg$c5; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e5); } + } + if (s3 !== peg$FAILED) { + s4 = peg$parseCode(); + if (input.charCodeAt(peg$currPos) === 125) { + s5 = peg$c6; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e6); } + } + if (s5 !== peg$FAILED) { + s3 = [s3, s4, s5]; + s2 = s3; + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + } + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = []; + s3 = peg$currPos; + s4 = peg$currPos; + peg$silentFails++; + s5 = input.charAt(peg$currPos); + if (peg$r17.test(s5)) { + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e65); } + } + peg$silentFails--; + if (s5 === peg$FAILED) { + s4 = undefined; + } else { + peg$currPos = s4; + s4 = peg$FAILED; + } + if (s4 !== peg$FAILED) { + s5 = peg$parseSourceCharacter(); + if (s5 !== peg$FAILED) { + s4 = [s4, s5]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + if (s3 !== peg$FAILED) { + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$currPos; + s4 = peg$currPos; + peg$silentFails++; + s5 = input.charAt(peg$currPos); + if (peg$r17.test(s5)) { + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e65); } + } + peg$silentFails--; + if (s5 === peg$FAILED) { + s4 = undefined; + } else { + peg$currPos = s4; + s4 = peg$FAILED; + } + if (s4 !== peg$FAILED) { + s5 = peg$parseSourceCharacter(); + if (s5 !== peg$FAILED) { + s4 = [s4, s5]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } + } else { + s2 = peg$FAILED; + } + if (s2 === peg$FAILED) { + s2 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 123) { + s3 = peg$c5; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e5); } + } + if (s3 !== peg$FAILED) { + s4 = peg$parseCode(); + if (input.charCodeAt(peg$currPos) === 125) { + s5 = peg$c6; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e6); } + } + if (s5 !== peg$FAILED) { + s3 = [s3, s4, s5]; + s2 = s3; + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + } + } + s0 = input.substring(s0, peg$currPos); + + return s0; + } + + function peg$parseInteger() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$currPos; + s2 = []; + s3 = peg$parseDecimalDigit(); + if (s3 !== peg$FAILED) { + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parseDecimalDigit(); + } + } else { + s2 = peg$FAILED; + } + if (s2 !== peg$FAILED) { + s1 = input.substring(s1, peg$currPos); + } else { + s1 = s2; + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f43(s1); + } + s0 = s1; + + return s0; + } + + function peg$parseLl() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r18.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e66); } + } + + return s0; + } + + function peg$parseLm() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r19.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e67); } + } + + return s0; + } + + function peg$parseLo() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r20.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e68); } + } + + return s0; + } + + function peg$parseLt() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r21.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e69); } + } + + return s0; + } + + function peg$parseLu() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r22.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e70); } + } + + return s0; + } + + function peg$parseMc() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r23.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e71); } + } + + return s0; + } + + function peg$parseMn() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r24.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e72); } + } + + return s0; + } + + function peg$parseNd() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r25.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e73); } + } + + return s0; + } + + function peg$parseNl() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r26.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e74); } + } + + return s0; + } + + function peg$parsePc() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r27.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e75); } + } + + return s0; + } + + function peg$parseZs() { + var s0; + + s0 = input.charAt(peg$currPos); + if (peg$r28.test(s0)) { + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e76); } + } + + return s0; + } + + function peg$parse__() { + var s0, s1; + + s0 = []; + s1 = peg$parseWhiteSpace(); + if (s1 === peg$FAILED) { + s1 = peg$parseLineTerminatorSequence(); + if (s1 === peg$FAILED) { + s1 = peg$parseComment(); + } + } + while (s1 !== peg$FAILED) { + s0.push(s1); + s1 = peg$parseWhiteSpace(); + if (s1 === peg$FAILED) { + s1 = peg$parseLineTerminatorSequence(); + if (s1 === peg$FAILED) { + s1 = peg$parseComment(); + } + } + } + + return s0; + } + + function peg$parse_() { + var s0, s1; + + s0 = []; + s1 = peg$parseWhiteSpace(); + if (s1 === peg$FAILED) { + s1 = peg$parseMultiLineCommentNoLineTerminator(); + } + while (s1 !== peg$FAILED) { + s0.push(s1); + s1 = peg$parseWhiteSpace(); + if (s1 === peg$FAILED) { + s1 = peg$parseMultiLineCommentNoLineTerminator(); + } + } + + return s0; + } + + function peg$parseEOS() { + var s0, s1, s2, s3; + + s0 = []; + s1 = peg$currPos; + s2 = peg$parse__(); + if (input.charCodeAt(peg$currPos) === 59) { + s3 = peg$c1; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e1); } + } + if (s3 !== peg$FAILED) { + s2 = [s2, s3]; + s1 = s2; + } else { + peg$currPos = s1; + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + while (s1 !== peg$FAILED) { + s0.push(s1); + s1 = peg$currPos; + s2 = peg$parse__(); + if (input.charCodeAt(peg$currPos) === 59) { + s3 = peg$c1; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e1); } + } + if (s3 !== peg$FAILED) { + s2 = [s2, s3]; + s1 = s2; + } else { + peg$currPos = s1; + s1 = peg$FAILED; + } + } + } else { + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parse_(); + s2 = peg$parseSingleLineComment(); + if (s2 === peg$FAILED) { + s2 = null; + } + s3 = peg$parseLineTerminatorSequence(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parse__(); + s2 = peg$parseEOF(); + if (s2 !== peg$FAILED) { + s1 = [s1, s2]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + } + + return s0; + } + + function peg$parseEOF() { + var s0, s1; + + s0 = peg$currPos; + peg$silentFails++; + if (input.length > peg$currPos) { + s1 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e19); } + } + peg$silentFails--; + if (s1 === peg$FAILED) { + s0 = undefined; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + + // Cannot use Set here because of native IE support. + const reservedWords = options.reservedWords || []; + + peg$result = peg$startRuleFunction(); + + if (peg$result !== peg$FAILED && peg$currPos === input.length) { + return peg$result; + } else { + if (peg$result !== peg$FAILED && peg$currPos < input.length) { + peg$fail(peg$endExpectation()); + } + + throw peg$buildStructuredError( + peg$maxFailExpected, + peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, + peg$maxFailPos < input.length + ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) + : peg$computeLocation(peg$maxFailPos, peg$maxFailPos) + ); + } +} + +module.exports = { + SyntaxError: peg$SyntaxError, + parse: peg$parse +}; diff --git a/lib/compiler/passes/move-imports.js b/lib/compiler/passes/move-imports.js deleted file mode 100644 index 958c4301..00000000 --- a/lib/compiler/passes/move-imports.js +++ /dev/null @@ -1,21 +0,0 @@ -// @ts-check -"use strict"; - -/** - * @typedef {import("../../peg")} PEG - */ - -/** - * - * @param {PEG.ast.Grammar} ast - */ -function moveImports(ast) { - if (Array.isArray(ast.topLevelInitializer)) { - ast.topLevelInitializer - = ast.topLevelInitializer.filter(tli => tli.imports).concat( - ast.topLevelInitializer.filter(tli => !tli.imports) - ); - } -} - -module.exports = moveImports; diff --git a/lib/parser.js b/lib/parser.js index 644fedf2..55f2a8b9 100644 --- a/lib/parser.js +++ b/lib/parser.js @@ -196,43 +196,39 @@ function peg$parse(input, options) { var peg$c0 = "{"; var peg$c1 = "}"; - var peg$c2 = "import"; - var peg$c3 = ";"; - var peg$c4 = ","; - var peg$c5 = "*"; - var peg$c6 = "as"; - var peg$c7 = "from"; - var peg$c8 = "="; - var peg$c9 = "/"; - var peg$c10 = "@"; - var peg$c11 = ":"; - var peg$c12 = "|"; - var peg$c13 = ".."; - var peg$c14 = "("; - var peg$c15 = ")"; - var peg$c16 = "\n"; - var peg$c17 = "\r\n"; - var peg$c18 = "/*"; - var peg$c19 = "*/"; - var peg$c20 = "//"; - var peg$c21 = "\\"; - var peg$c22 = "i"; - var peg$c23 = "\""; - var peg$c24 = "'"; - var peg$c25 = "["; - var peg$c26 = "^"; - var peg$c27 = "]"; - var peg$c28 = "-"; - var peg$c29 = "0"; - var peg$c30 = "b"; - var peg$c31 = "f"; - var peg$c32 = "n"; - var peg$c33 = "r"; - var peg$c34 = "t"; - var peg$c35 = "v"; - var peg$c36 = "x"; - var peg$c37 = "u"; - var peg$c38 = "."; + var peg$c2 = "="; + var peg$c3 = "/"; + var peg$c4 = "@"; + var peg$c5 = ":"; + var peg$c6 = "|"; + var peg$c7 = ","; + var peg$c8 = ".."; + var peg$c9 = "("; + var peg$c10 = ")"; + var peg$c11 = "\n"; + var peg$c12 = "\r\n"; + var peg$c13 = "/*"; + var peg$c14 = "*/"; + var peg$c15 = "//"; + var peg$c16 = "\\"; + var peg$c17 = "i"; + var peg$c18 = "\""; + var peg$c19 = "'"; + var peg$c20 = "["; + var peg$c21 = "^"; + var peg$c22 = "]"; + var peg$c23 = "-"; + var peg$c24 = "0"; + var peg$c25 = "b"; + var peg$c26 = "f"; + var peg$c27 = "n"; + var peg$c28 = "r"; + var peg$c29 = "t"; + var peg$c30 = "v"; + var peg$c31 = "x"; + var peg$c32 = "u"; + var peg$c33 = "."; + var peg$c34 = ";"; var peg$r0 = /^[!$&]/; var peg$r1 = /^[*-+?]/; @@ -266,81 +262,77 @@ function peg$parse(input, options) { var peg$e0 = peg$literalExpectation("{", false); var peg$e1 = peg$literalExpectation("}", false); - var peg$e2 = peg$literalExpectation("import", false); - var peg$e3 = peg$literalExpectation(";", false); - var peg$e4 = peg$literalExpectation(",", false); - var peg$e5 = peg$literalExpectation("*", false); - var peg$e6 = peg$literalExpectation("as", false); - var peg$e7 = peg$literalExpectation("from", false); - var peg$e8 = peg$literalExpectation("=", false); - var peg$e9 = peg$literalExpectation("/", false); - var peg$e10 = peg$literalExpectation("@", false); - var peg$e11 = peg$literalExpectation(":", false); - var peg$e12 = peg$classExpectation(["!", "$", "&"], false, false); - var peg$e13 = peg$classExpectation([["*", "+"], "?"], false, false); - var peg$e14 = peg$literalExpectation("|", false); - var peg$e15 = peg$literalExpectation("..", false); - var peg$e16 = peg$literalExpectation("(", false); - var peg$e17 = peg$literalExpectation(")", false); - var peg$e18 = peg$classExpectation(["!", "&"], false, false); - var peg$e19 = peg$anyExpectation(); - var peg$e20 = peg$otherExpectation("whitespace"); - var peg$e21 = peg$classExpectation(["\t", ["\v", "\f"], " ", "\xA0", "\u1680", ["\u2000", "\u200A"], "\u202F", "\u205F", "\u3000", "\uFEFF"], false, false); - var peg$e22 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], false, false); - var peg$e23 = peg$otherExpectation("end of line"); - var peg$e24 = peg$literalExpectation("\n", false); - var peg$e25 = peg$literalExpectation("\r\n", false); - var peg$e26 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false); - var peg$e27 = peg$otherExpectation("comment"); - var peg$e28 = peg$literalExpectation("/*", false); - var peg$e29 = peg$literalExpectation("*/", false); - var peg$e30 = peg$literalExpectation("//", false); - var peg$e31 = peg$otherExpectation("identifier"); - var peg$e32 = peg$classExpectation([["A", "Z"], "_", ["a", "z"], "\xAA", "\xB5", "\xBA", ["\xC0", "\xD6"], ["\xD8", "\xF6"], ["\xF8", "\u02C1"], ["\u02C6", "\u02D1"], ["\u02E0", "\u02E4"], "\u02EC", "\u02EE", ["\u0370", "\u0374"], ["\u0376", "\u0377"], ["\u037A", "\u037D"], "\u037F", "\u0386", ["\u0388", "\u038A"], "\u038C", ["\u038E", "\u03A1"], ["\u03A3", "\u03F5"], ["\u03F7", "\u0481"], ["\u048A", "\u052F"], ["\u0531", "\u0556"], "\u0559", ["\u0561", "\u0587"], ["\u05D0", "\u05EA"], ["\u05F0", "\u05F2"], ["\u0620", "\u064A"], ["\u066E", "\u066F"], ["\u0671", "\u06D3"], "\u06D5", ["\u06E5", "\u06E6"], ["\u06EE", "\u06EF"], ["\u06FA", "\u06FC"], "\u06FF", "\u0710", ["\u0712", "\u072F"], ["\u074D", "\u07A5"], "\u07B1", ["\u07CA", "\u07EA"], ["\u07F4", "\u07F5"], "\u07FA", ["\u0800", "\u0815"], "\u081A", "\u0824", "\u0828", ["\u0840", "\u0858"], ["\u08A0", "\u08B4"], ["\u0904", "\u0939"], "\u093D", "\u0950", ["\u0958", "\u0961"], ["\u0971", "\u0980"], ["\u0985", "\u098C"], ["\u098F", "\u0990"], ["\u0993", "\u09A8"], ["\u09AA", "\u09B0"], "\u09B2", ["\u09B6", "\u09B9"], "\u09BD", "\u09CE", ["\u09DC", "\u09DD"], ["\u09DF", "\u09E1"], ["\u09F0", "\u09F1"], ["\u0A05", "\u0A0A"], ["\u0A0F", "\u0A10"], ["\u0A13", "\u0A28"], ["\u0A2A", "\u0A30"], ["\u0A32", "\u0A33"], ["\u0A35", "\u0A36"], ["\u0A38", "\u0A39"], ["\u0A59", "\u0A5C"], "\u0A5E", ["\u0A72", "\u0A74"], ["\u0A85", "\u0A8D"], ["\u0A8F", "\u0A91"], ["\u0A93", "\u0AA8"], ["\u0AAA", "\u0AB0"], ["\u0AB2", "\u0AB3"], ["\u0AB5", "\u0AB9"], "\u0ABD", "\u0AD0", ["\u0AE0", "\u0AE1"], "\u0AF9", ["\u0B05", "\u0B0C"], ["\u0B0F", "\u0B10"], ["\u0B13", "\u0B28"], ["\u0B2A", "\u0B30"], ["\u0B32", "\u0B33"], ["\u0B35", "\u0B39"], "\u0B3D", ["\u0B5C", "\u0B5D"], ["\u0B5F", "\u0B61"], "\u0B71", "\u0B83", ["\u0B85", "\u0B8A"], ["\u0B8E", "\u0B90"], ["\u0B92", "\u0B95"], ["\u0B99", "\u0B9A"], "\u0B9C", ["\u0B9E", "\u0B9F"], ["\u0BA3", "\u0BA4"], ["\u0BA8", "\u0BAA"], ["\u0BAE", "\u0BB9"], "\u0BD0", ["\u0C05", "\u0C0C"], ["\u0C0E", "\u0C10"], ["\u0C12", "\u0C28"], ["\u0C2A", "\u0C39"], "\u0C3D", ["\u0C58", "\u0C5A"], ["\u0C60", "\u0C61"], ["\u0C85", "\u0C8C"], ["\u0C8E", "\u0C90"], ["\u0C92", "\u0CA8"], ["\u0CAA", "\u0CB3"], ["\u0CB5", "\u0CB9"], "\u0CBD", "\u0CDE", ["\u0CE0", "\u0CE1"], ["\u0CF1", "\u0CF2"], ["\u0D05", "\u0D0C"], ["\u0D0E", "\u0D10"], ["\u0D12", "\u0D3A"], "\u0D3D", "\u0D4E", ["\u0D5F", "\u0D61"], ["\u0D7A", "\u0D7F"], ["\u0D85", "\u0D96"], ["\u0D9A", "\u0DB1"], ["\u0DB3", "\u0DBB"], "\u0DBD", ["\u0DC0", "\u0DC6"], ["\u0E01", "\u0E30"], ["\u0E32", "\u0E33"], ["\u0E40", "\u0E46"], ["\u0E81", "\u0E82"], "\u0E84", ["\u0E87", "\u0E88"], "\u0E8A", "\u0E8D", ["\u0E94", "\u0E97"], ["\u0E99", "\u0E9F"], ["\u0EA1", "\u0EA3"], "\u0EA5", "\u0EA7", ["\u0EAA", "\u0EAB"], ["\u0EAD", "\u0EB0"], ["\u0EB2", "\u0EB3"], "\u0EBD", ["\u0EC0", "\u0EC4"], "\u0EC6", ["\u0EDC", "\u0EDF"], "\u0F00", ["\u0F40", "\u0F47"], ["\u0F49", "\u0F6C"], ["\u0F88", "\u0F8C"], ["\u1000", "\u102A"], "\u103F", ["\u1050", "\u1055"], ["\u105A", "\u105D"], "\u1061", ["\u1065", "\u1066"], ["\u106E", "\u1070"], ["\u1075", "\u1081"], "\u108E", ["\u10A0", "\u10C5"], "\u10C7", "\u10CD", ["\u10D0", "\u10FA"], ["\u10FC", "\u1248"], ["\u124A", "\u124D"], ["\u1250", "\u1256"], "\u1258", ["\u125A", "\u125D"], ["\u1260", "\u1288"], ["\u128A", "\u128D"], ["\u1290", "\u12B0"], ["\u12B2", "\u12B5"], ["\u12B8", "\u12BE"], "\u12C0", ["\u12C2", "\u12C5"], ["\u12C8", "\u12D6"], ["\u12D8", "\u1310"], ["\u1312", "\u1315"], ["\u1318", "\u135A"], ["\u1380", "\u138F"], ["\u13A0", "\u13F5"], ["\u13F8", "\u13FD"], ["\u1401", "\u166C"], ["\u166F", "\u167F"], ["\u1681", "\u169A"], ["\u16A0", "\u16EA"], ["\u16EE", "\u16F8"], ["\u1700", "\u170C"], ["\u170E", "\u1711"], ["\u1720", "\u1731"], ["\u1740", "\u1751"], ["\u1760", "\u176C"], ["\u176E", "\u1770"], ["\u1780", "\u17B3"], "\u17D7", "\u17DC", ["\u1820", "\u1877"], ["\u1880", "\u18A8"], "\u18AA", ["\u18B0", "\u18F5"], ["\u1900", "\u191E"], ["\u1950", "\u196D"], ["\u1970", "\u1974"], ["\u1980", "\u19AB"], ["\u19B0", "\u19C9"], ["\u1A00", "\u1A16"], ["\u1A20", "\u1A54"], "\u1AA7", ["\u1B05", "\u1B33"], ["\u1B45", "\u1B4B"], ["\u1B83", "\u1BA0"], ["\u1BAE", "\u1BAF"], ["\u1BBA", "\u1BE5"], ["\u1C00", "\u1C23"], ["\u1C4D", "\u1C4F"], ["\u1C5A", "\u1C7D"], ["\u1CE9", "\u1CEC"], ["\u1CEE", "\u1CF1"], ["\u1CF5", "\u1CF6"], ["\u1D00", "\u1DBF"], ["\u1E00", "\u1F15"], ["\u1F18", "\u1F1D"], ["\u1F20", "\u1F45"], ["\u1F48", "\u1F4D"], ["\u1F50", "\u1F57"], "\u1F59", "\u1F5B", "\u1F5D", ["\u1F5F", "\u1F7D"], ["\u1F80", "\u1FB4"], ["\u1FB6", "\u1FBC"], "\u1FBE", ["\u1FC2", "\u1FC4"], ["\u1FC6", "\u1FCC"], ["\u1FD0", "\u1FD3"], ["\u1FD6", "\u1FDB"], ["\u1FE0", "\u1FEC"], ["\u1FF2", "\u1FF4"], ["\u1FF6", "\u1FFC"], "\u2071", "\u207F", ["\u2090", "\u209C"], "\u2102", "\u2107", ["\u210A", "\u2113"], "\u2115", ["\u2119", "\u211D"], "\u2124", "\u2126", "\u2128", ["\u212A", "\u212D"], ["\u212F", "\u2139"], ["\u213C", "\u213F"], ["\u2145", "\u2149"], "\u214E", ["\u2160", "\u2188"], ["\u2C00", "\u2C2E"], ["\u2C30", "\u2C5E"], ["\u2C60", "\u2CE4"], ["\u2CEB", "\u2CEE"], ["\u2CF2", "\u2CF3"], ["\u2D00", "\u2D25"], "\u2D27", "\u2D2D", ["\u2D30", "\u2D67"], "\u2D6F", ["\u2D80", "\u2D96"], ["\u2DA0", "\u2DA6"], ["\u2DA8", "\u2DAE"], ["\u2DB0", "\u2DB6"], ["\u2DB8", "\u2DBE"], ["\u2DC0", "\u2DC6"], ["\u2DC8", "\u2DCE"], ["\u2DD0", "\u2DD6"], ["\u2DD8", "\u2DDE"], "\u2E2F", ["\u3005", "\u3007"], ["\u3021", "\u3029"], ["\u3031", "\u3035"], ["\u3038", "\u303C"], ["\u3041", "\u3096"], ["\u309D", "\u309F"], ["\u30A1", "\u30FA"], ["\u30FC", "\u30FF"], ["\u3105", "\u312D"], ["\u3131", "\u318E"], ["\u31A0", "\u31BA"], ["\u31F0", "\u31FF"], ["\u3400", "\u4DB5"], ["\u4E00", "\u9FD5"], ["\uA000", "\uA48C"], ["\uA4D0", "\uA4FD"], ["\uA500", "\uA60C"], ["\uA610", "\uA61F"], ["\uA62A", "\uA62B"], ["\uA640", "\uA66E"], ["\uA67F", "\uA69D"], ["\uA6A0", "\uA6EF"], ["\uA717", "\uA71F"], ["\uA722", "\uA788"], ["\uA78B", "\uA7AD"], ["\uA7B0", "\uA7B7"], ["\uA7F7", "\uA801"], ["\uA803", "\uA805"], ["\uA807", "\uA80A"], ["\uA80C", "\uA822"], ["\uA840", "\uA873"], ["\uA882", "\uA8B3"], ["\uA8F2", "\uA8F7"], "\uA8FB", "\uA8FD", ["\uA90A", "\uA925"], ["\uA930", "\uA946"], ["\uA960", "\uA97C"], ["\uA984", "\uA9B2"], "\uA9CF", ["\uA9E0", "\uA9E4"], ["\uA9E6", "\uA9EF"], ["\uA9FA", "\uA9FE"], ["\uAA00", "\uAA28"], ["\uAA40", "\uAA42"], ["\uAA44", "\uAA4B"], ["\uAA60", "\uAA76"], "\uAA7A", ["\uAA7E", "\uAAAF"], "\uAAB1", ["\uAAB5", "\uAAB6"], ["\uAAB9", "\uAABD"], "\uAAC0", "\uAAC2", ["\uAADB", "\uAADD"], ["\uAAE0", "\uAAEA"], ["\uAAF2", "\uAAF4"], ["\uAB01", "\uAB06"], ["\uAB09", "\uAB0E"], ["\uAB11", "\uAB16"], ["\uAB20", "\uAB26"], ["\uAB28", "\uAB2E"], ["\uAB30", "\uAB5A"], ["\uAB5C", "\uAB65"], ["\uAB70", "\uABE2"], ["\uAC00", "\uD7A3"], ["\uD7B0", "\uD7C6"], ["\uD7CB", "\uD7FB"], ["\uF900", "\uFA6D"], ["\uFA70", "\uFAD9"], ["\uFB00", "\uFB06"], ["\uFB13", "\uFB17"], "\uFB1D", ["\uFB1F", "\uFB28"], ["\uFB2A", "\uFB36"], ["\uFB38", "\uFB3C"], "\uFB3E", ["\uFB40", "\uFB41"], ["\uFB43", "\uFB44"], ["\uFB46", "\uFBB1"], ["\uFBD3", "\uFD3D"], ["\uFD50", "\uFD8F"], ["\uFD92", "\uFDC7"], ["\uFDF0", "\uFDFB"], ["\uFE70", "\uFE74"], ["\uFE76", "\uFEFC"], ["\uFF21", "\uFF3A"], ["\uFF41", "\uFF5A"], ["\uFF66", "\uFFBE"], ["\uFFC2", "\uFFC7"], ["\uFFCA", "\uFFCF"], ["\uFFD2", "\uFFD7"], ["\uFFDA", "\uFFDC"]], false, false); - var peg$e33 = peg$literalExpectation("\\", false); - var peg$e34 = peg$classExpectation(["$", ["0", "9"], "_", ["\u0300", "\u036F"], ["\u0483", "\u0487"], ["\u0591", "\u05BD"], "\u05BF", ["\u05C1", "\u05C2"], ["\u05C4", "\u05C5"], "\u05C7", ["\u0610", "\u061A"], ["\u064B", "\u0669"], "\u0670", ["\u06D6", "\u06DC"], ["\u06DF", "\u06E4"], ["\u06E7", "\u06E8"], ["\u06EA", "\u06ED"], ["\u06F0", "\u06F9"], "\u0711", ["\u0730", "\u074A"], ["\u07A6", "\u07B0"], ["\u07C0", "\u07C9"], ["\u07EB", "\u07F3"], ["\u0816", "\u0819"], ["\u081B", "\u0823"], ["\u0825", "\u0827"], ["\u0829", "\u082D"], ["\u0859", "\u085B"], ["\u08E3", "\u0903"], ["\u093A", "\u093C"], ["\u093E", "\u094F"], ["\u0951", "\u0957"], ["\u0962", "\u0963"], ["\u0966", "\u096F"], ["\u0981", "\u0983"], "\u09BC", ["\u09BE", "\u09C4"], ["\u09C7", "\u09C8"], ["\u09CB", "\u09CD"], "\u09D7", ["\u09E2", "\u09E3"], ["\u09E6", "\u09EF"], ["\u0A01", "\u0A03"], "\u0A3C", ["\u0A3E", "\u0A42"], ["\u0A47", "\u0A48"], ["\u0A4B", "\u0A4D"], "\u0A51", ["\u0A66", "\u0A71"], "\u0A75", ["\u0A81", "\u0A83"], "\u0ABC", ["\u0ABE", "\u0AC5"], ["\u0AC7", "\u0AC9"], ["\u0ACB", "\u0ACD"], ["\u0AE2", "\u0AE3"], ["\u0AE6", "\u0AEF"], ["\u0B01", "\u0B03"], "\u0B3C", ["\u0B3E", "\u0B44"], ["\u0B47", "\u0B48"], ["\u0B4B", "\u0B4D"], ["\u0B56", "\u0B57"], ["\u0B62", "\u0B63"], ["\u0B66", "\u0B6F"], "\u0B82", ["\u0BBE", "\u0BC2"], ["\u0BC6", "\u0BC8"], ["\u0BCA", "\u0BCD"], "\u0BD7", ["\u0BE6", "\u0BEF"], ["\u0C00", "\u0C03"], ["\u0C3E", "\u0C44"], ["\u0C46", "\u0C48"], ["\u0C4A", "\u0C4D"], ["\u0C55", "\u0C56"], ["\u0C62", "\u0C63"], ["\u0C66", "\u0C6F"], ["\u0C81", "\u0C83"], "\u0CBC", ["\u0CBE", "\u0CC4"], ["\u0CC6", "\u0CC8"], ["\u0CCA", "\u0CCD"], ["\u0CD5", "\u0CD6"], ["\u0CE2", "\u0CE3"], ["\u0CE6", "\u0CEF"], ["\u0D01", "\u0D03"], ["\u0D3E", "\u0D44"], ["\u0D46", "\u0D48"], ["\u0D4A", "\u0D4D"], "\u0D57", ["\u0D62", "\u0D63"], ["\u0D66", "\u0D6F"], ["\u0D82", "\u0D83"], "\u0DCA", ["\u0DCF", "\u0DD4"], "\u0DD6", ["\u0DD8", "\u0DDF"], ["\u0DE6", "\u0DEF"], ["\u0DF2", "\u0DF3"], "\u0E31", ["\u0E34", "\u0E3A"], ["\u0E47", "\u0E4E"], ["\u0E50", "\u0E59"], "\u0EB1", ["\u0EB4", "\u0EB9"], ["\u0EBB", "\u0EBC"], ["\u0EC8", "\u0ECD"], ["\u0ED0", "\u0ED9"], ["\u0F18", "\u0F19"], ["\u0F20", "\u0F29"], "\u0F35", "\u0F37", "\u0F39", ["\u0F3E", "\u0F3F"], ["\u0F71", "\u0F84"], ["\u0F86", "\u0F87"], ["\u0F8D", "\u0F97"], ["\u0F99", "\u0FBC"], "\u0FC6", ["\u102B", "\u103E"], ["\u1040", "\u1049"], ["\u1056", "\u1059"], ["\u105E", "\u1060"], ["\u1062", "\u1064"], ["\u1067", "\u106D"], ["\u1071", "\u1074"], ["\u1082", "\u108D"], ["\u108F", "\u109D"], ["\u135D", "\u135F"], ["\u1712", "\u1714"], ["\u1732", "\u1734"], ["\u1752", "\u1753"], ["\u1772", "\u1773"], ["\u17B4", "\u17D3"], "\u17DD", ["\u17E0", "\u17E9"], ["\u180B", "\u180D"], ["\u1810", "\u1819"], "\u18A9", ["\u1920", "\u192B"], ["\u1930", "\u193B"], ["\u1946", "\u194F"], ["\u19D0", "\u19D9"], ["\u1A17", "\u1A1B"], ["\u1A55", "\u1A5E"], ["\u1A60", "\u1A7C"], ["\u1A7F", "\u1A89"], ["\u1A90", "\u1A99"], ["\u1AB0", "\u1ABD"], ["\u1B00", "\u1B04"], ["\u1B34", "\u1B44"], ["\u1B50", "\u1B59"], ["\u1B6B", "\u1B73"], ["\u1B80", "\u1B82"], ["\u1BA1", "\u1BAD"], ["\u1BB0", "\u1BB9"], ["\u1BE6", "\u1BF3"], ["\u1C24", "\u1C37"], ["\u1C40", "\u1C49"], ["\u1C50", "\u1C59"], ["\u1CD0", "\u1CD2"], ["\u1CD4", "\u1CE8"], "\u1CED", ["\u1CF2", "\u1CF4"], ["\u1CF8", "\u1CF9"], ["\u1DC0", "\u1DF5"], ["\u1DFC", "\u1DFF"], ["\u200C", "\u200D"], ["\u203F", "\u2040"], "\u2054", ["\u20D0", "\u20DC"], "\u20E1", ["\u20E5", "\u20F0"], ["\u2CEF", "\u2CF1"], "\u2D7F", ["\u2DE0", "\u2DFF"], ["\u302A", "\u302F"], ["\u3099", "\u309A"], ["\uA620", "\uA629"], "\uA66F", ["\uA674", "\uA67D"], ["\uA69E", "\uA69F"], ["\uA6F0", "\uA6F1"], "\uA802", "\uA806", "\uA80B", ["\uA823", "\uA827"], ["\uA880", "\uA881"], ["\uA8B4", "\uA8C4"], ["\uA8D0", "\uA8D9"], ["\uA8E0", "\uA8F1"], ["\uA900", "\uA909"], ["\uA926", "\uA92D"], ["\uA947", "\uA953"], ["\uA980", "\uA983"], ["\uA9B3", "\uA9C0"], ["\uA9D0", "\uA9D9"], "\uA9E5", ["\uA9F0", "\uA9F9"], ["\uAA29", "\uAA36"], "\uAA43", ["\uAA4C", "\uAA4D"], ["\uAA50", "\uAA59"], ["\uAA7B", "\uAA7D"], "\uAAB0", ["\uAAB2", "\uAAB4"], ["\uAAB7", "\uAAB8"], ["\uAABE", "\uAABF"], "\uAAC1", ["\uAAEB", "\uAAEF"], ["\uAAF5", "\uAAF6"], ["\uABE3", "\uABEA"], ["\uABEC", "\uABED"], ["\uABF0", "\uABF9"], "\uFB1E", ["\uFE00", "\uFE0F"], ["\uFE20", "\uFE2F"], ["\uFE33", "\uFE34"], ["\uFE4D", "\uFE4F"], ["\uFF10", "\uFF19"], "\uFF3F"], false, false); - var peg$e35 = peg$classExpectation([["A", "Z"], ["a", "z"], "\xAA", "\xB5", "\xBA", ["\xC0", "\xD6"], ["\xD8", "\xF6"], ["\xF8", "\u02C1"], ["\u02C6", "\u02D1"], ["\u02E0", "\u02E4"], "\u02EC", "\u02EE", ["\u0370", "\u0374"], ["\u0376", "\u0377"], ["\u037A", "\u037D"], "\u037F", "\u0386", ["\u0388", "\u038A"], "\u038C", ["\u038E", "\u03A1"], ["\u03A3", "\u03F5"], ["\u03F7", "\u0481"], ["\u048A", "\u052F"], ["\u0531", "\u0556"], "\u0559", ["\u0561", "\u0587"], ["\u05D0", "\u05EA"], ["\u05F0", "\u05F2"], ["\u0620", "\u064A"], ["\u066E", "\u066F"], ["\u0671", "\u06D3"], "\u06D5", ["\u06E5", "\u06E6"], ["\u06EE", "\u06EF"], ["\u06FA", "\u06FC"], "\u06FF", "\u0710", ["\u0712", "\u072F"], ["\u074D", "\u07A5"], "\u07B1", ["\u07CA", "\u07EA"], ["\u07F4", "\u07F5"], "\u07FA", ["\u0800", "\u0815"], "\u081A", "\u0824", "\u0828", ["\u0840", "\u0858"], ["\u08A0", "\u08B4"], ["\u0904", "\u0939"], "\u093D", "\u0950", ["\u0958", "\u0961"], ["\u0971", "\u0980"], ["\u0985", "\u098C"], ["\u098F", "\u0990"], ["\u0993", "\u09A8"], ["\u09AA", "\u09B0"], "\u09B2", ["\u09B6", "\u09B9"], "\u09BD", "\u09CE", ["\u09DC", "\u09DD"], ["\u09DF", "\u09E1"], ["\u09F0", "\u09F1"], ["\u0A05", "\u0A0A"], ["\u0A0F", "\u0A10"], ["\u0A13", "\u0A28"], ["\u0A2A", "\u0A30"], ["\u0A32", "\u0A33"], ["\u0A35", "\u0A36"], ["\u0A38", "\u0A39"], ["\u0A59", "\u0A5C"], "\u0A5E", ["\u0A72", "\u0A74"], ["\u0A85", "\u0A8D"], ["\u0A8F", "\u0A91"], ["\u0A93", "\u0AA8"], ["\u0AAA", "\u0AB0"], ["\u0AB2", "\u0AB3"], ["\u0AB5", "\u0AB9"], "\u0ABD", "\u0AD0", ["\u0AE0", "\u0AE1"], "\u0AF9", ["\u0B05", "\u0B0C"], ["\u0B0F", "\u0B10"], ["\u0B13", "\u0B28"], ["\u0B2A", "\u0B30"], ["\u0B32", "\u0B33"], ["\u0B35", "\u0B39"], "\u0B3D", ["\u0B5C", "\u0B5D"], ["\u0B5F", "\u0B61"], "\u0B71", "\u0B83", ["\u0B85", "\u0B8A"], ["\u0B8E", "\u0B90"], ["\u0B92", "\u0B95"], ["\u0B99", "\u0B9A"], "\u0B9C", ["\u0B9E", "\u0B9F"], ["\u0BA3", "\u0BA4"], ["\u0BA8", "\u0BAA"], ["\u0BAE", "\u0BB9"], "\u0BD0", ["\u0C05", "\u0C0C"], ["\u0C0E", "\u0C10"], ["\u0C12", "\u0C28"], ["\u0C2A", "\u0C39"], "\u0C3D", ["\u0C58", "\u0C5A"], ["\u0C60", "\u0C61"], ["\u0C85", "\u0C8C"], ["\u0C8E", "\u0C90"], ["\u0C92", "\u0CA8"], ["\u0CAA", "\u0CB3"], ["\u0CB5", "\u0CB9"], "\u0CBD", "\u0CDE", ["\u0CE0", "\u0CE1"], ["\u0CF1", "\u0CF2"], ["\u0D05", "\u0D0C"], ["\u0D0E", "\u0D10"], ["\u0D12", "\u0D3A"], "\u0D3D", "\u0D4E", ["\u0D5F", "\u0D61"], ["\u0D7A", "\u0D7F"], ["\u0D85", "\u0D96"], ["\u0D9A", "\u0DB1"], ["\u0DB3", "\u0DBB"], "\u0DBD", ["\u0DC0", "\u0DC6"], ["\u0E01", "\u0E30"], ["\u0E32", "\u0E33"], ["\u0E40", "\u0E46"], ["\u0E81", "\u0E82"], "\u0E84", ["\u0E87", "\u0E88"], "\u0E8A", "\u0E8D", ["\u0E94", "\u0E97"], ["\u0E99", "\u0E9F"], ["\u0EA1", "\u0EA3"], "\u0EA5", "\u0EA7", ["\u0EAA", "\u0EAB"], ["\u0EAD", "\u0EB0"], ["\u0EB2", "\u0EB3"], "\u0EBD", ["\u0EC0", "\u0EC4"], "\u0EC6", ["\u0EDC", "\u0EDF"], "\u0F00", ["\u0F40", "\u0F47"], ["\u0F49", "\u0F6C"], ["\u0F88", "\u0F8C"], ["\u1000", "\u102A"], "\u103F", ["\u1050", "\u1055"], ["\u105A", "\u105D"], "\u1061", ["\u1065", "\u1066"], ["\u106E", "\u1070"], ["\u1075", "\u1081"], "\u108E", ["\u10A0", "\u10C5"], "\u10C7", "\u10CD", ["\u10D0", "\u10FA"], ["\u10FC", "\u1248"], ["\u124A", "\u124D"], ["\u1250", "\u1256"], "\u1258", ["\u125A", "\u125D"], ["\u1260", "\u1288"], ["\u128A", "\u128D"], ["\u1290", "\u12B0"], ["\u12B2", "\u12B5"], ["\u12B8", "\u12BE"], "\u12C0", ["\u12C2", "\u12C5"], ["\u12C8", "\u12D6"], ["\u12D8", "\u1310"], ["\u1312", "\u1315"], ["\u1318", "\u135A"], ["\u1380", "\u138F"], ["\u13A0", "\u13F5"], ["\u13F8", "\u13FD"], ["\u1401", "\u166C"], ["\u166F", "\u167F"], ["\u1681", "\u169A"], ["\u16A0", "\u16EA"], ["\u16EE", "\u16F8"], ["\u1700", "\u170C"], ["\u170E", "\u1711"], ["\u1720", "\u1731"], ["\u1740", "\u1751"], ["\u1760", "\u176C"], ["\u176E", "\u1770"], ["\u1780", "\u17B3"], "\u17D7", "\u17DC", ["\u1820", "\u1877"], ["\u1880", "\u18A8"], "\u18AA", ["\u18B0", "\u18F5"], ["\u1900", "\u191E"], ["\u1950", "\u196D"], ["\u1970", "\u1974"], ["\u1980", "\u19AB"], ["\u19B0", "\u19C9"], ["\u1A00", "\u1A16"], ["\u1A20", "\u1A54"], "\u1AA7", ["\u1B05", "\u1B33"], ["\u1B45", "\u1B4B"], ["\u1B83", "\u1BA0"], ["\u1BAE", "\u1BAF"], ["\u1BBA", "\u1BE5"], ["\u1C00", "\u1C23"], ["\u1C4D", "\u1C4F"], ["\u1C5A", "\u1C7D"], ["\u1CE9", "\u1CEC"], ["\u1CEE", "\u1CF1"], ["\u1CF5", "\u1CF6"], ["\u1D00", "\u1DBF"], ["\u1E00", "\u1F15"], ["\u1F18", "\u1F1D"], ["\u1F20", "\u1F45"], ["\u1F48", "\u1F4D"], ["\u1F50", "\u1F57"], "\u1F59", "\u1F5B", "\u1F5D", ["\u1F5F", "\u1F7D"], ["\u1F80", "\u1FB4"], ["\u1FB6", "\u1FBC"], "\u1FBE", ["\u1FC2", "\u1FC4"], ["\u1FC6", "\u1FCC"], ["\u1FD0", "\u1FD3"], ["\u1FD6", "\u1FDB"], ["\u1FE0", "\u1FEC"], ["\u1FF2", "\u1FF4"], ["\u1FF6", "\u1FFC"], "\u2071", "\u207F", ["\u2090", "\u209C"], "\u2102", "\u2107", ["\u210A", "\u2113"], "\u2115", ["\u2119", "\u211D"], "\u2124", "\u2126", "\u2128", ["\u212A", "\u212D"], ["\u212F", "\u2139"], ["\u213C", "\u213F"], ["\u2145", "\u2149"], "\u214E", ["\u2160", "\u2188"], ["\u2C00", "\u2C2E"], ["\u2C30", "\u2C5E"], ["\u2C60", "\u2CE4"], ["\u2CEB", "\u2CEE"], ["\u2CF2", "\u2CF3"], ["\u2D00", "\u2D25"], "\u2D27", "\u2D2D", ["\u2D30", "\u2D67"], "\u2D6F", ["\u2D80", "\u2D96"], ["\u2DA0", "\u2DA6"], ["\u2DA8", "\u2DAE"], ["\u2DB0", "\u2DB6"], ["\u2DB8", "\u2DBE"], ["\u2DC0", "\u2DC6"], ["\u2DC8", "\u2DCE"], ["\u2DD0", "\u2DD6"], ["\u2DD8", "\u2DDE"], "\u2E2F", ["\u3005", "\u3007"], ["\u3021", "\u3029"], ["\u3031", "\u3035"], ["\u3038", "\u303C"], ["\u3041", "\u3096"], ["\u309D", "\u309F"], ["\u30A1", "\u30FA"], ["\u30FC", "\u30FF"], ["\u3105", "\u312D"], ["\u3131", "\u318E"], ["\u31A0", "\u31BA"], ["\u31F0", "\u31FF"], ["\u3400", "\u4DB5"], ["\u4E00", "\u9FD5"], ["\uA000", "\uA48C"], ["\uA4D0", "\uA4FD"], ["\uA500", "\uA60C"], ["\uA610", "\uA61F"], ["\uA62A", "\uA62B"], ["\uA640", "\uA66E"], ["\uA67F", "\uA69D"], ["\uA6A0", "\uA6EF"], ["\uA717", "\uA71F"], ["\uA722", "\uA788"], ["\uA78B", "\uA7AD"], ["\uA7B0", "\uA7B7"], ["\uA7F7", "\uA801"], ["\uA803", "\uA805"], ["\uA807", "\uA80A"], ["\uA80C", "\uA822"], ["\uA840", "\uA873"], ["\uA882", "\uA8B3"], ["\uA8F2", "\uA8F7"], "\uA8FB", "\uA8FD", ["\uA90A", "\uA925"], ["\uA930", "\uA946"], ["\uA960", "\uA97C"], ["\uA984", "\uA9B2"], "\uA9CF", ["\uA9E0", "\uA9E4"], ["\uA9E6", "\uA9EF"], ["\uA9FA", "\uA9FE"], ["\uAA00", "\uAA28"], ["\uAA40", "\uAA42"], ["\uAA44", "\uAA4B"], ["\uAA60", "\uAA76"], "\uAA7A", ["\uAA7E", "\uAAAF"], "\uAAB1", ["\uAAB5", "\uAAB6"], ["\uAAB9", "\uAABD"], "\uAAC0", "\uAAC2", ["\uAADB", "\uAADD"], ["\uAAE0", "\uAAEA"], ["\uAAF2", "\uAAF4"], ["\uAB01", "\uAB06"], ["\uAB09", "\uAB0E"], ["\uAB11", "\uAB16"], ["\uAB20", "\uAB26"], ["\uAB28", "\uAB2E"], ["\uAB30", "\uAB5A"], ["\uAB5C", "\uAB65"], ["\uAB70", "\uABE2"], ["\uAC00", "\uD7A3"], ["\uD7B0", "\uD7C6"], ["\uD7CB", "\uD7FB"], ["\uF900", "\uFA6D"], ["\uFA70", "\uFAD9"], ["\uFB00", "\uFB06"], ["\uFB13", "\uFB17"], "\uFB1D", ["\uFB1F", "\uFB28"], ["\uFB2A", "\uFB36"], ["\uFB38", "\uFB3C"], "\uFB3E", ["\uFB40", "\uFB41"], ["\uFB43", "\uFB44"], ["\uFB46", "\uFBB1"], ["\uFBD3", "\uFD3D"], ["\uFD50", "\uFD8F"], ["\uFD92", "\uFDC7"], ["\uFDF0", "\uFDFB"], ["\uFE70", "\uFE74"], ["\uFE76", "\uFEFC"], ["\uFF21", "\uFF3A"], ["\uFF41", "\uFF5A"], ["\uFF66", "\uFFBE"], ["\uFFC2", "\uFFC7"], ["\uFFCA", "\uFFCF"], ["\uFFD2", "\uFFD7"], ["\uFFDA", "\uFFDC"]], false, false); - var peg$e36 = peg$classExpectation([["\u0300", "\u036F"], ["\u0483", "\u0487"], ["\u0591", "\u05BD"], "\u05BF", ["\u05C1", "\u05C2"], ["\u05C4", "\u05C5"], "\u05C7", ["\u0610", "\u061A"], ["\u064B", "\u065F"], "\u0670", ["\u06D6", "\u06DC"], ["\u06DF", "\u06E4"], ["\u06E7", "\u06E8"], ["\u06EA", "\u06ED"], "\u0711", ["\u0730", "\u074A"], ["\u07A6", "\u07B0"], ["\u07EB", "\u07F3"], ["\u0816", "\u0819"], ["\u081B", "\u0823"], ["\u0825", "\u0827"], ["\u0829", "\u082D"], ["\u0859", "\u085B"], ["\u08E3", "\u0903"], ["\u093A", "\u093C"], ["\u093E", "\u094F"], ["\u0951", "\u0957"], ["\u0962", "\u0963"], ["\u0981", "\u0983"], "\u09BC", ["\u09BE", "\u09C4"], ["\u09C7", "\u09C8"], ["\u09CB", "\u09CD"], "\u09D7", ["\u09E2", "\u09E3"], ["\u0A01", "\u0A03"], "\u0A3C", ["\u0A3E", "\u0A42"], ["\u0A47", "\u0A48"], ["\u0A4B", "\u0A4D"], "\u0A51", ["\u0A70", "\u0A71"], "\u0A75", ["\u0A81", "\u0A83"], "\u0ABC", ["\u0ABE", "\u0AC5"], ["\u0AC7", "\u0AC9"], ["\u0ACB", "\u0ACD"], ["\u0AE2", "\u0AE3"], ["\u0B01", "\u0B03"], "\u0B3C", ["\u0B3E", "\u0B44"], ["\u0B47", "\u0B48"], ["\u0B4B", "\u0B4D"], ["\u0B56", "\u0B57"], ["\u0B62", "\u0B63"], "\u0B82", ["\u0BBE", "\u0BC2"], ["\u0BC6", "\u0BC8"], ["\u0BCA", "\u0BCD"], "\u0BD7", ["\u0C00", "\u0C03"], ["\u0C3E", "\u0C44"], ["\u0C46", "\u0C48"], ["\u0C4A", "\u0C4D"], ["\u0C55", "\u0C56"], ["\u0C62", "\u0C63"], ["\u0C81", "\u0C83"], "\u0CBC", ["\u0CBE", "\u0CC4"], ["\u0CC6", "\u0CC8"], ["\u0CCA", "\u0CCD"], ["\u0CD5", "\u0CD6"], ["\u0CE2", "\u0CE3"], ["\u0D01", "\u0D03"], ["\u0D3E", "\u0D44"], ["\u0D46", "\u0D48"], ["\u0D4A", "\u0D4D"], "\u0D57", ["\u0D62", "\u0D63"], ["\u0D82", "\u0D83"], "\u0DCA", ["\u0DCF", "\u0DD4"], "\u0DD6", ["\u0DD8", "\u0DDF"], ["\u0DF2", "\u0DF3"], "\u0E31", ["\u0E34", "\u0E3A"], ["\u0E47", "\u0E4E"], "\u0EB1", ["\u0EB4", "\u0EB9"], ["\u0EBB", "\u0EBC"], ["\u0EC8", "\u0ECD"], ["\u0F18", "\u0F19"], "\u0F35", "\u0F37", "\u0F39", ["\u0F3E", "\u0F3F"], ["\u0F71", "\u0F84"], ["\u0F86", "\u0F87"], ["\u0F8D", "\u0F97"], ["\u0F99", "\u0FBC"], "\u0FC6", ["\u102B", "\u103E"], ["\u1056", "\u1059"], ["\u105E", "\u1060"], ["\u1062", "\u1064"], ["\u1067", "\u106D"], ["\u1071", "\u1074"], ["\u1082", "\u108D"], "\u108F", ["\u109A", "\u109D"], ["\u135D", "\u135F"], ["\u1712", "\u1714"], ["\u1732", "\u1734"], ["\u1752", "\u1753"], ["\u1772", "\u1773"], ["\u17B4", "\u17D3"], "\u17DD", ["\u180B", "\u180D"], "\u18A9", ["\u1920", "\u192B"], ["\u1930", "\u193B"], ["\u1A17", "\u1A1B"], ["\u1A55", "\u1A5E"], ["\u1A60", "\u1A7C"], "\u1A7F", ["\u1AB0", "\u1ABD"], ["\u1B00", "\u1B04"], ["\u1B34", "\u1B44"], ["\u1B6B", "\u1B73"], ["\u1B80", "\u1B82"], ["\u1BA1", "\u1BAD"], ["\u1BE6", "\u1BF3"], ["\u1C24", "\u1C37"], ["\u1CD0", "\u1CD2"], ["\u1CD4", "\u1CE8"], "\u1CED", ["\u1CF2", "\u1CF4"], ["\u1CF8", "\u1CF9"], ["\u1DC0", "\u1DF5"], ["\u1DFC", "\u1DFF"], ["\u20D0", "\u20DC"], "\u20E1", ["\u20E5", "\u20F0"], ["\u2CEF", "\u2CF1"], "\u2D7F", ["\u2DE0", "\u2DFF"], ["\u302A", "\u302F"], ["\u3099", "\u309A"], "\uA66F", ["\uA674", "\uA67D"], ["\uA69E", "\uA69F"], ["\uA6F0", "\uA6F1"], "\uA802", "\uA806", "\uA80B", ["\uA823", "\uA827"], ["\uA880", "\uA881"], ["\uA8B4", "\uA8C4"], ["\uA8E0", "\uA8F1"], ["\uA926", "\uA92D"], ["\uA947", "\uA953"], ["\uA980", "\uA983"], ["\uA9B3", "\uA9C0"], "\uA9E5", ["\uAA29", "\uAA36"], "\uAA43", ["\uAA4C", "\uAA4D"], ["\uAA7B", "\uAA7D"], "\uAAB0", ["\uAAB2", "\uAAB4"], ["\uAAB7", "\uAAB8"], ["\uAABE", "\uAABF"], "\uAAC1", ["\uAAEB", "\uAAEF"], ["\uAAF5", "\uAAF6"], ["\uABE3", "\uABEA"], ["\uABEC", "\uABED"], "\uFB1E", ["\uFE00", "\uFE0F"], ["\uFE20", "\uFE2F"]], false, false); - var peg$e37 = peg$otherExpectation("literal"); - var peg$e38 = peg$literalExpectation("i", false); - var peg$e39 = peg$otherExpectation("string"); - var peg$e40 = peg$literalExpectation("\"", false); - var peg$e41 = peg$literalExpectation("'", false); - var peg$e42 = peg$classExpectation(["\n", "\r", "\"", "\\", ["\u2028", "\u2029"]], false, false); - var peg$e43 = peg$classExpectation(["\n", "\r", "'", "\\", ["\u2028", "\u2029"]], false, false); - var peg$e44 = peg$otherExpectation("character class"); - var peg$e45 = peg$literalExpectation("[", false); - var peg$e46 = peg$literalExpectation("^", false); - var peg$e47 = peg$literalExpectation("]", false); - var peg$e48 = peg$literalExpectation("-", false); - var peg$e49 = peg$classExpectation(["\n", "\r", ["\\", "]"], ["\u2028", "\u2029"]], false, false); - var peg$e50 = peg$literalExpectation("0", false); - var peg$e51 = peg$classExpectation(["\"", "'", "\\"], false, false); - var peg$e52 = peg$literalExpectation("b", false); - var peg$e53 = peg$literalExpectation("f", false); - var peg$e54 = peg$literalExpectation("n", false); - var peg$e55 = peg$literalExpectation("r", false); - var peg$e56 = peg$literalExpectation("t", false); - var peg$e57 = peg$literalExpectation("v", false); - var peg$e58 = peg$classExpectation([["0", "9"], "u", "x"], false, false); - var peg$e59 = peg$literalExpectation("x", false); - var peg$e60 = peg$literalExpectation("u", false); - var peg$e61 = peg$classExpectation([["0", "9"]], false, false); - var peg$e62 = peg$classExpectation([["0", "9"], ["a", "f"]], false, true); - var peg$e63 = peg$literalExpectation(".", false); - var peg$e64 = peg$otherExpectation("code block"); - var peg$e65 = peg$classExpectation(["{", "}"], false, false); - var peg$e66 = peg$classExpectation([["a", "z"], "\xB5", ["\xDF", "\xF6"], ["\xF8", "\xFF"], "\u0101", "\u0103", "\u0105", "\u0107", "\u0109", "\u010B", "\u010D", "\u010F", "\u0111", "\u0113", "\u0115", "\u0117", "\u0119", "\u011B", "\u011D", "\u011F", "\u0121", "\u0123", "\u0125", "\u0127", "\u0129", "\u012B", "\u012D", "\u012F", "\u0131", "\u0133", "\u0135", ["\u0137", "\u0138"], "\u013A", "\u013C", "\u013E", "\u0140", "\u0142", "\u0144", "\u0146", ["\u0148", "\u0149"], "\u014B", "\u014D", "\u014F", "\u0151", "\u0153", "\u0155", "\u0157", "\u0159", "\u015B", "\u015D", "\u015F", "\u0161", "\u0163", "\u0165", "\u0167", "\u0169", "\u016B", "\u016D", "\u016F", "\u0171", "\u0173", "\u0175", "\u0177", "\u017A", "\u017C", ["\u017E", "\u0180"], "\u0183", "\u0185", "\u0188", ["\u018C", "\u018D"], "\u0192", "\u0195", ["\u0199", "\u019B"], "\u019E", "\u01A1", "\u01A3", "\u01A5", "\u01A8", ["\u01AA", "\u01AB"], "\u01AD", "\u01B0", "\u01B4", "\u01B6", ["\u01B9", "\u01BA"], ["\u01BD", "\u01BF"], "\u01C6", "\u01C9", "\u01CC", "\u01CE", "\u01D0", "\u01D2", "\u01D4", "\u01D6", "\u01D8", "\u01DA", ["\u01DC", "\u01DD"], "\u01DF", "\u01E1", "\u01E3", "\u01E5", "\u01E7", "\u01E9", "\u01EB", "\u01ED", ["\u01EF", "\u01F0"], "\u01F3", "\u01F5", "\u01F9", "\u01FB", "\u01FD", "\u01FF", "\u0201", "\u0203", "\u0205", "\u0207", "\u0209", "\u020B", "\u020D", "\u020F", "\u0211", "\u0213", "\u0215", "\u0217", "\u0219", "\u021B", "\u021D", "\u021F", "\u0221", "\u0223", "\u0225", "\u0227", "\u0229", "\u022B", "\u022D", "\u022F", "\u0231", ["\u0233", "\u0239"], "\u023C", ["\u023F", "\u0240"], "\u0242", "\u0247", "\u0249", "\u024B", "\u024D", ["\u024F", "\u0293"], ["\u0295", "\u02AF"], "\u0371", "\u0373", "\u0377", ["\u037B", "\u037D"], "\u0390", ["\u03AC", "\u03CE"], ["\u03D0", "\u03D1"], ["\u03D5", "\u03D7"], "\u03D9", "\u03DB", "\u03DD", "\u03DF", "\u03E1", "\u03E3", "\u03E5", "\u03E7", "\u03E9", "\u03EB", "\u03ED", ["\u03EF", "\u03F3"], "\u03F5", "\u03F8", ["\u03FB", "\u03FC"], ["\u0430", "\u045F"], "\u0461", "\u0463", "\u0465", "\u0467", "\u0469", "\u046B", "\u046D", "\u046F", "\u0471", "\u0473", "\u0475", "\u0477", "\u0479", "\u047B", "\u047D", "\u047F", "\u0481", "\u048B", "\u048D", "\u048F", "\u0491", "\u0493", "\u0495", "\u0497", "\u0499", "\u049B", "\u049D", "\u049F", "\u04A1", "\u04A3", "\u04A5", "\u04A7", "\u04A9", "\u04AB", "\u04AD", "\u04AF", "\u04B1", "\u04B3", "\u04B5", "\u04B7", "\u04B9", "\u04BB", "\u04BD", "\u04BF", "\u04C2", "\u04C4", "\u04C6", "\u04C8", "\u04CA", "\u04CC", ["\u04CE", "\u04CF"], "\u04D1", "\u04D3", "\u04D5", "\u04D7", "\u04D9", "\u04DB", "\u04DD", "\u04DF", "\u04E1", "\u04E3", "\u04E5", "\u04E7", "\u04E9", "\u04EB", "\u04ED", "\u04EF", "\u04F1", "\u04F3", "\u04F5", "\u04F7", "\u04F9", "\u04FB", "\u04FD", "\u04FF", "\u0501", "\u0503", "\u0505", "\u0507", "\u0509", "\u050B", "\u050D", "\u050F", "\u0511", "\u0513", "\u0515", "\u0517", "\u0519", "\u051B", "\u051D", "\u051F", "\u0521", "\u0523", "\u0525", "\u0527", "\u0529", "\u052B", "\u052D", "\u052F", ["\u0561", "\u0587"], ["\u13F8", "\u13FD"], ["\u1D00", "\u1D2B"], ["\u1D6B", "\u1D77"], ["\u1D79", "\u1D9A"], "\u1E01", "\u1E03", "\u1E05", "\u1E07", "\u1E09", "\u1E0B", "\u1E0D", "\u1E0F", "\u1E11", "\u1E13", "\u1E15", "\u1E17", "\u1E19", "\u1E1B", "\u1E1D", "\u1E1F", "\u1E21", "\u1E23", "\u1E25", "\u1E27", "\u1E29", "\u1E2B", "\u1E2D", "\u1E2F", "\u1E31", "\u1E33", "\u1E35", "\u1E37", "\u1E39", "\u1E3B", "\u1E3D", "\u1E3F", "\u1E41", "\u1E43", "\u1E45", "\u1E47", "\u1E49", "\u1E4B", "\u1E4D", "\u1E4F", "\u1E51", "\u1E53", "\u1E55", "\u1E57", "\u1E59", "\u1E5B", "\u1E5D", "\u1E5F", "\u1E61", "\u1E63", "\u1E65", "\u1E67", "\u1E69", "\u1E6B", "\u1E6D", "\u1E6F", "\u1E71", "\u1E73", "\u1E75", "\u1E77", "\u1E79", "\u1E7B", "\u1E7D", "\u1E7F", "\u1E81", "\u1E83", "\u1E85", "\u1E87", "\u1E89", "\u1E8B", "\u1E8D", "\u1E8F", "\u1E91", "\u1E93", ["\u1E95", "\u1E9D"], "\u1E9F", "\u1EA1", "\u1EA3", "\u1EA5", "\u1EA7", "\u1EA9", "\u1EAB", "\u1EAD", "\u1EAF", "\u1EB1", "\u1EB3", "\u1EB5", "\u1EB7", "\u1EB9", "\u1EBB", "\u1EBD", "\u1EBF", "\u1EC1", "\u1EC3", "\u1EC5", "\u1EC7", "\u1EC9", "\u1ECB", "\u1ECD", "\u1ECF", "\u1ED1", "\u1ED3", "\u1ED5", "\u1ED7", "\u1ED9", "\u1EDB", "\u1EDD", "\u1EDF", "\u1EE1", "\u1EE3", "\u1EE5", "\u1EE7", "\u1EE9", "\u1EEB", "\u1EED", "\u1EEF", "\u1EF1", "\u1EF3", "\u1EF5", "\u1EF7", "\u1EF9", "\u1EFB", "\u1EFD", ["\u1EFF", "\u1F07"], ["\u1F10", "\u1F15"], ["\u1F20", "\u1F27"], ["\u1F30", "\u1F37"], ["\u1F40", "\u1F45"], ["\u1F50", "\u1F57"], ["\u1F60", "\u1F67"], ["\u1F70", "\u1F7D"], ["\u1F80", "\u1F87"], ["\u1F90", "\u1F97"], ["\u1FA0", "\u1FA7"], ["\u1FB0", "\u1FB4"], ["\u1FB6", "\u1FB7"], "\u1FBE", ["\u1FC2", "\u1FC4"], ["\u1FC6", "\u1FC7"], ["\u1FD0", "\u1FD3"], ["\u1FD6", "\u1FD7"], ["\u1FE0", "\u1FE7"], ["\u1FF2", "\u1FF4"], ["\u1FF6", "\u1FF7"], "\u210A", ["\u210E", "\u210F"], "\u2113", "\u212F", "\u2134", "\u2139", ["\u213C", "\u213D"], ["\u2146", "\u2149"], "\u214E", "\u2184", ["\u2C30", "\u2C5E"], "\u2C61", ["\u2C65", "\u2C66"], "\u2C68", "\u2C6A", "\u2C6C", "\u2C71", ["\u2C73", "\u2C74"], ["\u2C76", "\u2C7B"], "\u2C81", "\u2C83", "\u2C85", "\u2C87", "\u2C89", "\u2C8B", "\u2C8D", "\u2C8F", "\u2C91", "\u2C93", "\u2C95", "\u2C97", "\u2C99", "\u2C9B", "\u2C9D", "\u2C9F", "\u2CA1", "\u2CA3", "\u2CA5", "\u2CA7", "\u2CA9", "\u2CAB", "\u2CAD", "\u2CAF", "\u2CB1", "\u2CB3", "\u2CB5", "\u2CB7", "\u2CB9", "\u2CBB", "\u2CBD", "\u2CBF", "\u2CC1", "\u2CC3", "\u2CC5", "\u2CC7", "\u2CC9", "\u2CCB", "\u2CCD", "\u2CCF", "\u2CD1", "\u2CD3", "\u2CD5", "\u2CD7", "\u2CD9", "\u2CDB", "\u2CDD", "\u2CDF", "\u2CE1", ["\u2CE3", "\u2CE4"], "\u2CEC", "\u2CEE", "\u2CF3", ["\u2D00", "\u2D25"], "\u2D27", "\u2D2D", "\uA641", "\uA643", "\uA645", "\uA647", "\uA649", "\uA64B", "\uA64D", "\uA64F", "\uA651", "\uA653", "\uA655", "\uA657", "\uA659", "\uA65B", "\uA65D", "\uA65F", "\uA661", "\uA663", "\uA665", "\uA667", "\uA669", "\uA66B", "\uA66D", "\uA681", "\uA683", "\uA685", "\uA687", "\uA689", "\uA68B", "\uA68D", "\uA68F", "\uA691", "\uA693", "\uA695", "\uA697", "\uA699", "\uA69B", "\uA723", "\uA725", "\uA727", "\uA729", "\uA72B", "\uA72D", ["\uA72F", "\uA731"], "\uA733", "\uA735", "\uA737", "\uA739", "\uA73B", "\uA73D", "\uA73F", "\uA741", "\uA743", "\uA745", "\uA747", "\uA749", "\uA74B", "\uA74D", "\uA74F", "\uA751", "\uA753", "\uA755", "\uA757", "\uA759", "\uA75B", "\uA75D", "\uA75F", "\uA761", "\uA763", "\uA765", "\uA767", "\uA769", "\uA76B", "\uA76D", "\uA76F", ["\uA771", "\uA778"], "\uA77A", "\uA77C", "\uA77F", "\uA781", "\uA783", "\uA785", "\uA787", "\uA78C", "\uA78E", "\uA791", ["\uA793", "\uA795"], "\uA797", "\uA799", "\uA79B", "\uA79D", "\uA79F", "\uA7A1", "\uA7A3", "\uA7A5", "\uA7A7", "\uA7A9", "\uA7B5", "\uA7B7", "\uA7FA", ["\uAB30", "\uAB5A"], ["\uAB60", "\uAB65"], ["\uAB70", "\uABBF"], ["\uFB00", "\uFB06"], ["\uFB13", "\uFB17"], ["\uFF41", "\uFF5A"]], false, false); - var peg$e67 = peg$classExpectation([["\u02B0", "\u02C1"], ["\u02C6", "\u02D1"], ["\u02E0", "\u02E4"], "\u02EC", "\u02EE", "\u0374", "\u037A", "\u0559", "\u0640", ["\u06E5", "\u06E6"], ["\u07F4", "\u07F5"], "\u07FA", "\u081A", "\u0824", "\u0828", "\u0971", "\u0E46", "\u0EC6", "\u10FC", "\u17D7", "\u1843", "\u1AA7", ["\u1C78", "\u1C7D"], ["\u1D2C", "\u1D6A"], "\u1D78", ["\u1D9B", "\u1DBF"], "\u2071", "\u207F", ["\u2090", "\u209C"], ["\u2C7C", "\u2C7D"], "\u2D6F", "\u2E2F", "\u3005", ["\u3031", "\u3035"], "\u303B", ["\u309D", "\u309E"], ["\u30FC", "\u30FE"], "\uA015", ["\uA4F8", "\uA4FD"], "\uA60C", "\uA67F", ["\uA69C", "\uA69D"], ["\uA717", "\uA71F"], "\uA770", "\uA788", ["\uA7F8", "\uA7F9"], "\uA9CF", "\uA9E6", "\uAA70", "\uAADD", ["\uAAF3", "\uAAF4"], ["\uAB5C", "\uAB5F"], "\uFF70", ["\uFF9E", "\uFF9F"]], false, false); - var peg$e68 = peg$classExpectation(["\xAA", "\xBA", "\u01BB", ["\u01C0", "\u01C3"], "\u0294", ["\u05D0", "\u05EA"], ["\u05F0", "\u05F2"], ["\u0620", "\u063F"], ["\u0641", "\u064A"], ["\u066E", "\u066F"], ["\u0671", "\u06D3"], "\u06D5", ["\u06EE", "\u06EF"], ["\u06FA", "\u06FC"], "\u06FF", "\u0710", ["\u0712", "\u072F"], ["\u074D", "\u07A5"], "\u07B1", ["\u07CA", "\u07EA"], ["\u0800", "\u0815"], ["\u0840", "\u0858"], ["\u08A0", "\u08B4"], ["\u0904", "\u0939"], "\u093D", "\u0950", ["\u0958", "\u0961"], ["\u0972", "\u0980"], ["\u0985", "\u098C"], ["\u098F", "\u0990"], ["\u0993", "\u09A8"], ["\u09AA", "\u09B0"], "\u09B2", ["\u09B6", "\u09B9"], "\u09BD", "\u09CE", ["\u09DC", "\u09DD"], ["\u09DF", "\u09E1"], ["\u09F0", "\u09F1"], ["\u0A05", "\u0A0A"], ["\u0A0F", "\u0A10"], ["\u0A13", "\u0A28"], ["\u0A2A", "\u0A30"], ["\u0A32", "\u0A33"], ["\u0A35", "\u0A36"], ["\u0A38", "\u0A39"], ["\u0A59", "\u0A5C"], "\u0A5E", ["\u0A72", "\u0A74"], ["\u0A85", "\u0A8D"], ["\u0A8F", "\u0A91"], ["\u0A93", "\u0AA8"], ["\u0AAA", "\u0AB0"], ["\u0AB2", "\u0AB3"], ["\u0AB5", "\u0AB9"], "\u0ABD", "\u0AD0", ["\u0AE0", "\u0AE1"], "\u0AF9", ["\u0B05", "\u0B0C"], ["\u0B0F", "\u0B10"], ["\u0B13", "\u0B28"], ["\u0B2A", "\u0B30"], ["\u0B32", "\u0B33"], ["\u0B35", "\u0B39"], "\u0B3D", ["\u0B5C", "\u0B5D"], ["\u0B5F", "\u0B61"], "\u0B71", "\u0B83", ["\u0B85", "\u0B8A"], ["\u0B8E", "\u0B90"], ["\u0B92", "\u0B95"], ["\u0B99", "\u0B9A"], "\u0B9C", ["\u0B9E", "\u0B9F"], ["\u0BA3", "\u0BA4"], ["\u0BA8", "\u0BAA"], ["\u0BAE", "\u0BB9"], "\u0BD0", ["\u0C05", "\u0C0C"], ["\u0C0E", "\u0C10"], ["\u0C12", "\u0C28"], ["\u0C2A", "\u0C39"], "\u0C3D", ["\u0C58", "\u0C5A"], ["\u0C60", "\u0C61"], ["\u0C85", "\u0C8C"], ["\u0C8E", "\u0C90"], ["\u0C92", "\u0CA8"], ["\u0CAA", "\u0CB3"], ["\u0CB5", "\u0CB9"], "\u0CBD", "\u0CDE", ["\u0CE0", "\u0CE1"], ["\u0CF1", "\u0CF2"], ["\u0D05", "\u0D0C"], ["\u0D0E", "\u0D10"], ["\u0D12", "\u0D3A"], "\u0D3D", "\u0D4E", ["\u0D5F", "\u0D61"], ["\u0D7A", "\u0D7F"], ["\u0D85", "\u0D96"], ["\u0D9A", "\u0DB1"], ["\u0DB3", "\u0DBB"], "\u0DBD", ["\u0DC0", "\u0DC6"], ["\u0E01", "\u0E30"], ["\u0E32", "\u0E33"], ["\u0E40", "\u0E45"], ["\u0E81", "\u0E82"], "\u0E84", ["\u0E87", "\u0E88"], "\u0E8A", "\u0E8D", ["\u0E94", "\u0E97"], ["\u0E99", "\u0E9F"], ["\u0EA1", "\u0EA3"], "\u0EA5", "\u0EA7", ["\u0EAA", "\u0EAB"], ["\u0EAD", "\u0EB0"], ["\u0EB2", "\u0EB3"], "\u0EBD", ["\u0EC0", "\u0EC4"], ["\u0EDC", "\u0EDF"], "\u0F00", ["\u0F40", "\u0F47"], ["\u0F49", "\u0F6C"], ["\u0F88", "\u0F8C"], ["\u1000", "\u102A"], "\u103F", ["\u1050", "\u1055"], ["\u105A", "\u105D"], "\u1061", ["\u1065", "\u1066"], ["\u106E", "\u1070"], ["\u1075", "\u1081"], "\u108E", ["\u10D0", "\u10FA"], ["\u10FD", "\u1248"], ["\u124A", "\u124D"], ["\u1250", "\u1256"], "\u1258", ["\u125A", "\u125D"], ["\u1260", "\u1288"], ["\u128A", "\u128D"], ["\u1290", "\u12B0"], ["\u12B2", "\u12B5"], ["\u12B8", "\u12BE"], "\u12C0", ["\u12C2", "\u12C5"], ["\u12C8", "\u12D6"], ["\u12D8", "\u1310"], ["\u1312", "\u1315"], ["\u1318", "\u135A"], ["\u1380", "\u138F"], ["\u1401", "\u166C"], ["\u166F", "\u167F"], ["\u1681", "\u169A"], ["\u16A0", "\u16EA"], ["\u16F1", "\u16F8"], ["\u1700", "\u170C"], ["\u170E", "\u1711"], ["\u1720", "\u1731"], ["\u1740", "\u1751"], ["\u1760", "\u176C"], ["\u176E", "\u1770"], ["\u1780", "\u17B3"], "\u17DC", ["\u1820", "\u1842"], ["\u1844", "\u1877"], ["\u1880", "\u18A8"], "\u18AA", ["\u18B0", "\u18F5"], ["\u1900", "\u191E"], ["\u1950", "\u196D"], ["\u1970", "\u1974"], ["\u1980", "\u19AB"], ["\u19B0", "\u19C9"], ["\u1A00", "\u1A16"], ["\u1A20", "\u1A54"], ["\u1B05", "\u1B33"], ["\u1B45", "\u1B4B"], ["\u1B83", "\u1BA0"], ["\u1BAE", "\u1BAF"], ["\u1BBA", "\u1BE5"], ["\u1C00", "\u1C23"], ["\u1C4D", "\u1C4F"], ["\u1C5A", "\u1C77"], ["\u1CE9", "\u1CEC"], ["\u1CEE", "\u1CF1"], ["\u1CF5", "\u1CF6"], ["\u2135", "\u2138"], ["\u2D30", "\u2D67"], ["\u2D80", "\u2D96"], ["\u2DA0", "\u2DA6"], ["\u2DA8", "\u2DAE"], ["\u2DB0", "\u2DB6"], ["\u2DB8", "\u2DBE"], ["\u2DC0", "\u2DC6"], ["\u2DC8", "\u2DCE"], ["\u2DD0", "\u2DD6"], ["\u2DD8", "\u2DDE"], "\u3006", "\u303C", ["\u3041", "\u3096"], "\u309F", ["\u30A1", "\u30FA"], "\u30FF", ["\u3105", "\u312D"], ["\u3131", "\u318E"], ["\u31A0", "\u31BA"], ["\u31F0", "\u31FF"], ["\u3400", "\u4DB5"], ["\u4E00", "\u9FD5"], ["\uA000", "\uA014"], ["\uA016", "\uA48C"], ["\uA4D0", "\uA4F7"], ["\uA500", "\uA60B"], ["\uA610", "\uA61F"], ["\uA62A", "\uA62B"], "\uA66E", ["\uA6A0", "\uA6E5"], "\uA78F", "\uA7F7", ["\uA7FB", "\uA801"], ["\uA803", "\uA805"], ["\uA807", "\uA80A"], ["\uA80C", "\uA822"], ["\uA840", "\uA873"], ["\uA882", "\uA8B3"], ["\uA8F2", "\uA8F7"], "\uA8FB", "\uA8FD", ["\uA90A", "\uA925"], ["\uA930", "\uA946"], ["\uA960", "\uA97C"], ["\uA984", "\uA9B2"], ["\uA9E0", "\uA9E4"], ["\uA9E7", "\uA9EF"], ["\uA9FA", "\uA9FE"], ["\uAA00", "\uAA28"], ["\uAA40", "\uAA42"], ["\uAA44", "\uAA4B"], ["\uAA60", "\uAA6F"], ["\uAA71", "\uAA76"], "\uAA7A", ["\uAA7E", "\uAAAF"], "\uAAB1", ["\uAAB5", "\uAAB6"], ["\uAAB9", "\uAABD"], "\uAAC0", "\uAAC2", ["\uAADB", "\uAADC"], ["\uAAE0", "\uAAEA"], "\uAAF2", ["\uAB01", "\uAB06"], ["\uAB09", "\uAB0E"], ["\uAB11", "\uAB16"], ["\uAB20", "\uAB26"], ["\uAB28", "\uAB2E"], ["\uABC0", "\uABE2"], ["\uAC00", "\uD7A3"], ["\uD7B0", "\uD7C6"], ["\uD7CB", "\uD7FB"], ["\uF900", "\uFA6D"], ["\uFA70", "\uFAD9"], "\uFB1D", ["\uFB1F", "\uFB28"], ["\uFB2A", "\uFB36"], ["\uFB38", "\uFB3C"], "\uFB3E", ["\uFB40", "\uFB41"], ["\uFB43", "\uFB44"], ["\uFB46", "\uFBB1"], ["\uFBD3", "\uFD3D"], ["\uFD50", "\uFD8F"], ["\uFD92", "\uFDC7"], ["\uFDF0", "\uFDFB"], ["\uFE70", "\uFE74"], ["\uFE76", "\uFEFC"], ["\uFF66", "\uFF6F"], ["\uFF71", "\uFF9D"], ["\uFFA0", "\uFFBE"], ["\uFFC2", "\uFFC7"], ["\uFFCA", "\uFFCF"], ["\uFFD2", "\uFFD7"], ["\uFFDA", "\uFFDC"]], false, false); - var peg$e69 = peg$classExpectation(["\u01C5", "\u01C8", "\u01CB", "\u01F2", ["\u1F88", "\u1F8F"], ["\u1F98", "\u1F9F"], ["\u1FA8", "\u1FAF"], "\u1FBC", "\u1FCC", "\u1FFC"], false, false); - var peg$e70 = peg$classExpectation([["A", "Z"], ["\xC0", "\xD6"], ["\xD8", "\xDE"], "\u0100", "\u0102", "\u0104", "\u0106", "\u0108", "\u010A", "\u010C", "\u010E", "\u0110", "\u0112", "\u0114", "\u0116", "\u0118", "\u011A", "\u011C", "\u011E", "\u0120", "\u0122", "\u0124", "\u0126", "\u0128", "\u012A", "\u012C", "\u012E", "\u0130", "\u0132", "\u0134", "\u0136", "\u0139", "\u013B", "\u013D", "\u013F", "\u0141", "\u0143", "\u0145", "\u0147", "\u014A", "\u014C", "\u014E", "\u0150", "\u0152", "\u0154", "\u0156", "\u0158", "\u015A", "\u015C", "\u015E", "\u0160", "\u0162", "\u0164", "\u0166", "\u0168", "\u016A", "\u016C", "\u016E", "\u0170", "\u0172", "\u0174", "\u0176", ["\u0178", "\u0179"], "\u017B", "\u017D", ["\u0181", "\u0182"], "\u0184", ["\u0186", "\u0187"], ["\u0189", "\u018B"], ["\u018E", "\u0191"], ["\u0193", "\u0194"], ["\u0196", "\u0198"], ["\u019C", "\u019D"], ["\u019F", "\u01A0"], "\u01A2", "\u01A4", ["\u01A6", "\u01A7"], "\u01A9", "\u01AC", ["\u01AE", "\u01AF"], ["\u01B1", "\u01B3"], "\u01B5", ["\u01B7", "\u01B8"], "\u01BC", "\u01C4", "\u01C7", "\u01CA", "\u01CD", "\u01CF", "\u01D1", "\u01D3", "\u01D5", "\u01D7", "\u01D9", "\u01DB", "\u01DE", "\u01E0", "\u01E2", "\u01E4", "\u01E6", "\u01E8", "\u01EA", "\u01EC", "\u01EE", "\u01F1", "\u01F4", ["\u01F6", "\u01F8"], "\u01FA", "\u01FC", "\u01FE", "\u0200", "\u0202", "\u0204", "\u0206", "\u0208", "\u020A", "\u020C", "\u020E", "\u0210", "\u0212", "\u0214", "\u0216", "\u0218", "\u021A", "\u021C", "\u021E", "\u0220", "\u0222", "\u0224", "\u0226", "\u0228", "\u022A", "\u022C", "\u022E", "\u0230", "\u0232", ["\u023A", "\u023B"], ["\u023D", "\u023E"], "\u0241", ["\u0243", "\u0246"], "\u0248", "\u024A", "\u024C", "\u024E", "\u0370", "\u0372", "\u0376", "\u037F", "\u0386", ["\u0388", "\u038A"], "\u038C", ["\u038E", "\u038F"], ["\u0391", "\u03A1"], ["\u03A3", "\u03AB"], "\u03CF", ["\u03D2", "\u03D4"], "\u03D8", "\u03DA", "\u03DC", "\u03DE", "\u03E0", "\u03E2", "\u03E4", "\u03E6", "\u03E8", "\u03EA", "\u03EC", "\u03EE", "\u03F4", "\u03F7", ["\u03F9", "\u03FA"], ["\u03FD", "\u042F"], "\u0460", "\u0462", "\u0464", "\u0466", "\u0468", "\u046A", "\u046C", "\u046E", "\u0470", "\u0472", "\u0474", "\u0476", "\u0478", "\u047A", "\u047C", "\u047E", "\u0480", "\u048A", "\u048C", "\u048E", "\u0490", "\u0492", "\u0494", "\u0496", "\u0498", "\u049A", "\u049C", "\u049E", "\u04A0", "\u04A2", "\u04A4", "\u04A6", "\u04A8", "\u04AA", "\u04AC", "\u04AE", "\u04B0", "\u04B2", "\u04B4", "\u04B6", "\u04B8", "\u04BA", "\u04BC", "\u04BE", ["\u04C0", "\u04C1"], "\u04C3", "\u04C5", "\u04C7", "\u04C9", "\u04CB", "\u04CD", "\u04D0", "\u04D2", "\u04D4", "\u04D6", "\u04D8", "\u04DA", "\u04DC", "\u04DE", "\u04E0", "\u04E2", "\u04E4", "\u04E6", "\u04E8", "\u04EA", "\u04EC", "\u04EE", "\u04F0", "\u04F2", "\u04F4", "\u04F6", "\u04F8", "\u04FA", "\u04FC", "\u04FE", "\u0500", "\u0502", "\u0504", "\u0506", "\u0508", "\u050A", "\u050C", "\u050E", "\u0510", "\u0512", "\u0514", "\u0516", "\u0518", "\u051A", "\u051C", "\u051E", "\u0520", "\u0522", "\u0524", "\u0526", "\u0528", "\u052A", "\u052C", "\u052E", ["\u0531", "\u0556"], ["\u10A0", "\u10C5"], "\u10C7", "\u10CD", ["\u13A0", "\u13F5"], "\u1E00", "\u1E02", "\u1E04", "\u1E06", "\u1E08", "\u1E0A", "\u1E0C", "\u1E0E", "\u1E10", "\u1E12", "\u1E14", "\u1E16", "\u1E18", "\u1E1A", "\u1E1C", "\u1E1E", "\u1E20", "\u1E22", "\u1E24", "\u1E26", "\u1E28", "\u1E2A", "\u1E2C", "\u1E2E", "\u1E30", "\u1E32", "\u1E34", "\u1E36", "\u1E38", "\u1E3A", "\u1E3C", "\u1E3E", "\u1E40", "\u1E42", "\u1E44", "\u1E46", "\u1E48", "\u1E4A", "\u1E4C", "\u1E4E", "\u1E50", "\u1E52", "\u1E54", "\u1E56", "\u1E58", "\u1E5A", "\u1E5C", "\u1E5E", "\u1E60", "\u1E62", "\u1E64", "\u1E66", "\u1E68", "\u1E6A", "\u1E6C", "\u1E6E", "\u1E70", "\u1E72", "\u1E74", "\u1E76", "\u1E78", "\u1E7A", "\u1E7C", "\u1E7E", "\u1E80", "\u1E82", "\u1E84", "\u1E86", "\u1E88", "\u1E8A", "\u1E8C", "\u1E8E", "\u1E90", "\u1E92", "\u1E94", "\u1E9E", "\u1EA0", "\u1EA2", "\u1EA4", "\u1EA6", "\u1EA8", "\u1EAA", "\u1EAC", "\u1EAE", "\u1EB0", "\u1EB2", "\u1EB4", "\u1EB6", "\u1EB8", "\u1EBA", "\u1EBC", "\u1EBE", "\u1EC0", "\u1EC2", "\u1EC4", "\u1EC6", "\u1EC8", "\u1ECA", "\u1ECC", "\u1ECE", "\u1ED0", "\u1ED2", "\u1ED4", "\u1ED6", "\u1ED8", "\u1EDA", "\u1EDC", "\u1EDE", "\u1EE0", "\u1EE2", "\u1EE4", "\u1EE6", "\u1EE8", "\u1EEA", "\u1EEC", "\u1EEE", "\u1EF0", "\u1EF2", "\u1EF4", "\u1EF6", "\u1EF8", "\u1EFA", "\u1EFC", "\u1EFE", ["\u1F08", "\u1F0F"], ["\u1F18", "\u1F1D"], ["\u1F28", "\u1F2F"], ["\u1F38", "\u1F3F"], ["\u1F48", "\u1F4D"], "\u1F59", "\u1F5B", "\u1F5D", "\u1F5F", ["\u1F68", "\u1F6F"], ["\u1FB8", "\u1FBB"], ["\u1FC8", "\u1FCB"], ["\u1FD8", "\u1FDB"], ["\u1FE8", "\u1FEC"], ["\u1FF8", "\u1FFB"], "\u2102", "\u2107", ["\u210B", "\u210D"], ["\u2110", "\u2112"], "\u2115", ["\u2119", "\u211D"], "\u2124", "\u2126", "\u2128", ["\u212A", "\u212D"], ["\u2130", "\u2133"], ["\u213E", "\u213F"], "\u2145", "\u2183", ["\u2C00", "\u2C2E"], "\u2C60", ["\u2C62", "\u2C64"], "\u2C67", "\u2C69", "\u2C6B", ["\u2C6D", "\u2C70"], "\u2C72", "\u2C75", ["\u2C7E", "\u2C80"], "\u2C82", "\u2C84", "\u2C86", "\u2C88", "\u2C8A", "\u2C8C", "\u2C8E", "\u2C90", "\u2C92", "\u2C94", "\u2C96", "\u2C98", "\u2C9A", "\u2C9C", "\u2C9E", "\u2CA0", "\u2CA2", "\u2CA4", "\u2CA6", "\u2CA8", "\u2CAA", "\u2CAC", "\u2CAE", "\u2CB0", "\u2CB2", "\u2CB4", "\u2CB6", "\u2CB8", "\u2CBA", "\u2CBC", "\u2CBE", "\u2CC0", "\u2CC2", "\u2CC4", "\u2CC6", "\u2CC8", "\u2CCA", "\u2CCC", "\u2CCE", "\u2CD0", "\u2CD2", "\u2CD4", "\u2CD6", "\u2CD8", "\u2CDA", "\u2CDC", "\u2CDE", "\u2CE0", "\u2CE2", "\u2CEB", "\u2CED", "\u2CF2", "\uA640", "\uA642", "\uA644", "\uA646", "\uA648", "\uA64A", "\uA64C", "\uA64E", "\uA650", "\uA652", "\uA654", "\uA656", "\uA658", "\uA65A", "\uA65C", "\uA65E", "\uA660", "\uA662", "\uA664", "\uA666", "\uA668", "\uA66A", "\uA66C", "\uA680", "\uA682", "\uA684", "\uA686", "\uA688", "\uA68A", "\uA68C", "\uA68E", "\uA690", "\uA692", "\uA694", "\uA696", "\uA698", "\uA69A", "\uA722", "\uA724", "\uA726", "\uA728", "\uA72A", "\uA72C", "\uA72E", "\uA732", "\uA734", "\uA736", "\uA738", "\uA73A", "\uA73C", "\uA73E", "\uA740", "\uA742", "\uA744", "\uA746", "\uA748", "\uA74A", "\uA74C", "\uA74E", "\uA750", "\uA752", "\uA754", "\uA756", "\uA758", "\uA75A", "\uA75C", "\uA75E", "\uA760", "\uA762", "\uA764", "\uA766", "\uA768", "\uA76A", "\uA76C", "\uA76E", "\uA779", "\uA77B", ["\uA77D", "\uA77E"], "\uA780", "\uA782", "\uA784", "\uA786", "\uA78B", "\uA78D", "\uA790", "\uA792", "\uA796", "\uA798", "\uA79A", "\uA79C", "\uA79E", "\uA7A0", "\uA7A2", "\uA7A4", "\uA7A6", "\uA7A8", ["\uA7AA", "\uA7AD"], ["\uA7B0", "\uA7B4"], "\uA7B6", ["\uFF21", "\uFF3A"]], false, false); - var peg$e71 = peg$classExpectation(["\u0903", "\u093B", ["\u093E", "\u0940"], ["\u0949", "\u094C"], ["\u094E", "\u094F"], ["\u0982", "\u0983"], ["\u09BE", "\u09C0"], ["\u09C7", "\u09C8"], ["\u09CB", "\u09CC"], "\u09D7", "\u0A03", ["\u0A3E", "\u0A40"], "\u0A83", ["\u0ABE", "\u0AC0"], "\u0AC9", ["\u0ACB", "\u0ACC"], ["\u0B02", "\u0B03"], "\u0B3E", "\u0B40", ["\u0B47", "\u0B48"], ["\u0B4B", "\u0B4C"], "\u0B57", ["\u0BBE", "\u0BBF"], ["\u0BC1", "\u0BC2"], ["\u0BC6", "\u0BC8"], ["\u0BCA", "\u0BCC"], "\u0BD7", ["\u0C01", "\u0C03"], ["\u0C41", "\u0C44"], ["\u0C82", "\u0C83"], "\u0CBE", ["\u0CC0", "\u0CC4"], ["\u0CC7", "\u0CC8"], ["\u0CCA", "\u0CCB"], ["\u0CD5", "\u0CD6"], ["\u0D02", "\u0D03"], ["\u0D3E", "\u0D40"], ["\u0D46", "\u0D48"], ["\u0D4A", "\u0D4C"], "\u0D57", ["\u0D82", "\u0D83"], ["\u0DCF", "\u0DD1"], ["\u0DD8", "\u0DDF"], ["\u0DF2", "\u0DF3"], ["\u0F3E", "\u0F3F"], "\u0F7F", ["\u102B", "\u102C"], "\u1031", "\u1038", ["\u103B", "\u103C"], ["\u1056", "\u1057"], ["\u1062", "\u1064"], ["\u1067", "\u106D"], ["\u1083", "\u1084"], ["\u1087", "\u108C"], "\u108F", ["\u109A", "\u109C"], "\u17B6", ["\u17BE", "\u17C5"], ["\u17C7", "\u17C8"], ["\u1923", "\u1926"], ["\u1929", "\u192B"], ["\u1930", "\u1931"], ["\u1933", "\u1938"], ["\u1A19", "\u1A1A"], "\u1A55", "\u1A57", "\u1A61", ["\u1A63", "\u1A64"], ["\u1A6D", "\u1A72"], "\u1B04", "\u1B35", "\u1B3B", ["\u1B3D", "\u1B41"], ["\u1B43", "\u1B44"], "\u1B82", "\u1BA1", ["\u1BA6", "\u1BA7"], "\u1BAA", "\u1BE7", ["\u1BEA", "\u1BEC"], "\u1BEE", ["\u1BF2", "\u1BF3"], ["\u1C24", "\u1C2B"], ["\u1C34", "\u1C35"], "\u1CE1", ["\u1CF2", "\u1CF3"], ["\u302E", "\u302F"], ["\uA823", "\uA824"], "\uA827", ["\uA880", "\uA881"], ["\uA8B4", "\uA8C3"], ["\uA952", "\uA953"], "\uA983", ["\uA9B4", "\uA9B5"], ["\uA9BA", "\uA9BB"], ["\uA9BD", "\uA9C0"], ["\uAA2F", "\uAA30"], ["\uAA33", "\uAA34"], "\uAA4D", "\uAA7B", "\uAA7D", "\uAAEB", ["\uAAEE", "\uAAEF"], "\uAAF5", ["\uABE3", "\uABE4"], ["\uABE6", "\uABE7"], ["\uABE9", "\uABEA"], "\uABEC"], false, false); - var peg$e72 = peg$classExpectation([["\u0300", "\u036F"], ["\u0483", "\u0487"], ["\u0591", "\u05BD"], "\u05BF", ["\u05C1", "\u05C2"], ["\u05C4", "\u05C5"], "\u05C7", ["\u0610", "\u061A"], ["\u064B", "\u065F"], "\u0670", ["\u06D6", "\u06DC"], ["\u06DF", "\u06E4"], ["\u06E7", "\u06E8"], ["\u06EA", "\u06ED"], "\u0711", ["\u0730", "\u074A"], ["\u07A6", "\u07B0"], ["\u07EB", "\u07F3"], ["\u0816", "\u0819"], ["\u081B", "\u0823"], ["\u0825", "\u0827"], ["\u0829", "\u082D"], ["\u0859", "\u085B"], ["\u08E3", "\u0902"], "\u093A", "\u093C", ["\u0941", "\u0948"], "\u094D", ["\u0951", "\u0957"], ["\u0962", "\u0963"], "\u0981", "\u09BC", ["\u09C1", "\u09C4"], "\u09CD", ["\u09E2", "\u09E3"], ["\u0A01", "\u0A02"], "\u0A3C", ["\u0A41", "\u0A42"], ["\u0A47", "\u0A48"], ["\u0A4B", "\u0A4D"], "\u0A51", ["\u0A70", "\u0A71"], "\u0A75", ["\u0A81", "\u0A82"], "\u0ABC", ["\u0AC1", "\u0AC5"], ["\u0AC7", "\u0AC8"], "\u0ACD", ["\u0AE2", "\u0AE3"], "\u0B01", "\u0B3C", "\u0B3F", ["\u0B41", "\u0B44"], "\u0B4D", "\u0B56", ["\u0B62", "\u0B63"], "\u0B82", "\u0BC0", "\u0BCD", "\u0C00", ["\u0C3E", "\u0C40"], ["\u0C46", "\u0C48"], ["\u0C4A", "\u0C4D"], ["\u0C55", "\u0C56"], ["\u0C62", "\u0C63"], "\u0C81", "\u0CBC", "\u0CBF", "\u0CC6", ["\u0CCC", "\u0CCD"], ["\u0CE2", "\u0CE3"], "\u0D01", ["\u0D41", "\u0D44"], "\u0D4D", ["\u0D62", "\u0D63"], "\u0DCA", ["\u0DD2", "\u0DD4"], "\u0DD6", "\u0E31", ["\u0E34", "\u0E3A"], ["\u0E47", "\u0E4E"], "\u0EB1", ["\u0EB4", "\u0EB9"], ["\u0EBB", "\u0EBC"], ["\u0EC8", "\u0ECD"], ["\u0F18", "\u0F19"], "\u0F35", "\u0F37", "\u0F39", ["\u0F71", "\u0F7E"], ["\u0F80", "\u0F84"], ["\u0F86", "\u0F87"], ["\u0F8D", "\u0F97"], ["\u0F99", "\u0FBC"], "\u0FC6", ["\u102D", "\u1030"], ["\u1032", "\u1037"], ["\u1039", "\u103A"], ["\u103D", "\u103E"], ["\u1058", "\u1059"], ["\u105E", "\u1060"], ["\u1071", "\u1074"], "\u1082", ["\u1085", "\u1086"], "\u108D", "\u109D", ["\u135D", "\u135F"], ["\u1712", "\u1714"], ["\u1732", "\u1734"], ["\u1752", "\u1753"], ["\u1772", "\u1773"], ["\u17B4", "\u17B5"], ["\u17B7", "\u17BD"], "\u17C6", ["\u17C9", "\u17D3"], "\u17DD", ["\u180B", "\u180D"], "\u18A9", ["\u1920", "\u1922"], ["\u1927", "\u1928"], "\u1932", ["\u1939", "\u193B"], ["\u1A17", "\u1A18"], "\u1A1B", "\u1A56", ["\u1A58", "\u1A5E"], "\u1A60", "\u1A62", ["\u1A65", "\u1A6C"], ["\u1A73", "\u1A7C"], "\u1A7F", ["\u1AB0", "\u1ABD"], ["\u1B00", "\u1B03"], "\u1B34", ["\u1B36", "\u1B3A"], "\u1B3C", "\u1B42", ["\u1B6B", "\u1B73"], ["\u1B80", "\u1B81"], ["\u1BA2", "\u1BA5"], ["\u1BA8", "\u1BA9"], ["\u1BAB", "\u1BAD"], "\u1BE6", ["\u1BE8", "\u1BE9"], "\u1BED", ["\u1BEF", "\u1BF1"], ["\u1C2C", "\u1C33"], ["\u1C36", "\u1C37"], ["\u1CD0", "\u1CD2"], ["\u1CD4", "\u1CE0"], ["\u1CE2", "\u1CE8"], "\u1CED", "\u1CF4", ["\u1CF8", "\u1CF9"], ["\u1DC0", "\u1DF5"], ["\u1DFC", "\u1DFF"], ["\u20D0", "\u20DC"], "\u20E1", ["\u20E5", "\u20F0"], ["\u2CEF", "\u2CF1"], "\u2D7F", ["\u2DE0", "\u2DFF"], ["\u302A", "\u302D"], ["\u3099", "\u309A"], "\uA66F", ["\uA674", "\uA67D"], ["\uA69E", "\uA69F"], ["\uA6F0", "\uA6F1"], "\uA802", "\uA806", "\uA80B", ["\uA825", "\uA826"], "\uA8C4", ["\uA8E0", "\uA8F1"], ["\uA926", "\uA92D"], ["\uA947", "\uA951"], ["\uA980", "\uA982"], "\uA9B3", ["\uA9B6", "\uA9B9"], "\uA9BC", "\uA9E5", ["\uAA29", "\uAA2E"], ["\uAA31", "\uAA32"], ["\uAA35", "\uAA36"], "\uAA43", "\uAA4C", "\uAA7C", "\uAAB0", ["\uAAB2", "\uAAB4"], ["\uAAB7", "\uAAB8"], ["\uAABE", "\uAABF"], "\uAAC1", ["\uAAEC", "\uAAED"], "\uAAF6", "\uABE5", "\uABE8", "\uABED", "\uFB1E", ["\uFE00", "\uFE0F"], ["\uFE20", "\uFE2F"]], false, false); - var peg$e73 = peg$classExpectation([["0", "9"], ["\u0660", "\u0669"], ["\u06F0", "\u06F9"], ["\u07C0", "\u07C9"], ["\u0966", "\u096F"], ["\u09E6", "\u09EF"], ["\u0A66", "\u0A6F"], ["\u0AE6", "\u0AEF"], ["\u0B66", "\u0B6F"], ["\u0BE6", "\u0BEF"], ["\u0C66", "\u0C6F"], ["\u0CE6", "\u0CEF"], ["\u0D66", "\u0D6F"], ["\u0DE6", "\u0DEF"], ["\u0E50", "\u0E59"], ["\u0ED0", "\u0ED9"], ["\u0F20", "\u0F29"], ["\u1040", "\u1049"], ["\u1090", "\u1099"], ["\u17E0", "\u17E9"], ["\u1810", "\u1819"], ["\u1946", "\u194F"], ["\u19D0", "\u19D9"], ["\u1A80", "\u1A89"], ["\u1A90", "\u1A99"], ["\u1B50", "\u1B59"], ["\u1BB0", "\u1BB9"], ["\u1C40", "\u1C49"], ["\u1C50", "\u1C59"], ["\uA620", "\uA629"], ["\uA8D0", "\uA8D9"], ["\uA900", "\uA909"], ["\uA9D0", "\uA9D9"], ["\uA9F0", "\uA9F9"], ["\uAA50", "\uAA59"], ["\uABF0", "\uABF9"], ["\uFF10", "\uFF19"]], false, false); - var peg$e74 = peg$classExpectation([["\u16EE", "\u16F0"], ["\u2160", "\u2182"], ["\u2185", "\u2188"], "\u3007", ["\u3021", "\u3029"], ["\u3038", "\u303A"], ["\uA6E6", "\uA6EF"]], false, false); - var peg$e75 = peg$classExpectation(["_", ["\u203F", "\u2040"], "\u2054", ["\uFE33", "\uFE34"], ["\uFE4D", "\uFE4F"], "\uFF3F"], false, false); - var peg$e76 = peg$classExpectation([" ", "\xA0", "\u1680", ["\u2000", "\u200A"], "\u202F", "\u205F", "\u3000"], false, false); + var peg$e2 = peg$literalExpectation("=", false); + var peg$e3 = peg$literalExpectation("/", false); + var peg$e4 = peg$literalExpectation("@", false); + var peg$e5 = peg$literalExpectation(":", false); + var peg$e6 = peg$classExpectation(["!", "$", "&"], false, false); + var peg$e7 = peg$classExpectation([["*", "+"], "?"], false, false); + var peg$e8 = peg$literalExpectation("|", false); + var peg$e9 = peg$literalExpectation(",", false); + var peg$e10 = peg$literalExpectation("..", false); + var peg$e11 = peg$literalExpectation("(", false); + var peg$e12 = peg$literalExpectation(")", false); + var peg$e13 = peg$classExpectation(["!", "&"], false, false); + var peg$e14 = peg$anyExpectation(); + var peg$e15 = peg$otherExpectation("whitespace"); + var peg$e16 = peg$classExpectation(["\t", ["\v", "\f"], " ", "\xA0", "\u1680", ["\u2000", "\u200A"], "\u202F", "\u205F", "\u3000", "\uFEFF"], false, false); + var peg$e17 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], false, false); + var peg$e18 = peg$otherExpectation("end of line"); + var peg$e19 = peg$literalExpectation("\n", false); + var peg$e20 = peg$literalExpectation("\r\n", false); + var peg$e21 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false); + var peg$e22 = peg$otherExpectation("comment"); + var peg$e23 = peg$literalExpectation("/*", false); + var peg$e24 = peg$literalExpectation("*/", false); + var peg$e25 = peg$literalExpectation("//", false); + var peg$e26 = peg$otherExpectation("identifier"); + var peg$e27 = peg$classExpectation([["A", "Z"], "_", ["a", "z"], "\xAA", "\xB5", "\xBA", ["\xC0", "\xD6"], ["\xD8", "\xF6"], ["\xF8", "\u02C1"], ["\u02C6", "\u02D1"], ["\u02E0", "\u02E4"], "\u02EC", "\u02EE", ["\u0370", "\u0374"], ["\u0376", "\u0377"], ["\u037A", "\u037D"], "\u037F", "\u0386", ["\u0388", "\u038A"], "\u038C", ["\u038E", "\u03A1"], ["\u03A3", "\u03F5"], ["\u03F7", "\u0481"], ["\u048A", "\u052F"], ["\u0531", "\u0556"], "\u0559", ["\u0561", "\u0587"], ["\u05D0", "\u05EA"], ["\u05F0", "\u05F2"], ["\u0620", "\u064A"], ["\u066E", "\u066F"], ["\u0671", "\u06D3"], "\u06D5", ["\u06E5", "\u06E6"], ["\u06EE", "\u06EF"], ["\u06FA", "\u06FC"], "\u06FF", "\u0710", ["\u0712", "\u072F"], ["\u074D", "\u07A5"], "\u07B1", ["\u07CA", "\u07EA"], ["\u07F4", "\u07F5"], "\u07FA", ["\u0800", "\u0815"], "\u081A", "\u0824", "\u0828", ["\u0840", "\u0858"], ["\u08A0", "\u08B4"], ["\u0904", "\u0939"], "\u093D", "\u0950", ["\u0958", "\u0961"], ["\u0971", "\u0980"], ["\u0985", "\u098C"], ["\u098F", "\u0990"], ["\u0993", "\u09A8"], ["\u09AA", "\u09B0"], "\u09B2", ["\u09B6", "\u09B9"], "\u09BD", "\u09CE", ["\u09DC", "\u09DD"], ["\u09DF", "\u09E1"], ["\u09F0", "\u09F1"], ["\u0A05", "\u0A0A"], ["\u0A0F", "\u0A10"], ["\u0A13", "\u0A28"], ["\u0A2A", "\u0A30"], ["\u0A32", "\u0A33"], ["\u0A35", "\u0A36"], ["\u0A38", "\u0A39"], ["\u0A59", "\u0A5C"], "\u0A5E", ["\u0A72", "\u0A74"], ["\u0A85", "\u0A8D"], ["\u0A8F", "\u0A91"], ["\u0A93", "\u0AA8"], ["\u0AAA", "\u0AB0"], ["\u0AB2", "\u0AB3"], ["\u0AB5", "\u0AB9"], "\u0ABD", "\u0AD0", ["\u0AE0", "\u0AE1"], "\u0AF9", ["\u0B05", "\u0B0C"], ["\u0B0F", "\u0B10"], ["\u0B13", "\u0B28"], ["\u0B2A", "\u0B30"], ["\u0B32", "\u0B33"], ["\u0B35", "\u0B39"], "\u0B3D", ["\u0B5C", "\u0B5D"], ["\u0B5F", "\u0B61"], "\u0B71", "\u0B83", ["\u0B85", "\u0B8A"], ["\u0B8E", "\u0B90"], ["\u0B92", "\u0B95"], ["\u0B99", "\u0B9A"], "\u0B9C", ["\u0B9E", "\u0B9F"], ["\u0BA3", "\u0BA4"], ["\u0BA8", "\u0BAA"], ["\u0BAE", "\u0BB9"], "\u0BD0", ["\u0C05", "\u0C0C"], ["\u0C0E", "\u0C10"], ["\u0C12", "\u0C28"], ["\u0C2A", "\u0C39"], "\u0C3D", ["\u0C58", "\u0C5A"], ["\u0C60", "\u0C61"], ["\u0C85", "\u0C8C"], ["\u0C8E", "\u0C90"], ["\u0C92", "\u0CA8"], ["\u0CAA", "\u0CB3"], ["\u0CB5", "\u0CB9"], "\u0CBD", "\u0CDE", ["\u0CE0", "\u0CE1"], ["\u0CF1", "\u0CF2"], ["\u0D05", "\u0D0C"], ["\u0D0E", "\u0D10"], ["\u0D12", "\u0D3A"], "\u0D3D", "\u0D4E", ["\u0D5F", "\u0D61"], ["\u0D7A", "\u0D7F"], ["\u0D85", "\u0D96"], ["\u0D9A", "\u0DB1"], ["\u0DB3", "\u0DBB"], "\u0DBD", ["\u0DC0", "\u0DC6"], ["\u0E01", "\u0E30"], ["\u0E32", "\u0E33"], ["\u0E40", "\u0E46"], ["\u0E81", "\u0E82"], "\u0E84", ["\u0E87", "\u0E88"], "\u0E8A", "\u0E8D", ["\u0E94", "\u0E97"], ["\u0E99", "\u0E9F"], ["\u0EA1", "\u0EA3"], "\u0EA5", "\u0EA7", ["\u0EAA", "\u0EAB"], ["\u0EAD", "\u0EB0"], ["\u0EB2", "\u0EB3"], "\u0EBD", ["\u0EC0", "\u0EC4"], "\u0EC6", ["\u0EDC", "\u0EDF"], "\u0F00", ["\u0F40", "\u0F47"], ["\u0F49", "\u0F6C"], ["\u0F88", "\u0F8C"], ["\u1000", "\u102A"], "\u103F", ["\u1050", "\u1055"], ["\u105A", "\u105D"], "\u1061", ["\u1065", "\u1066"], ["\u106E", "\u1070"], ["\u1075", "\u1081"], "\u108E", ["\u10A0", "\u10C5"], "\u10C7", "\u10CD", ["\u10D0", "\u10FA"], ["\u10FC", "\u1248"], ["\u124A", "\u124D"], ["\u1250", "\u1256"], "\u1258", ["\u125A", "\u125D"], ["\u1260", "\u1288"], ["\u128A", "\u128D"], ["\u1290", "\u12B0"], ["\u12B2", "\u12B5"], ["\u12B8", "\u12BE"], "\u12C0", ["\u12C2", "\u12C5"], ["\u12C8", "\u12D6"], ["\u12D8", "\u1310"], ["\u1312", "\u1315"], ["\u1318", "\u135A"], ["\u1380", "\u138F"], ["\u13A0", "\u13F5"], ["\u13F8", "\u13FD"], ["\u1401", "\u166C"], ["\u166F", "\u167F"], ["\u1681", "\u169A"], ["\u16A0", "\u16EA"], ["\u16EE", "\u16F8"], ["\u1700", "\u170C"], ["\u170E", "\u1711"], ["\u1720", "\u1731"], ["\u1740", "\u1751"], ["\u1760", "\u176C"], ["\u176E", "\u1770"], ["\u1780", "\u17B3"], "\u17D7", "\u17DC", ["\u1820", "\u1877"], ["\u1880", "\u18A8"], "\u18AA", ["\u18B0", "\u18F5"], ["\u1900", "\u191E"], ["\u1950", "\u196D"], ["\u1970", "\u1974"], ["\u1980", "\u19AB"], ["\u19B0", "\u19C9"], ["\u1A00", "\u1A16"], ["\u1A20", "\u1A54"], "\u1AA7", ["\u1B05", "\u1B33"], ["\u1B45", "\u1B4B"], ["\u1B83", "\u1BA0"], ["\u1BAE", "\u1BAF"], ["\u1BBA", "\u1BE5"], ["\u1C00", "\u1C23"], ["\u1C4D", "\u1C4F"], ["\u1C5A", "\u1C7D"], ["\u1CE9", "\u1CEC"], ["\u1CEE", "\u1CF1"], ["\u1CF5", "\u1CF6"], ["\u1D00", "\u1DBF"], ["\u1E00", "\u1F15"], ["\u1F18", "\u1F1D"], ["\u1F20", "\u1F45"], ["\u1F48", "\u1F4D"], ["\u1F50", "\u1F57"], "\u1F59", "\u1F5B", "\u1F5D", ["\u1F5F", "\u1F7D"], ["\u1F80", "\u1FB4"], ["\u1FB6", "\u1FBC"], "\u1FBE", ["\u1FC2", "\u1FC4"], ["\u1FC6", "\u1FCC"], ["\u1FD0", "\u1FD3"], ["\u1FD6", "\u1FDB"], ["\u1FE0", "\u1FEC"], ["\u1FF2", "\u1FF4"], ["\u1FF6", "\u1FFC"], "\u2071", "\u207F", ["\u2090", "\u209C"], "\u2102", "\u2107", ["\u210A", "\u2113"], "\u2115", ["\u2119", "\u211D"], "\u2124", "\u2126", "\u2128", ["\u212A", "\u212D"], ["\u212F", "\u2139"], ["\u213C", "\u213F"], ["\u2145", "\u2149"], "\u214E", ["\u2160", "\u2188"], ["\u2C00", "\u2C2E"], ["\u2C30", "\u2C5E"], ["\u2C60", "\u2CE4"], ["\u2CEB", "\u2CEE"], ["\u2CF2", "\u2CF3"], ["\u2D00", "\u2D25"], "\u2D27", "\u2D2D", ["\u2D30", "\u2D67"], "\u2D6F", ["\u2D80", "\u2D96"], ["\u2DA0", "\u2DA6"], ["\u2DA8", "\u2DAE"], ["\u2DB0", "\u2DB6"], ["\u2DB8", "\u2DBE"], ["\u2DC0", "\u2DC6"], ["\u2DC8", "\u2DCE"], ["\u2DD0", "\u2DD6"], ["\u2DD8", "\u2DDE"], "\u2E2F", ["\u3005", "\u3007"], ["\u3021", "\u3029"], ["\u3031", "\u3035"], ["\u3038", "\u303C"], ["\u3041", "\u3096"], ["\u309D", "\u309F"], ["\u30A1", "\u30FA"], ["\u30FC", "\u30FF"], ["\u3105", "\u312D"], ["\u3131", "\u318E"], ["\u31A0", "\u31BA"], ["\u31F0", "\u31FF"], ["\u3400", "\u4DB5"], ["\u4E00", "\u9FD5"], ["\uA000", "\uA48C"], ["\uA4D0", "\uA4FD"], ["\uA500", "\uA60C"], ["\uA610", "\uA61F"], ["\uA62A", "\uA62B"], ["\uA640", "\uA66E"], ["\uA67F", "\uA69D"], ["\uA6A0", "\uA6EF"], ["\uA717", "\uA71F"], ["\uA722", "\uA788"], ["\uA78B", "\uA7AD"], ["\uA7B0", "\uA7B7"], ["\uA7F7", "\uA801"], ["\uA803", "\uA805"], ["\uA807", "\uA80A"], ["\uA80C", "\uA822"], ["\uA840", "\uA873"], ["\uA882", "\uA8B3"], ["\uA8F2", "\uA8F7"], "\uA8FB", "\uA8FD", ["\uA90A", "\uA925"], ["\uA930", "\uA946"], ["\uA960", "\uA97C"], ["\uA984", "\uA9B2"], "\uA9CF", ["\uA9E0", "\uA9E4"], ["\uA9E6", "\uA9EF"], ["\uA9FA", "\uA9FE"], ["\uAA00", "\uAA28"], ["\uAA40", "\uAA42"], ["\uAA44", "\uAA4B"], ["\uAA60", "\uAA76"], "\uAA7A", ["\uAA7E", "\uAAAF"], "\uAAB1", ["\uAAB5", "\uAAB6"], ["\uAAB9", "\uAABD"], "\uAAC0", "\uAAC2", ["\uAADB", "\uAADD"], ["\uAAE0", "\uAAEA"], ["\uAAF2", "\uAAF4"], ["\uAB01", "\uAB06"], ["\uAB09", "\uAB0E"], ["\uAB11", "\uAB16"], ["\uAB20", "\uAB26"], ["\uAB28", "\uAB2E"], ["\uAB30", "\uAB5A"], ["\uAB5C", "\uAB65"], ["\uAB70", "\uABE2"], ["\uAC00", "\uD7A3"], ["\uD7B0", "\uD7C6"], ["\uD7CB", "\uD7FB"], ["\uF900", "\uFA6D"], ["\uFA70", "\uFAD9"], ["\uFB00", "\uFB06"], ["\uFB13", "\uFB17"], "\uFB1D", ["\uFB1F", "\uFB28"], ["\uFB2A", "\uFB36"], ["\uFB38", "\uFB3C"], "\uFB3E", ["\uFB40", "\uFB41"], ["\uFB43", "\uFB44"], ["\uFB46", "\uFBB1"], ["\uFBD3", "\uFD3D"], ["\uFD50", "\uFD8F"], ["\uFD92", "\uFDC7"], ["\uFDF0", "\uFDFB"], ["\uFE70", "\uFE74"], ["\uFE76", "\uFEFC"], ["\uFF21", "\uFF3A"], ["\uFF41", "\uFF5A"], ["\uFF66", "\uFFBE"], ["\uFFC2", "\uFFC7"], ["\uFFCA", "\uFFCF"], ["\uFFD2", "\uFFD7"], ["\uFFDA", "\uFFDC"]], false, false); + var peg$e28 = peg$literalExpectation("\\", false); + var peg$e29 = peg$classExpectation(["$", ["0", "9"], "_", ["\u0300", "\u036F"], ["\u0483", "\u0487"], ["\u0591", "\u05BD"], "\u05BF", ["\u05C1", "\u05C2"], ["\u05C4", "\u05C5"], "\u05C7", ["\u0610", "\u061A"], ["\u064B", "\u0669"], "\u0670", ["\u06D6", "\u06DC"], ["\u06DF", "\u06E4"], ["\u06E7", "\u06E8"], ["\u06EA", "\u06ED"], ["\u06F0", "\u06F9"], "\u0711", ["\u0730", "\u074A"], ["\u07A6", "\u07B0"], ["\u07C0", "\u07C9"], ["\u07EB", "\u07F3"], ["\u0816", "\u0819"], ["\u081B", "\u0823"], ["\u0825", "\u0827"], ["\u0829", "\u082D"], ["\u0859", "\u085B"], ["\u08E3", "\u0903"], ["\u093A", "\u093C"], ["\u093E", "\u094F"], ["\u0951", "\u0957"], ["\u0962", "\u0963"], ["\u0966", "\u096F"], ["\u0981", "\u0983"], "\u09BC", ["\u09BE", "\u09C4"], ["\u09C7", "\u09C8"], ["\u09CB", "\u09CD"], "\u09D7", ["\u09E2", "\u09E3"], ["\u09E6", "\u09EF"], ["\u0A01", "\u0A03"], "\u0A3C", ["\u0A3E", "\u0A42"], ["\u0A47", "\u0A48"], ["\u0A4B", "\u0A4D"], "\u0A51", ["\u0A66", "\u0A71"], "\u0A75", ["\u0A81", "\u0A83"], "\u0ABC", ["\u0ABE", "\u0AC5"], ["\u0AC7", "\u0AC9"], ["\u0ACB", "\u0ACD"], ["\u0AE2", "\u0AE3"], ["\u0AE6", "\u0AEF"], ["\u0B01", "\u0B03"], "\u0B3C", ["\u0B3E", "\u0B44"], ["\u0B47", "\u0B48"], ["\u0B4B", "\u0B4D"], ["\u0B56", "\u0B57"], ["\u0B62", "\u0B63"], ["\u0B66", "\u0B6F"], "\u0B82", ["\u0BBE", "\u0BC2"], ["\u0BC6", "\u0BC8"], ["\u0BCA", "\u0BCD"], "\u0BD7", ["\u0BE6", "\u0BEF"], ["\u0C00", "\u0C03"], ["\u0C3E", "\u0C44"], ["\u0C46", "\u0C48"], ["\u0C4A", "\u0C4D"], ["\u0C55", "\u0C56"], ["\u0C62", "\u0C63"], ["\u0C66", "\u0C6F"], ["\u0C81", "\u0C83"], "\u0CBC", ["\u0CBE", "\u0CC4"], ["\u0CC6", "\u0CC8"], ["\u0CCA", "\u0CCD"], ["\u0CD5", "\u0CD6"], ["\u0CE2", "\u0CE3"], ["\u0CE6", "\u0CEF"], ["\u0D01", "\u0D03"], ["\u0D3E", "\u0D44"], ["\u0D46", "\u0D48"], ["\u0D4A", "\u0D4D"], "\u0D57", ["\u0D62", "\u0D63"], ["\u0D66", "\u0D6F"], ["\u0D82", "\u0D83"], "\u0DCA", ["\u0DCF", "\u0DD4"], "\u0DD6", ["\u0DD8", "\u0DDF"], ["\u0DE6", "\u0DEF"], ["\u0DF2", "\u0DF3"], "\u0E31", ["\u0E34", "\u0E3A"], ["\u0E47", "\u0E4E"], ["\u0E50", "\u0E59"], "\u0EB1", ["\u0EB4", "\u0EB9"], ["\u0EBB", "\u0EBC"], ["\u0EC8", "\u0ECD"], ["\u0ED0", "\u0ED9"], ["\u0F18", "\u0F19"], ["\u0F20", "\u0F29"], "\u0F35", "\u0F37", "\u0F39", ["\u0F3E", "\u0F3F"], ["\u0F71", "\u0F84"], ["\u0F86", "\u0F87"], ["\u0F8D", "\u0F97"], ["\u0F99", "\u0FBC"], "\u0FC6", ["\u102B", "\u103E"], ["\u1040", "\u1049"], ["\u1056", "\u1059"], ["\u105E", "\u1060"], ["\u1062", "\u1064"], ["\u1067", "\u106D"], ["\u1071", "\u1074"], ["\u1082", "\u108D"], ["\u108F", "\u109D"], ["\u135D", "\u135F"], ["\u1712", "\u1714"], ["\u1732", "\u1734"], ["\u1752", "\u1753"], ["\u1772", "\u1773"], ["\u17B4", "\u17D3"], "\u17DD", ["\u17E0", "\u17E9"], ["\u180B", "\u180D"], ["\u1810", "\u1819"], "\u18A9", ["\u1920", "\u192B"], ["\u1930", "\u193B"], ["\u1946", "\u194F"], ["\u19D0", "\u19D9"], ["\u1A17", "\u1A1B"], ["\u1A55", "\u1A5E"], ["\u1A60", "\u1A7C"], ["\u1A7F", "\u1A89"], ["\u1A90", "\u1A99"], ["\u1AB0", "\u1ABD"], ["\u1B00", "\u1B04"], ["\u1B34", "\u1B44"], ["\u1B50", "\u1B59"], ["\u1B6B", "\u1B73"], ["\u1B80", "\u1B82"], ["\u1BA1", "\u1BAD"], ["\u1BB0", "\u1BB9"], ["\u1BE6", "\u1BF3"], ["\u1C24", "\u1C37"], ["\u1C40", "\u1C49"], ["\u1C50", "\u1C59"], ["\u1CD0", "\u1CD2"], ["\u1CD4", "\u1CE8"], "\u1CED", ["\u1CF2", "\u1CF4"], ["\u1CF8", "\u1CF9"], ["\u1DC0", "\u1DF5"], ["\u1DFC", "\u1DFF"], ["\u200C", "\u200D"], ["\u203F", "\u2040"], "\u2054", ["\u20D0", "\u20DC"], "\u20E1", ["\u20E5", "\u20F0"], ["\u2CEF", "\u2CF1"], "\u2D7F", ["\u2DE0", "\u2DFF"], ["\u302A", "\u302F"], ["\u3099", "\u309A"], ["\uA620", "\uA629"], "\uA66F", ["\uA674", "\uA67D"], ["\uA69E", "\uA69F"], ["\uA6F0", "\uA6F1"], "\uA802", "\uA806", "\uA80B", ["\uA823", "\uA827"], ["\uA880", "\uA881"], ["\uA8B4", "\uA8C4"], ["\uA8D0", "\uA8D9"], ["\uA8E0", "\uA8F1"], ["\uA900", "\uA909"], ["\uA926", "\uA92D"], ["\uA947", "\uA953"], ["\uA980", "\uA983"], ["\uA9B3", "\uA9C0"], ["\uA9D0", "\uA9D9"], "\uA9E5", ["\uA9F0", "\uA9F9"], ["\uAA29", "\uAA36"], "\uAA43", ["\uAA4C", "\uAA4D"], ["\uAA50", "\uAA59"], ["\uAA7B", "\uAA7D"], "\uAAB0", ["\uAAB2", "\uAAB4"], ["\uAAB7", "\uAAB8"], ["\uAABE", "\uAABF"], "\uAAC1", ["\uAAEB", "\uAAEF"], ["\uAAF5", "\uAAF6"], ["\uABE3", "\uABEA"], ["\uABEC", "\uABED"], ["\uABF0", "\uABF9"], "\uFB1E", ["\uFE00", "\uFE0F"], ["\uFE20", "\uFE2F"], ["\uFE33", "\uFE34"], ["\uFE4D", "\uFE4F"], ["\uFF10", "\uFF19"], "\uFF3F"], false, false); + var peg$e30 = peg$classExpectation([["A", "Z"], ["a", "z"], "\xAA", "\xB5", "\xBA", ["\xC0", "\xD6"], ["\xD8", "\xF6"], ["\xF8", "\u02C1"], ["\u02C6", "\u02D1"], ["\u02E0", "\u02E4"], "\u02EC", "\u02EE", ["\u0370", "\u0374"], ["\u0376", "\u0377"], ["\u037A", "\u037D"], "\u037F", "\u0386", ["\u0388", "\u038A"], "\u038C", ["\u038E", "\u03A1"], ["\u03A3", "\u03F5"], ["\u03F7", "\u0481"], ["\u048A", "\u052F"], ["\u0531", "\u0556"], "\u0559", ["\u0561", "\u0587"], ["\u05D0", "\u05EA"], ["\u05F0", "\u05F2"], ["\u0620", "\u064A"], ["\u066E", "\u066F"], ["\u0671", "\u06D3"], "\u06D5", ["\u06E5", "\u06E6"], ["\u06EE", "\u06EF"], ["\u06FA", "\u06FC"], "\u06FF", "\u0710", ["\u0712", "\u072F"], ["\u074D", "\u07A5"], "\u07B1", ["\u07CA", "\u07EA"], ["\u07F4", "\u07F5"], "\u07FA", ["\u0800", "\u0815"], "\u081A", "\u0824", "\u0828", ["\u0840", "\u0858"], ["\u08A0", "\u08B4"], ["\u0904", "\u0939"], "\u093D", "\u0950", ["\u0958", "\u0961"], ["\u0971", "\u0980"], ["\u0985", "\u098C"], ["\u098F", "\u0990"], ["\u0993", "\u09A8"], ["\u09AA", "\u09B0"], "\u09B2", ["\u09B6", "\u09B9"], "\u09BD", "\u09CE", ["\u09DC", "\u09DD"], ["\u09DF", "\u09E1"], ["\u09F0", "\u09F1"], ["\u0A05", "\u0A0A"], ["\u0A0F", "\u0A10"], ["\u0A13", "\u0A28"], ["\u0A2A", "\u0A30"], ["\u0A32", "\u0A33"], ["\u0A35", "\u0A36"], ["\u0A38", "\u0A39"], ["\u0A59", "\u0A5C"], "\u0A5E", ["\u0A72", "\u0A74"], ["\u0A85", "\u0A8D"], ["\u0A8F", "\u0A91"], ["\u0A93", "\u0AA8"], ["\u0AAA", "\u0AB0"], ["\u0AB2", "\u0AB3"], ["\u0AB5", "\u0AB9"], "\u0ABD", "\u0AD0", ["\u0AE0", "\u0AE1"], "\u0AF9", ["\u0B05", "\u0B0C"], ["\u0B0F", "\u0B10"], ["\u0B13", "\u0B28"], ["\u0B2A", "\u0B30"], ["\u0B32", "\u0B33"], ["\u0B35", "\u0B39"], "\u0B3D", ["\u0B5C", "\u0B5D"], ["\u0B5F", "\u0B61"], "\u0B71", "\u0B83", ["\u0B85", "\u0B8A"], ["\u0B8E", "\u0B90"], ["\u0B92", "\u0B95"], ["\u0B99", "\u0B9A"], "\u0B9C", ["\u0B9E", "\u0B9F"], ["\u0BA3", "\u0BA4"], ["\u0BA8", "\u0BAA"], ["\u0BAE", "\u0BB9"], "\u0BD0", ["\u0C05", "\u0C0C"], ["\u0C0E", "\u0C10"], ["\u0C12", "\u0C28"], ["\u0C2A", "\u0C39"], "\u0C3D", ["\u0C58", "\u0C5A"], ["\u0C60", "\u0C61"], ["\u0C85", "\u0C8C"], ["\u0C8E", "\u0C90"], ["\u0C92", "\u0CA8"], ["\u0CAA", "\u0CB3"], ["\u0CB5", "\u0CB9"], "\u0CBD", "\u0CDE", ["\u0CE0", "\u0CE1"], ["\u0CF1", "\u0CF2"], ["\u0D05", "\u0D0C"], ["\u0D0E", "\u0D10"], ["\u0D12", "\u0D3A"], "\u0D3D", "\u0D4E", ["\u0D5F", "\u0D61"], ["\u0D7A", "\u0D7F"], ["\u0D85", "\u0D96"], ["\u0D9A", "\u0DB1"], ["\u0DB3", "\u0DBB"], "\u0DBD", ["\u0DC0", "\u0DC6"], ["\u0E01", "\u0E30"], ["\u0E32", "\u0E33"], ["\u0E40", "\u0E46"], ["\u0E81", "\u0E82"], "\u0E84", ["\u0E87", "\u0E88"], "\u0E8A", "\u0E8D", ["\u0E94", "\u0E97"], ["\u0E99", "\u0E9F"], ["\u0EA1", "\u0EA3"], "\u0EA5", "\u0EA7", ["\u0EAA", "\u0EAB"], ["\u0EAD", "\u0EB0"], ["\u0EB2", "\u0EB3"], "\u0EBD", ["\u0EC0", "\u0EC4"], "\u0EC6", ["\u0EDC", "\u0EDF"], "\u0F00", ["\u0F40", "\u0F47"], ["\u0F49", "\u0F6C"], ["\u0F88", "\u0F8C"], ["\u1000", "\u102A"], "\u103F", ["\u1050", "\u1055"], ["\u105A", "\u105D"], "\u1061", ["\u1065", "\u1066"], ["\u106E", "\u1070"], ["\u1075", "\u1081"], "\u108E", ["\u10A0", "\u10C5"], "\u10C7", "\u10CD", ["\u10D0", "\u10FA"], ["\u10FC", "\u1248"], ["\u124A", "\u124D"], ["\u1250", "\u1256"], "\u1258", ["\u125A", "\u125D"], ["\u1260", "\u1288"], ["\u128A", "\u128D"], ["\u1290", "\u12B0"], ["\u12B2", "\u12B5"], ["\u12B8", "\u12BE"], "\u12C0", ["\u12C2", "\u12C5"], ["\u12C8", "\u12D6"], ["\u12D8", "\u1310"], ["\u1312", "\u1315"], ["\u1318", "\u135A"], ["\u1380", "\u138F"], ["\u13A0", "\u13F5"], ["\u13F8", "\u13FD"], ["\u1401", "\u166C"], ["\u166F", "\u167F"], ["\u1681", "\u169A"], ["\u16A0", "\u16EA"], ["\u16EE", "\u16F8"], ["\u1700", "\u170C"], ["\u170E", "\u1711"], ["\u1720", "\u1731"], ["\u1740", "\u1751"], ["\u1760", "\u176C"], ["\u176E", "\u1770"], ["\u1780", "\u17B3"], "\u17D7", "\u17DC", ["\u1820", "\u1877"], ["\u1880", "\u18A8"], "\u18AA", ["\u18B0", "\u18F5"], ["\u1900", "\u191E"], ["\u1950", "\u196D"], ["\u1970", "\u1974"], ["\u1980", "\u19AB"], ["\u19B0", "\u19C9"], ["\u1A00", "\u1A16"], ["\u1A20", "\u1A54"], "\u1AA7", ["\u1B05", "\u1B33"], ["\u1B45", "\u1B4B"], ["\u1B83", "\u1BA0"], ["\u1BAE", "\u1BAF"], ["\u1BBA", "\u1BE5"], ["\u1C00", "\u1C23"], ["\u1C4D", "\u1C4F"], ["\u1C5A", "\u1C7D"], ["\u1CE9", "\u1CEC"], ["\u1CEE", "\u1CF1"], ["\u1CF5", "\u1CF6"], ["\u1D00", "\u1DBF"], ["\u1E00", "\u1F15"], ["\u1F18", "\u1F1D"], ["\u1F20", "\u1F45"], ["\u1F48", "\u1F4D"], ["\u1F50", "\u1F57"], "\u1F59", "\u1F5B", "\u1F5D", ["\u1F5F", "\u1F7D"], ["\u1F80", "\u1FB4"], ["\u1FB6", "\u1FBC"], "\u1FBE", ["\u1FC2", "\u1FC4"], ["\u1FC6", "\u1FCC"], ["\u1FD0", "\u1FD3"], ["\u1FD6", "\u1FDB"], ["\u1FE0", "\u1FEC"], ["\u1FF2", "\u1FF4"], ["\u1FF6", "\u1FFC"], "\u2071", "\u207F", ["\u2090", "\u209C"], "\u2102", "\u2107", ["\u210A", "\u2113"], "\u2115", ["\u2119", "\u211D"], "\u2124", "\u2126", "\u2128", ["\u212A", "\u212D"], ["\u212F", "\u2139"], ["\u213C", "\u213F"], ["\u2145", "\u2149"], "\u214E", ["\u2160", "\u2188"], ["\u2C00", "\u2C2E"], ["\u2C30", "\u2C5E"], ["\u2C60", "\u2CE4"], ["\u2CEB", "\u2CEE"], ["\u2CF2", "\u2CF3"], ["\u2D00", "\u2D25"], "\u2D27", "\u2D2D", ["\u2D30", "\u2D67"], "\u2D6F", ["\u2D80", "\u2D96"], ["\u2DA0", "\u2DA6"], ["\u2DA8", "\u2DAE"], ["\u2DB0", "\u2DB6"], ["\u2DB8", "\u2DBE"], ["\u2DC0", "\u2DC6"], ["\u2DC8", "\u2DCE"], ["\u2DD0", "\u2DD6"], ["\u2DD8", "\u2DDE"], "\u2E2F", ["\u3005", "\u3007"], ["\u3021", "\u3029"], ["\u3031", "\u3035"], ["\u3038", "\u303C"], ["\u3041", "\u3096"], ["\u309D", "\u309F"], ["\u30A1", "\u30FA"], ["\u30FC", "\u30FF"], ["\u3105", "\u312D"], ["\u3131", "\u318E"], ["\u31A0", "\u31BA"], ["\u31F0", "\u31FF"], ["\u3400", "\u4DB5"], ["\u4E00", "\u9FD5"], ["\uA000", "\uA48C"], ["\uA4D0", "\uA4FD"], ["\uA500", "\uA60C"], ["\uA610", "\uA61F"], ["\uA62A", "\uA62B"], ["\uA640", "\uA66E"], ["\uA67F", "\uA69D"], ["\uA6A0", "\uA6EF"], ["\uA717", "\uA71F"], ["\uA722", "\uA788"], ["\uA78B", "\uA7AD"], ["\uA7B0", "\uA7B7"], ["\uA7F7", "\uA801"], ["\uA803", "\uA805"], ["\uA807", "\uA80A"], ["\uA80C", "\uA822"], ["\uA840", "\uA873"], ["\uA882", "\uA8B3"], ["\uA8F2", "\uA8F7"], "\uA8FB", "\uA8FD", ["\uA90A", "\uA925"], ["\uA930", "\uA946"], ["\uA960", "\uA97C"], ["\uA984", "\uA9B2"], "\uA9CF", ["\uA9E0", "\uA9E4"], ["\uA9E6", "\uA9EF"], ["\uA9FA", "\uA9FE"], ["\uAA00", "\uAA28"], ["\uAA40", "\uAA42"], ["\uAA44", "\uAA4B"], ["\uAA60", "\uAA76"], "\uAA7A", ["\uAA7E", "\uAAAF"], "\uAAB1", ["\uAAB5", "\uAAB6"], ["\uAAB9", "\uAABD"], "\uAAC0", "\uAAC2", ["\uAADB", "\uAADD"], ["\uAAE0", "\uAAEA"], ["\uAAF2", "\uAAF4"], ["\uAB01", "\uAB06"], ["\uAB09", "\uAB0E"], ["\uAB11", "\uAB16"], ["\uAB20", "\uAB26"], ["\uAB28", "\uAB2E"], ["\uAB30", "\uAB5A"], ["\uAB5C", "\uAB65"], ["\uAB70", "\uABE2"], ["\uAC00", "\uD7A3"], ["\uD7B0", "\uD7C6"], ["\uD7CB", "\uD7FB"], ["\uF900", "\uFA6D"], ["\uFA70", "\uFAD9"], ["\uFB00", "\uFB06"], ["\uFB13", "\uFB17"], "\uFB1D", ["\uFB1F", "\uFB28"], ["\uFB2A", "\uFB36"], ["\uFB38", "\uFB3C"], "\uFB3E", ["\uFB40", "\uFB41"], ["\uFB43", "\uFB44"], ["\uFB46", "\uFBB1"], ["\uFBD3", "\uFD3D"], ["\uFD50", "\uFD8F"], ["\uFD92", "\uFDC7"], ["\uFDF0", "\uFDFB"], ["\uFE70", "\uFE74"], ["\uFE76", "\uFEFC"], ["\uFF21", "\uFF3A"], ["\uFF41", "\uFF5A"], ["\uFF66", "\uFFBE"], ["\uFFC2", "\uFFC7"], ["\uFFCA", "\uFFCF"], ["\uFFD2", "\uFFD7"], ["\uFFDA", "\uFFDC"]], false, false); + var peg$e31 = peg$classExpectation([["\u0300", "\u036F"], ["\u0483", "\u0487"], ["\u0591", "\u05BD"], "\u05BF", ["\u05C1", "\u05C2"], ["\u05C4", "\u05C5"], "\u05C7", ["\u0610", "\u061A"], ["\u064B", "\u065F"], "\u0670", ["\u06D6", "\u06DC"], ["\u06DF", "\u06E4"], ["\u06E7", "\u06E8"], ["\u06EA", "\u06ED"], "\u0711", ["\u0730", "\u074A"], ["\u07A6", "\u07B0"], ["\u07EB", "\u07F3"], ["\u0816", "\u0819"], ["\u081B", "\u0823"], ["\u0825", "\u0827"], ["\u0829", "\u082D"], ["\u0859", "\u085B"], ["\u08E3", "\u0903"], ["\u093A", "\u093C"], ["\u093E", "\u094F"], ["\u0951", "\u0957"], ["\u0962", "\u0963"], ["\u0981", "\u0983"], "\u09BC", ["\u09BE", "\u09C4"], ["\u09C7", "\u09C8"], ["\u09CB", "\u09CD"], "\u09D7", ["\u09E2", "\u09E3"], ["\u0A01", "\u0A03"], "\u0A3C", ["\u0A3E", "\u0A42"], ["\u0A47", "\u0A48"], ["\u0A4B", "\u0A4D"], "\u0A51", ["\u0A70", "\u0A71"], "\u0A75", ["\u0A81", "\u0A83"], "\u0ABC", ["\u0ABE", "\u0AC5"], ["\u0AC7", "\u0AC9"], ["\u0ACB", "\u0ACD"], ["\u0AE2", "\u0AE3"], ["\u0B01", "\u0B03"], "\u0B3C", ["\u0B3E", "\u0B44"], ["\u0B47", "\u0B48"], ["\u0B4B", "\u0B4D"], ["\u0B56", "\u0B57"], ["\u0B62", "\u0B63"], "\u0B82", ["\u0BBE", "\u0BC2"], ["\u0BC6", "\u0BC8"], ["\u0BCA", "\u0BCD"], "\u0BD7", ["\u0C00", "\u0C03"], ["\u0C3E", "\u0C44"], ["\u0C46", "\u0C48"], ["\u0C4A", "\u0C4D"], ["\u0C55", "\u0C56"], ["\u0C62", "\u0C63"], ["\u0C81", "\u0C83"], "\u0CBC", ["\u0CBE", "\u0CC4"], ["\u0CC6", "\u0CC8"], ["\u0CCA", "\u0CCD"], ["\u0CD5", "\u0CD6"], ["\u0CE2", "\u0CE3"], ["\u0D01", "\u0D03"], ["\u0D3E", "\u0D44"], ["\u0D46", "\u0D48"], ["\u0D4A", "\u0D4D"], "\u0D57", ["\u0D62", "\u0D63"], ["\u0D82", "\u0D83"], "\u0DCA", ["\u0DCF", "\u0DD4"], "\u0DD6", ["\u0DD8", "\u0DDF"], ["\u0DF2", "\u0DF3"], "\u0E31", ["\u0E34", "\u0E3A"], ["\u0E47", "\u0E4E"], "\u0EB1", ["\u0EB4", "\u0EB9"], ["\u0EBB", "\u0EBC"], ["\u0EC8", "\u0ECD"], ["\u0F18", "\u0F19"], "\u0F35", "\u0F37", "\u0F39", ["\u0F3E", "\u0F3F"], ["\u0F71", "\u0F84"], ["\u0F86", "\u0F87"], ["\u0F8D", "\u0F97"], ["\u0F99", "\u0FBC"], "\u0FC6", ["\u102B", "\u103E"], ["\u1056", "\u1059"], ["\u105E", "\u1060"], ["\u1062", "\u1064"], ["\u1067", "\u106D"], ["\u1071", "\u1074"], ["\u1082", "\u108D"], "\u108F", ["\u109A", "\u109D"], ["\u135D", "\u135F"], ["\u1712", "\u1714"], ["\u1732", "\u1734"], ["\u1752", "\u1753"], ["\u1772", "\u1773"], ["\u17B4", "\u17D3"], "\u17DD", ["\u180B", "\u180D"], "\u18A9", ["\u1920", "\u192B"], ["\u1930", "\u193B"], ["\u1A17", "\u1A1B"], ["\u1A55", "\u1A5E"], ["\u1A60", "\u1A7C"], "\u1A7F", ["\u1AB0", "\u1ABD"], ["\u1B00", "\u1B04"], ["\u1B34", "\u1B44"], ["\u1B6B", "\u1B73"], ["\u1B80", "\u1B82"], ["\u1BA1", "\u1BAD"], ["\u1BE6", "\u1BF3"], ["\u1C24", "\u1C37"], ["\u1CD0", "\u1CD2"], ["\u1CD4", "\u1CE8"], "\u1CED", ["\u1CF2", "\u1CF4"], ["\u1CF8", "\u1CF9"], ["\u1DC0", "\u1DF5"], ["\u1DFC", "\u1DFF"], ["\u20D0", "\u20DC"], "\u20E1", ["\u20E5", "\u20F0"], ["\u2CEF", "\u2CF1"], "\u2D7F", ["\u2DE0", "\u2DFF"], ["\u302A", "\u302F"], ["\u3099", "\u309A"], "\uA66F", ["\uA674", "\uA67D"], ["\uA69E", "\uA69F"], ["\uA6F0", "\uA6F1"], "\uA802", "\uA806", "\uA80B", ["\uA823", "\uA827"], ["\uA880", "\uA881"], ["\uA8B4", "\uA8C4"], ["\uA8E0", "\uA8F1"], ["\uA926", "\uA92D"], ["\uA947", "\uA953"], ["\uA980", "\uA983"], ["\uA9B3", "\uA9C0"], "\uA9E5", ["\uAA29", "\uAA36"], "\uAA43", ["\uAA4C", "\uAA4D"], ["\uAA7B", "\uAA7D"], "\uAAB0", ["\uAAB2", "\uAAB4"], ["\uAAB7", "\uAAB8"], ["\uAABE", "\uAABF"], "\uAAC1", ["\uAAEB", "\uAAEF"], ["\uAAF5", "\uAAF6"], ["\uABE3", "\uABEA"], ["\uABEC", "\uABED"], "\uFB1E", ["\uFE00", "\uFE0F"], ["\uFE20", "\uFE2F"]], false, false); + var peg$e32 = peg$otherExpectation("literal"); + var peg$e33 = peg$literalExpectation("i", false); + var peg$e34 = peg$otherExpectation("string"); + var peg$e35 = peg$literalExpectation("\"", false); + var peg$e36 = peg$literalExpectation("'", false); + var peg$e37 = peg$classExpectation(["\n", "\r", "\"", "\\", ["\u2028", "\u2029"]], false, false); + var peg$e38 = peg$classExpectation(["\n", "\r", "'", "\\", ["\u2028", "\u2029"]], false, false); + var peg$e39 = peg$otherExpectation("character class"); + var peg$e40 = peg$literalExpectation("[", false); + var peg$e41 = peg$literalExpectation("^", false); + var peg$e42 = peg$literalExpectation("]", false); + var peg$e43 = peg$literalExpectation("-", false); + var peg$e44 = peg$classExpectation(["\n", "\r", ["\\", "]"], ["\u2028", "\u2029"]], false, false); + var peg$e45 = peg$literalExpectation("0", false); + var peg$e46 = peg$classExpectation(["\"", "'", "\\"], false, false); + var peg$e47 = peg$literalExpectation("b", false); + var peg$e48 = peg$literalExpectation("f", false); + var peg$e49 = peg$literalExpectation("n", false); + var peg$e50 = peg$literalExpectation("r", false); + var peg$e51 = peg$literalExpectation("t", false); + var peg$e52 = peg$literalExpectation("v", false); + var peg$e53 = peg$classExpectation([["0", "9"], "u", "x"], false, false); + var peg$e54 = peg$literalExpectation("x", false); + var peg$e55 = peg$literalExpectation("u", false); + var peg$e56 = peg$classExpectation([["0", "9"]], false, false); + var peg$e57 = peg$classExpectation([["0", "9"], ["a", "f"]], false, true); + var peg$e58 = peg$literalExpectation(".", false); + var peg$e59 = peg$otherExpectation("code block"); + var peg$e60 = peg$classExpectation(["{", "}"], false, false); + var peg$e61 = peg$classExpectation([["a", "z"], "\xB5", ["\xDF", "\xF6"], ["\xF8", "\xFF"], "\u0101", "\u0103", "\u0105", "\u0107", "\u0109", "\u010B", "\u010D", "\u010F", "\u0111", "\u0113", "\u0115", "\u0117", "\u0119", "\u011B", "\u011D", "\u011F", "\u0121", "\u0123", "\u0125", "\u0127", "\u0129", "\u012B", "\u012D", "\u012F", "\u0131", "\u0133", "\u0135", ["\u0137", "\u0138"], "\u013A", "\u013C", "\u013E", "\u0140", "\u0142", "\u0144", "\u0146", ["\u0148", "\u0149"], "\u014B", "\u014D", "\u014F", "\u0151", "\u0153", "\u0155", "\u0157", "\u0159", "\u015B", "\u015D", "\u015F", "\u0161", "\u0163", "\u0165", "\u0167", "\u0169", "\u016B", "\u016D", "\u016F", "\u0171", "\u0173", "\u0175", "\u0177", "\u017A", "\u017C", ["\u017E", "\u0180"], "\u0183", "\u0185", "\u0188", ["\u018C", "\u018D"], "\u0192", "\u0195", ["\u0199", "\u019B"], "\u019E", "\u01A1", "\u01A3", "\u01A5", "\u01A8", ["\u01AA", "\u01AB"], "\u01AD", "\u01B0", "\u01B4", "\u01B6", ["\u01B9", "\u01BA"], ["\u01BD", "\u01BF"], "\u01C6", "\u01C9", "\u01CC", "\u01CE", "\u01D0", "\u01D2", "\u01D4", "\u01D6", "\u01D8", "\u01DA", ["\u01DC", "\u01DD"], "\u01DF", "\u01E1", "\u01E3", "\u01E5", "\u01E7", "\u01E9", "\u01EB", "\u01ED", ["\u01EF", "\u01F0"], "\u01F3", "\u01F5", "\u01F9", "\u01FB", "\u01FD", "\u01FF", "\u0201", "\u0203", "\u0205", "\u0207", "\u0209", "\u020B", "\u020D", "\u020F", "\u0211", "\u0213", "\u0215", "\u0217", "\u0219", "\u021B", "\u021D", "\u021F", "\u0221", "\u0223", "\u0225", "\u0227", "\u0229", "\u022B", "\u022D", "\u022F", "\u0231", ["\u0233", "\u0239"], "\u023C", ["\u023F", "\u0240"], "\u0242", "\u0247", "\u0249", "\u024B", "\u024D", ["\u024F", "\u0293"], ["\u0295", "\u02AF"], "\u0371", "\u0373", "\u0377", ["\u037B", "\u037D"], "\u0390", ["\u03AC", "\u03CE"], ["\u03D0", "\u03D1"], ["\u03D5", "\u03D7"], "\u03D9", "\u03DB", "\u03DD", "\u03DF", "\u03E1", "\u03E3", "\u03E5", "\u03E7", "\u03E9", "\u03EB", "\u03ED", ["\u03EF", "\u03F3"], "\u03F5", "\u03F8", ["\u03FB", "\u03FC"], ["\u0430", "\u045F"], "\u0461", "\u0463", "\u0465", "\u0467", "\u0469", "\u046B", "\u046D", "\u046F", "\u0471", "\u0473", "\u0475", "\u0477", "\u0479", "\u047B", "\u047D", "\u047F", "\u0481", "\u048B", "\u048D", "\u048F", "\u0491", "\u0493", "\u0495", "\u0497", "\u0499", "\u049B", "\u049D", "\u049F", "\u04A1", "\u04A3", "\u04A5", "\u04A7", "\u04A9", "\u04AB", "\u04AD", "\u04AF", "\u04B1", "\u04B3", "\u04B5", "\u04B7", "\u04B9", "\u04BB", "\u04BD", "\u04BF", "\u04C2", "\u04C4", "\u04C6", "\u04C8", "\u04CA", "\u04CC", ["\u04CE", "\u04CF"], "\u04D1", "\u04D3", "\u04D5", "\u04D7", "\u04D9", "\u04DB", "\u04DD", "\u04DF", "\u04E1", "\u04E3", "\u04E5", "\u04E7", "\u04E9", "\u04EB", "\u04ED", "\u04EF", "\u04F1", "\u04F3", "\u04F5", "\u04F7", "\u04F9", "\u04FB", "\u04FD", "\u04FF", "\u0501", "\u0503", "\u0505", "\u0507", "\u0509", "\u050B", "\u050D", "\u050F", "\u0511", "\u0513", "\u0515", "\u0517", "\u0519", "\u051B", "\u051D", "\u051F", "\u0521", "\u0523", "\u0525", "\u0527", "\u0529", "\u052B", "\u052D", "\u052F", ["\u0561", "\u0587"], ["\u13F8", "\u13FD"], ["\u1D00", "\u1D2B"], ["\u1D6B", "\u1D77"], ["\u1D79", "\u1D9A"], "\u1E01", "\u1E03", "\u1E05", "\u1E07", "\u1E09", "\u1E0B", "\u1E0D", "\u1E0F", "\u1E11", "\u1E13", "\u1E15", "\u1E17", "\u1E19", "\u1E1B", "\u1E1D", "\u1E1F", "\u1E21", "\u1E23", "\u1E25", "\u1E27", "\u1E29", "\u1E2B", "\u1E2D", "\u1E2F", "\u1E31", "\u1E33", "\u1E35", "\u1E37", "\u1E39", "\u1E3B", "\u1E3D", "\u1E3F", "\u1E41", "\u1E43", "\u1E45", "\u1E47", "\u1E49", "\u1E4B", "\u1E4D", "\u1E4F", "\u1E51", "\u1E53", "\u1E55", "\u1E57", "\u1E59", "\u1E5B", "\u1E5D", "\u1E5F", "\u1E61", "\u1E63", "\u1E65", "\u1E67", "\u1E69", "\u1E6B", "\u1E6D", "\u1E6F", "\u1E71", "\u1E73", "\u1E75", "\u1E77", "\u1E79", "\u1E7B", "\u1E7D", "\u1E7F", "\u1E81", "\u1E83", "\u1E85", "\u1E87", "\u1E89", "\u1E8B", "\u1E8D", "\u1E8F", "\u1E91", "\u1E93", ["\u1E95", "\u1E9D"], "\u1E9F", "\u1EA1", "\u1EA3", "\u1EA5", "\u1EA7", "\u1EA9", "\u1EAB", "\u1EAD", "\u1EAF", "\u1EB1", "\u1EB3", "\u1EB5", "\u1EB7", "\u1EB9", "\u1EBB", "\u1EBD", "\u1EBF", "\u1EC1", "\u1EC3", "\u1EC5", "\u1EC7", "\u1EC9", "\u1ECB", "\u1ECD", "\u1ECF", "\u1ED1", "\u1ED3", "\u1ED5", "\u1ED7", "\u1ED9", "\u1EDB", "\u1EDD", "\u1EDF", "\u1EE1", "\u1EE3", "\u1EE5", "\u1EE7", "\u1EE9", "\u1EEB", "\u1EED", "\u1EEF", "\u1EF1", "\u1EF3", "\u1EF5", "\u1EF7", "\u1EF9", "\u1EFB", "\u1EFD", ["\u1EFF", "\u1F07"], ["\u1F10", "\u1F15"], ["\u1F20", "\u1F27"], ["\u1F30", "\u1F37"], ["\u1F40", "\u1F45"], ["\u1F50", "\u1F57"], ["\u1F60", "\u1F67"], ["\u1F70", "\u1F7D"], ["\u1F80", "\u1F87"], ["\u1F90", "\u1F97"], ["\u1FA0", "\u1FA7"], ["\u1FB0", "\u1FB4"], ["\u1FB6", "\u1FB7"], "\u1FBE", ["\u1FC2", "\u1FC4"], ["\u1FC6", "\u1FC7"], ["\u1FD0", "\u1FD3"], ["\u1FD6", "\u1FD7"], ["\u1FE0", "\u1FE7"], ["\u1FF2", "\u1FF4"], ["\u1FF6", "\u1FF7"], "\u210A", ["\u210E", "\u210F"], "\u2113", "\u212F", "\u2134", "\u2139", ["\u213C", "\u213D"], ["\u2146", "\u2149"], "\u214E", "\u2184", ["\u2C30", "\u2C5E"], "\u2C61", ["\u2C65", "\u2C66"], "\u2C68", "\u2C6A", "\u2C6C", "\u2C71", ["\u2C73", "\u2C74"], ["\u2C76", "\u2C7B"], "\u2C81", "\u2C83", "\u2C85", "\u2C87", "\u2C89", "\u2C8B", "\u2C8D", "\u2C8F", "\u2C91", "\u2C93", "\u2C95", "\u2C97", "\u2C99", "\u2C9B", "\u2C9D", "\u2C9F", "\u2CA1", "\u2CA3", "\u2CA5", "\u2CA7", "\u2CA9", "\u2CAB", "\u2CAD", "\u2CAF", "\u2CB1", "\u2CB3", "\u2CB5", "\u2CB7", "\u2CB9", "\u2CBB", "\u2CBD", "\u2CBF", "\u2CC1", "\u2CC3", "\u2CC5", "\u2CC7", "\u2CC9", "\u2CCB", "\u2CCD", "\u2CCF", "\u2CD1", "\u2CD3", "\u2CD5", "\u2CD7", "\u2CD9", "\u2CDB", "\u2CDD", "\u2CDF", "\u2CE1", ["\u2CE3", "\u2CE4"], "\u2CEC", "\u2CEE", "\u2CF3", ["\u2D00", "\u2D25"], "\u2D27", "\u2D2D", "\uA641", "\uA643", "\uA645", "\uA647", "\uA649", "\uA64B", "\uA64D", "\uA64F", "\uA651", "\uA653", "\uA655", "\uA657", "\uA659", "\uA65B", "\uA65D", "\uA65F", "\uA661", "\uA663", "\uA665", "\uA667", "\uA669", "\uA66B", "\uA66D", "\uA681", "\uA683", "\uA685", "\uA687", "\uA689", "\uA68B", "\uA68D", "\uA68F", "\uA691", "\uA693", "\uA695", "\uA697", "\uA699", "\uA69B", "\uA723", "\uA725", "\uA727", "\uA729", "\uA72B", "\uA72D", ["\uA72F", "\uA731"], "\uA733", "\uA735", "\uA737", "\uA739", "\uA73B", "\uA73D", "\uA73F", "\uA741", "\uA743", "\uA745", "\uA747", "\uA749", "\uA74B", "\uA74D", "\uA74F", "\uA751", "\uA753", "\uA755", "\uA757", "\uA759", "\uA75B", "\uA75D", "\uA75F", "\uA761", "\uA763", "\uA765", "\uA767", "\uA769", "\uA76B", "\uA76D", "\uA76F", ["\uA771", "\uA778"], "\uA77A", "\uA77C", "\uA77F", "\uA781", "\uA783", "\uA785", "\uA787", "\uA78C", "\uA78E", "\uA791", ["\uA793", "\uA795"], "\uA797", "\uA799", "\uA79B", "\uA79D", "\uA79F", "\uA7A1", "\uA7A3", "\uA7A5", "\uA7A7", "\uA7A9", "\uA7B5", "\uA7B7", "\uA7FA", ["\uAB30", "\uAB5A"], ["\uAB60", "\uAB65"], ["\uAB70", "\uABBF"], ["\uFB00", "\uFB06"], ["\uFB13", "\uFB17"], ["\uFF41", "\uFF5A"]], false, false); + var peg$e62 = peg$classExpectation([["\u02B0", "\u02C1"], ["\u02C6", "\u02D1"], ["\u02E0", "\u02E4"], "\u02EC", "\u02EE", "\u0374", "\u037A", "\u0559", "\u0640", ["\u06E5", "\u06E6"], ["\u07F4", "\u07F5"], "\u07FA", "\u081A", "\u0824", "\u0828", "\u0971", "\u0E46", "\u0EC6", "\u10FC", "\u17D7", "\u1843", "\u1AA7", ["\u1C78", "\u1C7D"], ["\u1D2C", "\u1D6A"], "\u1D78", ["\u1D9B", "\u1DBF"], "\u2071", "\u207F", ["\u2090", "\u209C"], ["\u2C7C", "\u2C7D"], "\u2D6F", "\u2E2F", "\u3005", ["\u3031", "\u3035"], "\u303B", ["\u309D", "\u309E"], ["\u30FC", "\u30FE"], "\uA015", ["\uA4F8", "\uA4FD"], "\uA60C", "\uA67F", ["\uA69C", "\uA69D"], ["\uA717", "\uA71F"], "\uA770", "\uA788", ["\uA7F8", "\uA7F9"], "\uA9CF", "\uA9E6", "\uAA70", "\uAADD", ["\uAAF3", "\uAAF4"], ["\uAB5C", "\uAB5F"], "\uFF70", ["\uFF9E", "\uFF9F"]], false, false); + var peg$e63 = peg$classExpectation(["\xAA", "\xBA", "\u01BB", ["\u01C0", "\u01C3"], "\u0294", ["\u05D0", "\u05EA"], ["\u05F0", "\u05F2"], ["\u0620", "\u063F"], ["\u0641", "\u064A"], ["\u066E", "\u066F"], ["\u0671", "\u06D3"], "\u06D5", ["\u06EE", "\u06EF"], ["\u06FA", "\u06FC"], "\u06FF", "\u0710", ["\u0712", "\u072F"], ["\u074D", "\u07A5"], "\u07B1", ["\u07CA", "\u07EA"], ["\u0800", "\u0815"], ["\u0840", "\u0858"], ["\u08A0", "\u08B4"], ["\u0904", "\u0939"], "\u093D", "\u0950", ["\u0958", "\u0961"], ["\u0972", "\u0980"], ["\u0985", "\u098C"], ["\u098F", "\u0990"], ["\u0993", "\u09A8"], ["\u09AA", "\u09B0"], "\u09B2", ["\u09B6", "\u09B9"], "\u09BD", "\u09CE", ["\u09DC", "\u09DD"], ["\u09DF", "\u09E1"], ["\u09F0", "\u09F1"], ["\u0A05", "\u0A0A"], ["\u0A0F", "\u0A10"], ["\u0A13", "\u0A28"], ["\u0A2A", "\u0A30"], ["\u0A32", "\u0A33"], ["\u0A35", "\u0A36"], ["\u0A38", "\u0A39"], ["\u0A59", "\u0A5C"], "\u0A5E", ["\u0A72", "\u0A74"], ["\u0A85", "\u0A8D"], ["\u0A8F", "\u0A91"], ["\u0A93", "\u0AA8"], ["\u0AAA", "\u0AB0"], ["\u0AB2", "\u0AB3"], ["\u0AB5", "\u0AB9"], "\u0ABD", "\u0AD0", ["\u0AE0", "\u0AE1"], "\u0AF9", ["\u0B05", "\u0B0C"], ["\u0B0F", "\u0B10"], ["\u0B13", "\u0B28"], ["\u0B2A", "\u0B30"], ["\u0B32", "\u0B33"], ["\u0B35", "\u0B39"], "\u0B3D", ["\u0B5C", "\u0B5D"], ["\u0B5F", "\u0B61"], "\u0B71", "\u0B83", ["\u0B85", "\u0B8A"], ["\u0B8E", "\u0B90"], ["\u0B92", "\u0B95"], ["\u0B99", "\u0B9A"], "\u0B9C", ["\u0B9E", "\u0B9F"], ["\u0BA3", "\u0BA4"], ["\u0BA8", "\u0BAA"], ["\u0BAE", "\u0BB9"], "\u0BD0", ["\u0C05", "\u0C0C"], ["\u0C0E", "\u0C10"], ["\u0C12", "\u0C28"], ["\u0C2A", "\u0C39"], "\u0C3D", ["\u0C58", "\u0C5A"], ["\u0C60", "\u0C61"], ["\u0C85", "\u0C8C"], ["\u0C8E", "\u0C90"], ["\u0C92", "\u0CA8"], ["\u0CAA", "\u0CB3"], ["\u0CB5", "\u0CB9"], "\u0CBD", "\u0CDE", ["\u0CE0", "\u0CE1"], ["\u0CF1", "\u0CF2"], ["\u0D05", "\u0D0C"], ["\u0D0E", "\u0D10"], ["\u0D12", "\u0D3A"], "\u0D3D", "\u0D4E", ["\u0D5F", "\u0D61"], ["\u0D7A", "\u0D7F"], ["\u0D85", "\u0D96"], ["\u0D9A", "\u0DB1"], ["\u0DB3", "\u0DBB"], "\u0DBD", ["\u0DC0", "\u0DC6"], ["\u0E01", "\u0E30"], ["\u0E32", "\u0E33"], ["\u0E40", "\u0E45"], ["\u0E81", "\u0E82"], "\u0E84", ["\u0E87", "\u0E88"], "\u0E8A", "\u0E8D", ["\u0E94", "\u0E97"], ["\u0E99", "\u0E9F"], ["\u0EA1", "\u0EA3"], "\u0EA5", "\u0EA7", ["\u0EAA", "\u0EAB"], ["\u0EAD", "\u0EB0"], ["\u0EB2", "\u0EB3"], "\u0EBD", ["\u0EC0", "\u0EC4"], ["\u0EDC", "\u0EDF"], "\u0F00", ["\u0F40", "\u0F47"], ["\u0F49", "\u0F6C"], ["\u0F88", "\u0F8C"], ["\u1000", "\u102A"], "\u103F", ["\u1050", "\u1055"], ["\u105A", "\u105D"], "\u1061", ["\u1065", "\u1066"], ["\u106E", "\u1070"], ["\u1075", "\u1081"], "\u108E", ["\u10D0", "\u10FA"], ["\u10FD", "\u1248"], ["\u124A", "\u124D"], ["\u1250", "\u1256"], "\u1258", ["\u125A", "\u125D"], ["\u1260", "\u1288"], ["\u128A", "\u128D"], ["\u1290", "\u12B0"], ["\u12B2", "\u12B5"], ["\u12B8", "\u12BE"], "\u12C0", ["\u12C2", "\u12C5"], ["\u12C8", "\u12D6"], ["\u12D8", "\u1310"], ["\u1312", "\u1315"], ["\u1318", "\u135A"], ["\u1380", "\u138F"], ["\u1401", "\u166C"], ["\u166F", "\u167F"], ["\u1681", "\u169A"], ["\u16A0", "\u16EA"], ["\u16F1", "\u16F8"], ["\u1700", "\u170C"], ["\u170E", "\u1711"], ["\u1720", "\u1731"], ["\u1740", "\u1751"], ["\u1760", "\u176C"], ["\u176E", "\u1770"], ["\u1780", "\u17B3"], "\u17DC", ["\u1820", "\u1842"], ["\u1844", "\u1877"], ["\u1880", "\u18A8"], "\u18AA", ["\u18B0", "\u18F5"], ["\u1900", "\u191E"], ["\u1950", "\u196D"], ["\u1970", "\u1974"], ["\u1980", "\u19AB"], ["\u19B0", "\u19C9"], ["\u1A00", "\u1A16"], ["\u1A20", "\u1A54"], ["\u1B05", "\u1B33"], ["\u1B45", "\u1B4B"], ["\u1B83", "\u1BA0"], ["\u1BAE", "\u1BAF"], ["\u1BBA", "\u1BE5"], ["\u1C00", "\u1C23"], ["\u1C4D", "\u1C4F"], ["\u1C5A", "\u1C77"], ["\u1CE9", "\u1CEC"], ["\u1CEE", "\u1CF1"], ["\u1CF5", "\u1CF6"], ["\u2135", "\u2138"], ["\u2D30", "\u2D67"], ["\u2D80", "\u2D96"], ["\u2DA0", "\u2DA6"], ["\u2DA8", "\u2DAE"], ["\u2DB0", "\u2DB6"], ["\u2DB8", "\u2DBE"], ["\u2DC0", "\u2DC6"], ["\u2DC8", "\u2DCE"], ["\u2DD0", "\u2DD6"], ["\u2DD8", "\u2DDE"], "\u3006", "\u303C", ["\u3041", "\u3096"], "\u309F", ["\u30A1", "\u30FA"], "\u30FF", ["\u3105", "\u312D"], ["\u3131", "\u318E"], ["\u31A0", "\u31BA"], ["\u31F0", "\u31FF"], ["\u3400", "\u4DB5"], ["\u4E00", "\u9FD5"], ["\uA000", "\uA014"], ["\uA016", "\uA48C"], ["\uA4D0", "\uA4F7"], ["\uA500", "\uA60B"], ["\uA610", "\uA61F"], ["\uA62A", "\uA62B"], "\uA66E", ["\uA6A0", "\uA6E5"], "\uA78F", "\uA7F7", ["\uA7FB", "\uA801"], ["\uA803", "\uA805"], ["\uA807", "\uA80A"], ["\uA80C", "\uA822"], ["\uA840", "\uA873"], ["\uA882", "\uA8B3"], ["\uA8F2", "\uA8F7"], "\uA8FB", "\uA8FD", ["\uA90A", "\uA925"], ["\uA930", "\uA946"], ["\uA960", "\uA97C"], ["\uA984", "\uA9B2"], ["\uA9E0", "\uA9E4"], ["\uA9E7", "\uA9EF"], ["\uA9FA", "\uA9FE"], ["\uAA00", "\uAA28"], ["\uAA40", "\uAA42"], ["\uAA44", "\uAA4B"], ["\uAA60", "\uAA6F"], ["\uAA71", "\uAA76"], "\uAA7A", ["\uAA7E", "\uAAAF"], "\uAAB1", ["\uAAB5", "\uAAB6"], ["\uAAB9", "\uAABD"], "\uAAC0", "\uAAC2", ["\uAADB", "\uAADC"], ["\uAAE0", "\uAAEA"], "\uAAF2", ["\uAB01", "\uAB06"], ["\uAB09", "\uAB0E"], ["\uAB11", "\uAB16"], ["\uAB20", "\uAB26"], ["\uAB28", "\uAB2E"], ["\uABC0", "\uABE2"], ["\uAC00", "\uD7A3"], ["\uD7B0", "\uD7C6"], ["\uD7CB", "\uD7FB"], ["\uF900", "\uFA6D"], ["\uFA70", "\uFAD9"], "\uFB1D", ["\uFB1F", "\uFB28"], ["\uFB2A", "\uFB36"], ["\uFB38", "\uFB3C"], "\uFB3E", ["\uFB40", "\uFB41"], ["\uFB43", "\uFB44"], ["\uFB46", "\uFBB1"], ["\uFBD3", "\uFD3D"], ["\uFD50", "\uFD8F"], ["\uFD92", "\uFDC7"], ["\uFDF0", "\uFDFB"], ["\uFE70", "\uFE74"], ["\uFE76", "\uFEFC"], ["\uFF66", "\uFF6F"], ["\uFF71", "\uFF9D"], ["\uFFA0", "\uFFBE"], ["\uFFC2", "\uFFC7"], ["\uFFCA", "\uFFCF"], ["\uFFD2", "\uFFD7"], ["\uFFDA", "\uFFDC"]], false, false); + var peg$e64 = peg$classExpectation(["\u01C5", "\u01C8", "\u01CB", "\u01F2", ["\u1F88", "\u1F8F"], ["\u1F98", "\u1F9F"], ["\u1FA8", "\u1FAF"], "\u1FBC", "\u1FCC", "\u1FFC"], false, false); + var peg$e65 = peg$classExpectation([["A", "Z"], ["\xC0", "\xD6"], ["\xD8", "\xDE"], "\u0100", "\u0102", "\u0104", "\u0106", "\u0108", "\u010A", "\u010C", "\u010E", "\u0110", "\u0112", "\u0114", "\u0116", "\u0118", "\u011A", "\u011C", "\u011E", "\u0120", "\u0122", "\u0124", "\u0126", "\u0128", "\u012A", "\u012C", "\u012E", "\u0130", "\u0132", "\u0134", "\u0136", "\u0139", "\u013B", "\u013D", "\u013F", "\u0141", "\u0143", "\u0145", "\u0147", "\u014A", "\u014C", "\u014E", "\u0150", "\u0152", "\u0154", "\u0156", "\u0158", "\u015A", "\u015C", "\u015E", "\u0160", "\u0162", "\u0164", "\u0166", "\u0168", "\u016A", "\u016C", "\u016E", "\u0170", "\u0172", "\u0174", "\u0176", ["\u0178", "\u0179"], "\u017B", "\u017D", ["\u0181", "\u0182"], "\u0184", ["\u0186", "\u0187"], ["\u0189", "\u018B"], ["\u018E", "\u0191"], ["\u0193", "\u0194"], ["\u0196", "\u0198"], ["\u019C", "\u019D"], ["\u019F", "\u01A0"], "\u01A2", "\u01A4", ["\u01A6", "\u01A7"], "\u01A9", "\u01AC", ["\u01AE", "\u01AF"], ["\u01B1", "\u01B3"], "\u01B5", ["\u01B7", "\u01B8"], "\u01BC", "\u01C4", "\u01C7", "\u01CA", "\u01CD", "\u01CF", "\u01D1", "\u01D3", "\u01D5", "\u01D7", "\u01D9", "\u01DB", "\u01DE", "\u01E0", "\u01E2", "\u01E4", "\u01E6", "\u01E8", "\u01EA", "\u01EC", "\u01EE", "\u01F1", "\u01F4", ["\u01F6", "\u01F8"], "\u01FA", "\u01FC", "\u01FE", "\u0200", "\u0202", "\u0204", "\u0206", "\u0208", "\u020A", "\u020C", "\u020E", "\u0210", "\u0212", "\u0214", "\u0216", "\u0218", "\u021A", "\u021C", "\u021E", "\u0220", "\u0222", "\u0224", "\u0226", "\u0228", "\u022A", "\u022C", "\u022E", "\u0230", "\u0232", ["\u023A", "\u023B"], ["\u023D", "\u023E"], "\u0241", ["\u0243", "\u0246"], "\u0248", "\u024A", "\u024C", "\u024E", "\u0370", "\u0372", "\u0376", "\u037F", "\u0386", ["\u0388", "\u038A"], "\u038C", ["\u038E", "\u038F"], ["\u0391", "\u03A1"], ["\u03A3", "\u03AB"], "\u03CF", ["\u03D2", "\u03D4"], "\u03D8", "\u03DA", "\u03DC", "\u03DE", "\u03E0", "\u03E2", "\u03E4", "\u03E6", "\u03E8", "\u03EA", "\u03EC", "\u03EE", "\u03F4", "\u03F7", ["\u03F9", "\u03FA"], ["\u03FD", "\u042F"], "\u0460", "\u0462", "\u0464", "\u0466", "\u0468", "\u046A", "\u046C", "\u046E", "\u0470", "\u0472", "\u0474", "\u0476", "\u0478", "\u047A", "\u047C", "\u047E", "\u0480", "\u048A", "\u048C", "\u048E", "\u0490", "\u0492", "\u0494", "\u0496", "\u0498", "\u049A", "\u049C", "\u049E", "\u04A0", "\u04A2", "\u04A4", "\u04A6", "\u04A8", "\u04AA", "\u04AC", "\u04AE", "\u04B0", "\u04B2", "\u04B4", "\u04B6", "\u04B8", "\u04BA", "\u04BC", "\u04BE", ["\u04C0", "\u04C1"], "\u04C3", "\u04C5", "\u04C7", "\u04C9", "\u04CB", "\u04CD", "\u04D0", "\u04D2", "\u04D4", "\u04D6", "\u04D8", "\u04DA", "\u04DC", "\u04DE", "\u04E0", "\u04E2", "\u04E4", "\u04E6", "\u04E8", "\u04EA", "\u04EC", "\u04EE", "\u04F0", "\u04F2", "\u04F4", "\u04F6", "\u04F8", "\u04FA", "\u04FC", "\u04FE", "\u0500", "\u0502", "\u0504", "\u0506", "\u0508", "\u050A", "\u050C", "\u050E", "\u0510", "\u0512", "\u0514", "\u0516", "\u0518", "\u051A", "\u051C", "\u051E", "\u0520", "\u0522", "\u0524", "\u0526", "\u0528", "\u052A", "\u052C", "\u052E", ["\u0531", "\u0556"], ["\u10A0", "\u10C5"], "\u10C7", "\u10CD", ["\u13A0", "\u13F5"], "\u1E00", "\u1E02", "\u1E04", "\u1E06", "\u1E08", "\u1E0A", "\u1E0C", "\u1E0E", "\u1E10", "\u1E12", "\u1E14", "\u1E16", "\u1E18", "\u1E1A", "\u1E1C", "\u1E1E", "\u1E20", "\u1E22", "\u1E24", "\u1E26", "\u1E28", "\u1E2A", "\u1E2C", "\u1E2E", "\u1E30", "\u1E32", "\u1E34", "\u1E36", "\u1E38", "\u1E3A", "\u1E3C", "\u1E3E", "\u1E40", "\u1E42", "\u1E44", "\u1E46", "\u1E48", "\u1E4A", "\u1E4C", "\u1E4E", "\u1E50", "\u1E52", "\u1E54", "\u1E56", "\u1E58", "\u1E5A", "\u1E5C", "\u1E5E", "\u1E60", "\u1E62", "\u1E64", "\u1E66", "\u1E68", "\u1E6A", "\u1E6C", "\u1E6E", "\u1E70", "\u1E72", "\u1E74", "\u1E76", "\u1E78", "\u1E7A", "\u1E7C", "\u1E7E", "\u1E80", "\u1E82", "\u1E84", "\u1E86", "\u1E88", "\u1E8A", "\u1E8C", "\u1E8E", "\u1E90", "\u1E92", "\u1E94", "\u1E9E", "\u1EA0", "\u1EA2", "\u1EA4", "\u1EA6", "\u1EA8", "\u1EAA", "\u1EAC", "\u1EAE", "\u1EB0", "\u1EB2", "\u1EB4", "\u1EB6", "\u1EB8", "\u1EBA", "\u1EBC", "\u1EBE", "\u1EC0", "\u1EC2", "\u1EC4", "\u1EC6", "\u1EC8", "\u1ECA", "\u1ECC", "\u1ECE", "\u1ED0", "\u1ED2", "\u1ED4", "\u1ED6", "\u1ED8", "\u1EDA", "\u1EDC", "\u1EDE", "\u1EE0", "\u1EE2", "\u1EE4", "\u1EE6", "\u1EE8", "\u1EEA", "\u1EEC", "\u1EEE", "\u1EF0", "\u1EF2", "\u1EF4", "\u1EF6", "\u1EF8", "\u1EFA", "\u1EFC", "\u1EFE", ["\u1F08", "\u1F0F"], ["\u1F18", "\u1F1D"], ["\u1F28", "\u1F2F"], ["\u1F38", "\u1F3F"], ["\u1F48", "\u1F4D"], "\u1F59", "\u1F5B", "\u1F5D", "\u1F5F", ["\u1F68", "\u1F6F"], ["\u1FB8", "\u1FBB"], ["\u1FC8", "\u1FCB"], ["\u1FD8", "\u1FDB"], ["\u1FE8", "\u1FEC"], ["\u1FF8", "\u1FFB"], "\u2102", "\u2107", ["\u210B", "\u210D"], ["\u2110", "\u2112"], "\u2115", ["\u2119", "\u211D"], "\u2124", "\u2126", "\u2128", ["\u212A", "\u212D"], ["\u2130", "\u2133"], ["\u213E", "\u213F"], "\u2145", "\u2183", ["\u2C00", "\u2C2E"], "\u2C60", ["\u2C62", "\u2C64"], "\u2C67", "\u2C69", "\u2C6B", ["\u2C6D", "\u2C70"], "\u2C72", "\u2C75", ["\u2C7E", "\u2C80"], "\u2C82", "\u2C84", "\u2C86", "\u2C88", "\u2C8A", "\u2C8C", "\u2C8E", "\u2C90", "\u2C92", "\u2C94", "\u2C96", "\u2C98", "\u2C9A", "\u2C9C", "\u2C9E", "\u2CA0", "\u2CA2", "\u2CA4", "\u2CA6", "\u2CA8", "\u2CAA", "\u2CAC", "\u2CAE", "\u2CB0", "\u2CB2", "\u2CB4", "\u2CB6", "\u2CB8", "\u2CBA", "\u2CBC", "\u2CBE", "\u2CC0", "\u2CC2", "\u2CC4", "\u2CC6", "\u2CC8", "\u2CCA", "\u2CCC", "\u2CCE", "\u2CD0", "\u2CD2", "\u2CD4", "\u2CD6", "\u2CD8", "\u2CDA", "\u2CDC", "\u2CDE", "\u2CE0", "\u2CE2", "\u2CEB", "\u2CED", "\u2CF2", "\uA640", "\uA642", "\uA644", "\uA646", "\uA648", "\uA64A", "\uA64C", "\uA64E", "\uA650", "\uA652", "\uA654", "\uA656", "\uA658", "\uA65A", "\uA65C", "\uA65E", "\uA660", "\uA662", "\uA664", "\uA666", "\uA668", "\uA66A", "\uA66C", "\uA680", "\uA682", "\uA684", "\uA686", "\uA688", "\uA68A", "\uA68C", "\uA68E", "\uA690", "\uA692", "\uA694", "\uA696", "\uA698", "\uA69A", "\uA722", "\uA724", "\uA726", "\uA728", "\uA72A", "\uA72C", "\uA72E", "\uA732", "\uA734", "\uA736", "\uA738", "\uA73A", "\uA73C", "\uA73E", "\uA740", "\uA742", "\uA744", "\uA746", "\uA748", "\uA74A", "\uA74C", "\uA74E", "\uA750", "\uA752", "\uA754", "\uA756", "\uA758", "\uA75A", "\uA75C", "\uA75E", "\uA760", "\uA762", "\uA764", "\uA766", "\uA768", "\uA76A", "\uA76C", "\uA76E", "\uA779", "\uA77B", ["\uA77D", "\uA77E"], "\uA780", "\uA782", "\uA784", "\uA786", "\uA78B", "\uA78D", "\uA790", "\uA792", "\uA796", "\uA798", "\uA79A", "\uA79C", "\uA79E", "\uA7A0", "\uA7A2", "\uA7A4", "\uA7A6", "\uA7A8", ["\uA7AA", "\uA7AD"], ["\uA7B0", "\uA7B4"], "\uA7B6", ["\uFF21", "\uFF3A"]], false, false); + var peg$e66 = peg$classExpectation(["\u0903", "\u093B", ["\u093E", "\u0940"], ["\u0949", "\u094C"], ["\u094E", "\u094F"], ["\u0982", "\u0983"], ["\u09BE", "\u09C0"], ["\u09C7", "\u09C8"], ["\u09CB", "\u09CC"], "\u09D7", "\u0A03", ["\u0A3E", "\u0A40"], "\u0A83", ["\u0ABE", "\u0AC0"], "\u0AC9", ["\u0ACB", "\u0ACC"], ["\u0B02", "\u0B03"], "\u0B3E", "\u0B40", ["\u0B47", "\u0B48"], ["\u0B4B", "\u0B4C"], "\u0B57", ["\u0BBE", "\u0BBF"], ["\u0BC1", "\u0BC2"], ["\u0BC6", "\u0BC8"], ["\u0BCA", "\u0BCC"], "\u0BD7", ["\u0C01", "\u0C03"], ["\u0C41", "\u0C44"], ["\u0C82", "\u0C83"], "\u0CBE", ["\u0CC0", "\u0CC4"], ["\u0CC7", "\u0CC8"], ["\u0CCA", "\u0CCB"], ["\u0CD5", "\u0CD6"], ["\u0D02", "\u0D03"], ["\u0D3E", "\u0D40"], ["\u0D46", "\u0D48"], ["\u0D4A", "\u0D4C"], "\u0D57", ["\u0D82", "\u0D83"], ["\u0DCF", "\u0DD1"], ["\u0DD8", "\u0DDF"], ["\u0DF2", "\u0DF3"], ["\u0F3E", "\u0F3F"], "\u0F7F", ["\u102B", "\u102C"], "\u1031", "\u1038", ["\u103B", "\u103C"], ["\u1056", "\u1057"], ["\u1062", "\u1064"], ["\u1067", "\u106D"], ["\u1083", "\u1084"], ["\u1087", "\u108C"], "\u108F", ["\u109A", "\u109C"], "\u17B6", ["\u17BE", "\u17C5"], ["\u17C7", "\u17C8"], ["\u1923", "\u1926"], ["\u1929", "\u192B"], ["\u1930", "\u1931"], ["\u1933", "\u1938"], ["\u1A19", "\u1A1A"], "\u1A55", "\u1A57", "\u1A61", ["\u1A63", "\u1A64"], ["\u1A6D", "\u1A72"], "\u1B04", "\u1B35", "\u1B3B", ["\u1B3D", "\u1B41"], ["\u1B43", "\u1B44"], "\u1B82", "\u1BA1", ["\u1BA6", "\u1BA7"], "\u1BAA", "\u1BE7", ["\u1BEA", "\u1BEC"], "\u1BEE", ["\u1BF2", "\u1BF3"], ["\u1C24", "\u1C2B"], ["\u1C34", "\u1C35"], "\u1CE1", ["\u1CF2", "\u1CF3"], ["\u302E", "\u302F"], ["\uA823", "\uA824"], "\uA827", ["\uA880", "\uA881"], ["\uA8B4", "\uA8C3"], ["\uA952", "\uA953"], "\uA983", ["\uA9B4", "\uA9B5"], ["\uA9BA", "\uA9BB"], ["\uA9BD", "\uA9C0"], ["\uAA2F", "\uAA30"], ["\uAA33", "\uAA34"], "\uAA4D", "\uAA7B", "\uAA7D", "\uAAEB", ["\uAAEE", "\uAAEF"], "\uAAF5", ["\uABE3", "\uABE4"], ["\uABE6", "\uABE7"], ["\uABE9", "\uABEA"], "\uABEC"], false, false); + var peg$e67 = peg$classExpectation([["\u0300", "\u036F"], ["\u0483", "\u0487"], ["\u0591", "\u05BD"], "\u05BF", ["\u05C1", "\u05C2"], ["\u05C4", "\u05C5"], "\u05C7", ["\u0610", "\u061A"], ["\u064B", "\u065F"], "\u0670", ["\u06D6", "\u06DC"], ["\u06DF", "\u06E4"], ["\u06E7", "\u06E8"], ["\u06EA", "\u06ED"], "\u0711", ["\u0730", "\u074A"], ["\u07A6", "\u07B0"], ["\u07EB", "\u07F3"], ["\u0816", "\u0819"], ["\u081B", "\u0823"], ["\u0825", "\u0827"], ["\u0829", "\u082D"], ["\u0859", "\u085B"], ["\u08E3", "\u0902"], "\u093A", "\u093C", ["\u0941", "\u0948"], "\u094D", ["\u0951", "\u0957"], ["\u0962", "\u0963"], "\u0981", "\u09BC", ["\u09C1", "\u09C4"], "\u09CD", ["\u09E2", "\u09E3"], ["\u0A01", "\u0A02"], "\u0A3C", ["\u0A41", "\u0A42"], ["\u0A47", "\u0A48"], ["\u0A4B", "\u0A4D"], "\u0A51", ["\u0A70", "\u0A71"], "\u0A75", ["\u0A81", "\u0A82"], "\u0ABC", ["\u0AC1", "\u0AC5"], ["\u0AC7", "\u0AC8"], "\u0ACD", ["\u0AE2", "\u0AE3"], "\u0B01", "\u0B3C", "\u0B3F", ["\u0B41", "\u0B44"], "\u0B4D", "\u0B56", ["\u0B62", "\u0B63"], "\u0B82", "\u0BC0", "\u0BCD", "\u0C00", ["\u0C3E", "\u0C40"], ["\u0C46", "\u0C48"], ["\u0C4A", "\u0C4D"], ["\u0C55", "\u0C56"], ["\u0C62", "\u0C63"], "\u0C81", "\u0CBC", "\u0CBF", "\u0CC6", ["\u0CCC", "\u0CCD"], ["\u0CE2", "\u0CE3"], "\u0D01", ["\u0D41", "\u0D44"], "\u0D4D", ["\u0D62", "\u0D63"], "\u0DCA", ["\u0DD2", "\u0DD4"], "\u0DD6", "\u0E31", ["\u0E34", "\u0E3A"], ["\u0E47", "\u0E4E"], "\u0EB1", ["\u0EB4", "\u0EB9"], ["\u0EBB", "\u0EBC"], ["\u0EC8", "\u0ECD"], ["\u0F18", "\u0F19"], "\u0F35", "\u0F37", "\u0F39", ["\u0F71", "\u0F7E"], ["\u0F80", "\u0F84"], ["\u0F86", "\u0F87"], ["\u0F8D", "\u0F97"], ["\u0F99", "\u0FBC"], "\u0FC6", ["\u102D", "\u1030"], ["\u1032", "\u1037"], ["\u1039", "\u103A"], ["\u103D", "\u103E"], ["\u1058", "\u1059"], ["\u105E", "\u1060"], ["\u1071", "\u1074"], "\u1082", ["\u1085", "\u1086"], "\u108D", "\u109D", ["\u135D", "\u135F"], ["\u1712", "\u1714"], ["\u1732", "\u1734"], ["\u1752", "\u1753"], ["\u1772", "\u1773"], ["\u17B4", "\u17B5"], ["\u17B7", "\u17BD"], "\u17C6", ["\u17C9", "\u17D3"], "\u17DD", ["\u180B", "\u180D"], "\u18A9", ["\u1920", "\u1922"], ["\u1927", "\u1928"], "\u1932", ["\u1939", "\u193B"], ["\u1A17", "\u1A18"], "\u1A1B", "\u1A56", ["\u1A58", "\u1A5E"], "\u1A60", "\u1A62", ["\u1A65", "\u1A6C"], ["\u1A73", "\u1A7C"], "\u1A7F", ["\u1AB0", "\u1ABD"], ["\u1B00", "\u1B03"], "\u1B34", ["\u1B36", "\u1B3A"], "\u1B3C", "\u1B42", ["\u1B6B", "\u1B73"], ["\u1B80", "\u1B81"], ["\u1BA2", "\u1BA5"], ["\u1BA8", "\u1BA9"], ["\u1BAB", "\u1BAD"], "\u1BE6", ["\u1BE8", "\u1BE9"], "\u1BED", ["\u1BEF", "\u1BF1"], ["\u1C2C", "\u1C33"], ["\u1C36", "\u1C37"], ["\u1CD0", "\u1CD2"], ["\u1CD4", "\u1CE0"], ["\u1CE2", "\u1CE8"], "\u1CED", "\u1CF4", ["\u1CF8", "\u1CF9"], ["\u1DC0", "\u1DF5"], ["\u1DFC", "\u1DFF"], ["\u20D0", "\u20DC"], "\u20E1", ["\u20E5", "\u20F0"], ["\u2CEF", "\u2CF1"], "\u2D7F", ["\u2DE0", "\u2DFF"], ["\u302A", "\u302D"], ["\u3099", "\u309A"], "\uA66F", ["\uA674", "\uA67D"], ["\uA69E", "\uA69F"], ["\uA6F0", "\uA6F1"], "\uA802", "\uA806", "\uA80B", ["\uA825", "\uA826"], "\uA8C4", ["\uA8E0", "\uA8F1"], ["\uA926", "\uA92D"], ["\uA947", "\uA951"], ["\uA980", "\uA982"], "\uA9B3", ["\uA9B6", "\uA9B9"], "\uA9BC", "\uA9E5", ["\uAA29", "\uAA2E"], ["\uAA31", "\uAA32"], ["\uAA35", "\uAA36"], "\uAA43", "\uAA4C", "\uAA7C", "\uAAB0", ["\uAAB2", "\uAAB4"], ["\uAAB7", "\uAAB8"], ["\uAABE", "\uAABF"], "\uAAC1", ["\uAAEC", "\uAAED"], "\uAAF6", "\uABE5", "\uABE8", "\uABED", "\uFB1E", ["\uFE00", "\uFE0F"], ["\uFE20", "\uFE2F"]], false, false); + var peg$e68 = peg$classExpectation([["0", "9"], ["\u0660", "\u0669"], ["\u06F0", "\u06F9"], ["\u07C0", "\u07C9"], ["\u0966", "\u096F"], ["\u09E6", "\u09EF"], ["\u0A66", "\u0A6F"], ["\u0AE6", "\u0AEF"], ["\u0B66", "\u0B6F"], ["\u0BE6", "\u0BEF"], ["\u0C66", "\u0C6F"], ["\u0CE6", "\u0CEF"], ["\u0D66", "\u0D6F"], ["\u0DE6", "\u0DEF"], ["\u0E50", "\u0E59"], ["\u0ED0", "\u0ED9"], ["\u0F20", "\u0F29"], ["\u1040", "\u1049"], ["\u1090", "\u1099"], ["\u17E0", "\u17E9"], ["\u1810", "\u1819"], ["\u1946", "\u194F"], ["\u19D0", "\u19D9"], ["\u1A80", "\u1A89"], ["\u1A90", "\u1A99"], ["\u1B50", "\u1B59"], ["\u1BB0", "\u1BB9"], ["\u1C40", "\u1C49"], ["\u1C50", "\u1C59"], ["\uA620", "\uA629"], ["\uA8D0", "\uA8D9"], ["\uA900", "\uA909"], ["\uA9D0", "\uA9D9"], ["\uA9F0", "\uA9F9"], ["\uAA50", "\uAA59"], ["\uABF0", "\uABF9"], ["\uFF10", "\uFF19"]], false, false); + var peg$e69 = peg$classExpectation([["\u16EE", "\u16F0"], ["\u2160", "\u2182"], ["\u2185", "\u2188"], "\u3007", ["\u3021", "\u3029"], ["\u3038", "\u303A"], ["\uA6E6", "\uA6EF"]], false, false); + var peg$e70 = peg$classExpectation(["_", ["\u203F", "\u2040"], "\u2054", ["\uFE33", "\uFE34"], ["\uFE4D", "\uFE4F"], "\uFF3F"], false, false); + var peg$e71 = peg$classExpectation([" ", "\xA0", "\u1680", ["\u2000", "\u200A"], "\u202F", "\u205F", "\u3000"], false, false); + var peg$e72 = peg$literalExpectation(";", false); var peg$f0 = function(topLevelInitializer, initializer, rules) { return { @@ -351,35 +343,15 @@ function peg$parse(input, options) { location: location() }; }; - var peg$f1 = function(imports, code) { - const ret = { + var peg$f1 = function(code) { + return { type: "top_level_initializer", code: code[0], codeLocation: code[1], - imports: false, location: location() - } - if (imports[0]) { - return [ - { - type: "top_level_initializer", - code: imports[0], - codeLocation: imports[1], - imports: true, - location: location() - }, - ret - ]; - } - return ret; - }; - var peg$f2 = function(imports) { - return [imports, location()] - }; - var peg$f3 = function(id) { - return reservedWords.indexOf(id[0]) === -1 -}; - var peg$f4 = function(code) { + }; + }; + var peg$f2 = function(code) { return { type: "initializer", code: code[0], @@ -387,7 +359,7 @@ function peg$parse(input, options) { location: location() }; }; - var peg$f5 = function(name, displayName, expression) { + var peg$f3 = function(name, displayName, expression) { return { type: "rule", name: name[0], @@ -403,7 +375,7 @@ function peg$parse(input, options) { location: location() }; }; - var peg$f6 = function(head, tail) { + var peg$f4 = function(head, tail) { return tail.length > 0 ? { type: "choice", @@ -412,7 +384,7 @@ function peg$parse(input, options) { } : head; }; - var peg$f7 = function(expression, code) { + var peg$f5 = function(expression, code) { return code !== null ? { type: "action", @@ -423,7 +395,7 @@ function peg$parse(input, options) { } : expression; }; - var peg$f8 = function(head, tail) { + var peg$f6 = function(head, tail) { return ((tail.length > 0) || (head.type === "labeled" && head.pick)) ? { type: "sequence", @@ -432,7 +404,7 @@ function peg$parse(input, options) { } : head; }; - var peg$f9 = function(pluck, label, expression) { + var peg$f7 = function(pluck, label, expression) { if (expression.type.startsWith("semantic_")) { error("\"@\" cannot be used on a semantic predicate", pluck); } @@ -446,7 +418,7 @@ function peg$parse(input, options) { location: location() }; }; - var peg$f10 = function(label, expression) { + var peg$f8 = function(label, expression) { return { type: "labeled", label: label[0], @@ -455,29 +427,29 @@ function peg$parse(input, options) { location: location() }; }; - var peg$f11 = function() { return location(); }; - var peg$f12 = function(label) { + var peg$f9 = function() { return location(); }; + var peg$f10 = function(label) { if (reservedWords.indexOf(label[0]) >= 0) { error(`Label can't be a reserved word "${label[0]}"`, label[1]); } return label; }; - var peg$f13 = function(operator, expression) { + var peg$f11 = function(operator, expression) { return { type: OPS_TO_PREFIXED_TYPES[operator], expression, location: location() }; }; - var peg$f14 = function(expression, operator) { + var peg$f12 = function(expression, operator) { return { type: OPS_TO_SUFFIXED_TYPES[operator], expression, location: location() }; }; - var peg$f15 = function(expression, boundaries, delimiter) { + var peg$f13 = function(expression, boundaries, delimiter) { let min = boundaries[0]; let max = boundaries[1]; if (max.type === "constant" && max.value === 0) { @@ -493,16 +465,16 @@ function peg$parse(input, options) { location: location(), }; }; - var peg$f16 = function(min, max) { + var peg$f14 = function(min, max) { return [ min !== null ? min : { type: "constant", value: 0 }, max !== null ? max : { type: "constant", value: null }, ]; }; - var peg$f17 = function(exact) { return [null, exact]; }; - var peg$f18 = function(value) { return { type: "constant", value, location: location() }; }; - var peg$f19 = function(value) { return { type: "variable", value: value[0], location: location() }; }; - var peg$f20 = function(value) { + var peg$f15 = function(exact) { return [null, exact]; }; + var peg$f16 = function(value) { return { type: "constant", value, location: location() }; }; + var peg$f17 = function(value) { return { type: "variable", value: value[0], location: location() }; }; + var peg$f18 = function(value) { return { type: "function", value: value[0], @@ -510,7 +482,7 @@ function peg$parse(input, options) { location: location(), }; }; - var peg$f21 = function(expression) { + var peg$f19 = function(expression) { // The purpose of the "group" AST node is just to isolate label scope. We // don't need to put it around nodes that can't contain any labels or // nodes that already isolate label scope themselves. This leaves us with @@ -519,10 +491,10 @@ function peg$parse(input, options) { ? { type: "group", expression, location: location() } : expression; }; - var peg$f22 = function(name) { + var peg$f20 = function(name) { return { type: "rule_ref", name: name[0], location: location() }; }; - var peg$f23 = function(operator, code) { + var peg$f21 = function(operator, code) { return { type: OPS_TO_SEMANTIC_PREDICATE_TYPES[operator], code: code[0], @@ -530,10 +502,10 @@ function peg$parse(input, options) { location: location() }; }; - var peg$f24 = function(head, tail) { + var peg$f22 = function(head, tail) { return [head + tail.join(""), location()]; }; - var peg$f25 = function(value, ignoreCase) { + var peg$f23 = function(value, ignoreCase) { return { type: "literal", value, @@ -541,9 +513,9 @@ function peg$parse(input, options) { location: location() }; }; - var peg$f26 = function(chars) { return chars.join(""); }; - var peg$f27 = function(chars) { return chars.join(""); }; - var peg$f28 = function(inverted, parts, ignoreCase) { + var peg$f24 = function(chars) { return chars.join(""); }; + var peg$f25 = function(chars) { return chars.join(""); }; + var peg$f26 = function(inverted, parts, ignoreCase) { return { type: "class", parts: parts.filter(part => part !== ""), @@ -552,7 +524,7 @@ function peg$parse(input, options) { location: location() }; }; - var peg$f29 = function(begin, end) { + var peg$f27 = function(begin, end) { if (begin.charCodeAt(0) > end.charCodeAt(0)) { error( "Invalid character range: " + text() + "." @@ -561,23 +533,23 @@ function peg$parse(input, options) { return [begin, end]; }; - var peg$f30 = function() { return ""; }; - var peg$f31 = function() { return "\0"; }; - var peg$f32 = function() { return "\b"; }; - var peg$f33 = function() { return "\f"; }; - var peg$f34 = function() { return "\n"; }; - var peg$f35 = function() { return "\r"; }; - var peg$f36 = function() { return "\t"; }; - var peg$f37 = function() { return "\v"; }; - var peg$f38 = function(digits) { + var peg$f28 = function() { return ""; }; + var peg$f29 = function() { return "\0"; }; + var peg$f30 = function() { return "\b"; }; + var peg$f31 = function() { return "\f"; }; + var peg$f32 = function() { return "\n"; }; + var peg$f33 = function() { return "\r"; }; + var peg$f34 = function() { return "\t"; }; + var peg$f35 = function() { return "\v"; }; + var peg$f36 = function(digits) { return String.fromCharCode(parseInt(digits, 16)); }; - var peg$f39 = function(digits) { + var peg$f37 = function(digits) { return String.fromCharCode(parseInt(digits, 16)); }; - var peg$f40 = function() { return { type: "any", location: location() }; }; - var peg$f41 = function(code) { return [code, location()]; }; - var peg$f42 = function(digits) { return parseInt(digits, 10); }; + var peg$f38 = function() { return { type: "any", location: location() }; }; + var peg$f39 = function(code) { return [code, location()]; }; + var peg$f40 = function(digits) { return parseInt(digits, 10); }; var peg$currPos = 0; var peg$savedPos = 0; var peg$posDetailsCache = [{ line: 1, column: 1 }]; @@ -807,7 +779,7 @@ function peg$parse(input, options) { } function peg$parseTopLevelInitializer() { - var s0, s1, s2, s3, s4, s5, s6, s7; + var s0, s1, s2, s3, s4; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 123) { @@ -818,319 +790,20 @@ function peg$parse(input, options) { if (peg$silentFails === 0) { peg$fail(peg$e0); } } if (s1 !== peg$FAILED) { - if (input.charCodeAt(peg$currPos) === 123) { - s2 = peg$c0; - peg$currPos++; - } else { - s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e0); } - } + s2 = peg$parseCodeBlock(); if (s2 !== peg$FAILED) { - s3 = peg$parseImportDeclarations(); - s4 = peg$parseBareCodeBlock(); if (input.charCodeAt(peg$currPos) === 125) { - s5 = peg$c1; + s3 = peg$c1; peg$currPos++; } else { - s5 = peg$FAILED; + s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$e1); } } - if (s5 !== peg$FAILED) { - if (input.charCodeAt(peg$currPos) === 125) { - s6 = peg$c1; - peg$currPos++; - } else { - s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e1); } - } - if (s6 !== peg$FAILED) { - s7 = peg$parseEOS(); - if (s7 !== peg$FAILED) { - peg$savedPos = s0; - s0 = peg$f1(s3, s4); - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - - return s0; - } - - function peg$parseImportDeclarations() { - var s0, s1, s2, s3; - - s0 = peg$currPos; - s1 = peg$currPos; - s2 = []; - s3 = peg$parseImportDeclaration(); - while (s3 !== peg$FAILED) { - s2.push(s3); - s3 = peg$parseImportDeclaration(); - } - s1 = input.substring(s1, peg$currPos); - peg$savedPos = s0; - s1 = peg$f2(s1); - s0 = s1; - - return s0; - } - - function peg$parseImportDeclaration() { - var s0, s1, s2, s3, s4, s5, s6, s7, s8; - - s0 = peg$currPos; - s1 = peg$parse__(); - if (input.substr(peg$currPos, 6) === peg$c2) { - s2 = peg$c2; - peg$currPos += 6; - } else { - s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e2); } - } - if (s2 !== peg$FAILED) { - s3 = peg$parse__(); - s4 = peg$parseImportClause(); - if (s4 !== peg$FAILED) { - s5 = peg$parse__(); - s6 = peg$parseFromClause(); - if (s6 !== peg$FAILED) { - s7 = peg$parse__(); - if (input.charCodeAt(peg$currPos) === 59) { - s8 = peg$c3; - peg$currPos++; - } else { - s8 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e3); } - } - if (s8 === peg$FAILED) { - s8 = null; - } - s1 = [s1, s2, s3, s4, s5, s6, s7, s8]; - s0 = s1; - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - if (s0 === peg$FAILED) { - s0 = peg$currPos; - s1 = peg$parse__(); - if (input.substr(peg$currPos, 6) === peg$c2) { - s2 = peg$c2; - peg$currPos += 6; - } else { - s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e2); } - } - if (s2 !== peg$FAILED) { - s3 = peg$parse__(); - s4 = peg$parseStringLiteral(); - if (s4 !== peg$FAILED) { - s5 = peg$parse__(); - if (input.charCodeAt(peg$currPos) === 59) { - s6 = peg$c3; - peg$currPos++; - } else { - s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e3); } - } - if (s6 === peg$FAILED) { - s6 = null; - } - s1 = [s1, s2, s3, s4, s5, s6]; - s0 = s1; - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - } - - return s0; - } - - function peg$parseImportClause() { - var s0, s1, s2, s3, s4, s5; - - s0 = peg$parseBindingIdentifier(); - if (s0 === peg$FAILED) { - s0 = peg$parseNameSpaceImport(); - if (s0 === peg$FAILED) { - s0 = peg$parseNamedImports(); - if (s0 === peg$FAILED) { - s0 = peg$currPos; - s1 = peg$parseBindingIdentifier(); - if (s1 !== peg$FAILED) { - s2 = peg$parse__(); - if (input.charCodeAt(peg$currPos) === 44) { - s3 = peg$c4; - peg$currPos++; - } else { - s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e4); } - } - if (s3 !== peg$FAILED) { - s4 = peg$parse__(); - s5 = peg$parseNameSpaceImport(); - if (s5 === peg$FAILED) { - s5 = peg$parseNamedImports(); - } - if (s5 !== peg$FAILED) { - s1 = [s1, s2, s3, s4, s5]; - s0 = s1; - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - } - } - } - - return s0; - } - - function peg$parseNameSpaceImport() { - var s0, s1, s2, s3, s4, s5; - - s0 = peg$currPos; - if (input.charCodeAt(peg$currPos) === 42) { - s1 = peg$c5; - peg$currPos++; - } else { - s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e5); } - } - if (s1 !== peg$FAILED) { - s2 = peg$parse__(); - if (input.substr(peg$currPos, 2) === peg$c6) { - s3 = peg$c6; - peg$currPos += 2; - } else { - s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e6); } - } - if (s3 !== peg$FAILED) { - s4 = peg$parse__(); - s5 = peg$parseBindingIdentifier(); - if (s5 !== peg$FAILED) { - s1 = [s1, s2, s3, s4, s5]; - s0 = s1; - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - - return s0; - } - - function peg$parseNamedImports() { - var s0, s1, s2, s3, s4, s5, s6, s7; - - s0 = peg$currPos; - if (input.charCodeAt(peg$currPos) === 123) { - s1 = peg$c0; - peg$currPos++; - } else { - s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e0); } - } - if (s1 !== peg$FAILED) { - s2 = peg$parse__(); - if (input.charCodeAt(peg$currPos) === 125) { - s3 = peg$c1; - peg$currPos++; - } else { - s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e1); } - } - if (s3 !== peg$FAILED) { - s1 = [s1, s2, s3]; - s0 = s1; - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - if (s0 === peg$FAILED) { - s0 = peg$currPos; - if (input.charCodeAt(peg$currPos) === 123) { - s1 = peg$c0; - peg$currPos++; - } else { - s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e0); } - } - if (s1 !== peg$FAILED) { - s2 = peg$parse__(); - s3 = peg$parseImportsList(); if (s3 !== peg$FAILED) { - s4 = peg$parse__(); - if (input.charCodeAt(peg$currPos) === 44) { - s5 = peg$c4; - peg$currPos++; - } else { - s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e4); } - } - if (s5 === peg$FAILED) { - s5 = null; - } - s6 = peg$parse__(); - if (input.charCodeAt(peg$currPos) === 125) { - s7 = peg$c1; - peg$currPos++; - } else { - s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e1); } - } - if (s7 !== peg$FAILED) { - s1 = [s1, s2, s3, s4, s5, s6, s7]; - s0 = s1; + s4 = peg$parseEOS(); + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f1(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1143,158 +816,6 @@ function peg$parse(input, options) { peg$currPos = s0; s0 = peg$FAILED; } - } - - return s0; - } - - function peg$parseFromClause() { - var s0, s1, s2, s3; - - s0 = peg$currPos; - if (input.substr(peg$currPos, 4) === peg$c7) { - s1 = peg$c7; - peg$currPos += 4; - } else { - s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e7); } - } - if (s1 !== peg$FAILED) { - s2 = peg$parse__(); - s3 = peg$parseStringLiteral(); - if (s3 !== peg$FAILED) { - s1 = [s1, s2, s3]; - s0 = s1; - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - - return s0; - } - - function peg$parseImportsList() { - var s0, s1, s2, s3, s4, s5, s6; - - s0 = peg$currPos; - s1 = []; - s2 = peg$parseImportSpecifier(); - while (s2 !== peg$FAILED) { - s1.push(s2); - s2 = peg$currPos; - s3 = peg$currPos; - s4 = peg$parse__(); - if (input.charCodeAt(peg$currPos) === 44) { - s5 = peg$c4; - peg$currPos++; - } else { - s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e4); } - } - if (s5 !== peg$FAILED) { - s6 = peg$parse__(); - s4 = [s4, s5, s6]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - if (s3 !== peg$FAILED) { - s3 = peg$parseImportSpecifier(); - if (s3 === peg$FAILED) { - peg$currPos = s2; - s2 = peg$FAILED; - } else { - s2 = s3; - } - } else { - s2 = s3; - } - } - if (s1.length < 1) { - peg$currPos = s0; - s0 = peg$FAILED; - } else { - s0 = s1; - } - - return s0; - } - - function peg$parseImportSpecifier() { - var s0, s1, s2, s3, s4, s5; - - s0 = peg$currPos; - s1 = peg$parseModuleExportName(); - if (s1 !== peg$FAILED) { - s2 = peg$parse__(); - if (input.substr(peg$currPos, 2) === peg$c6) { - s3 = peg$c6; - peg$currPos += 2; - } else { - s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e6); } - } - if (s3 !== peg$FAILED) { - s4 = peg$parse__(); - s5 = peg$parseBindingIdentifier(); - if (s5 !== peg$FAILED) { - s1 = [s1, s2, s3, s4, s5]; - s0 = s1; - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } - if (s0 === peg$FAILED) { - s0 = peg$parseBindingIdentifier(); - } - - return s0; - } - - function peg$parseModuleExportName() { - var s0; - - s0 = peg$parseIdentifierName(); - if (s0 === peg$FAILED) { - s0 = peg$parseStringLiteral(); - } - - return s0; - } - - function peg$parseBindingIdentifier() { - var s0, s1, s2; - - s0 = peg$currPos; - s1 = peg$parseIdentifierName(); - if (s1 !== peg$FAILED) { - peg$savedPos = peg$currPos; - s2 = peg$f3(s1); - if (s2) { - s2 = undefined; - } else { - s2 = peg$FAILED; - } - if (s2 !== peg$FAILED) { - s1 = [s1, s2]; - s0 = s1; - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1312,7 +833,7 @@ function peg$parse(input, options) { s2 = peg$parseEOS(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f4(s1); + s0 = peg$f2(s1); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1345,11 +866,11 @@ function peg$parse(input, options) { s3 = null; } if (input.charCodeAt(peg$currPos) === 61) { - s4 = peg$c8; + s4 = peg$c2; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e8); } + if (peg$silentFails === 0) { peg$fail(peg$e2); } } if (s4 !== peg$FAILED) { s5 = peg$parse__(); @@ -1358,7 +879,7 @@ function peg$parse(input, options) { s7 = peg$parseEOS(); if (s7 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f5(s1, s3, s6); + s0 = peg$f3(s1, s3, s6); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1389,11 +910,11 @@ function peg$parse(input, options) { s3 = peg$currPos; s4 = peg$parse__(); if (input.charCodeAt(peg$currPos) === 47) { - s5 = peg$c9; + s5 = peg$c3; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e9); } + if (peg$silentFails === 0) { peg$fail(peg$e3); } } if (s5 !== peg$FAILED) { s6 = peg$parse__(); @@ -1413,11 +934,11 @@ function peg$parse(input, options) { s3 = peg$currPos; s4 = peg$parse__(); if (input.charCodeAt(peg$currPos) === 47) { - s5 = peg$c9; + s5 = peg$c3; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e9); } + if (peg$silentFails === 0) { peg$fail(peg$e3); } } if (s5 !== peg$FAILED) { s6 = peg$parse__(); @@ -1434,7 +955,7 @@ function peg$parse(input, options) { } } peg$savedPos = s0; - s0 = peg$f6(s1, s2); + s0 = peg$f4(s1, s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1462,7 +983,7 @@ function peg$parse(input, options) { s2 = null; } peg$savedPos = s0; - s0 = peg$f7(s1, s2); + s0 = peg$f5(s1, s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1500,7 +1021,7 @@ function peg$parse(input, options) { } } peg$savedPos = s0; - s0 = peg$f8(s1, s2); + s0 = peg$f6(s1, s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1522,7 +1043,7 @@ function peg$parse(input, options) { s3 = peg$parsePrefixedExpression(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f9(s1, s2, s3); + s0 = peg$f7(s1, s2, s3); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1539,7 +1060,7 @@ function peg$parse(input, options) { s3 = peg$parsePrefixedExpression(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f10(s1, s3); + s0 = peg$f8(s1, s3); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1561,15 +1082,15 @@ function peg$parse(input, options) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 64) { - s1 = peg$c10; + s1 = peg$c4; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e10); } + if (peg$silentFails === 0) { peg$fail(peg$e4); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f11(); + s1 = peg$f9(); } s0 = s1; @@ -1584,15 +1105,15 @@ function peg$parse(input, options) { if (s1 !== peg$FAILED) { s2 = peg$parse__(); if (input.charCodeAt(peg$currPos) === 58) { - s3 = peg$c11; + s3 = peg$c5; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e11); } + if (peg$silentFails === 0) { peg$fail(peg$e5); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f12(s1); + s0 = peg$f10(s1); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1615,7 +1136,7 @@ function peg$parse(input, options) { s3 = peg$parseSuffixedExpression(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f13(s1, s3); + s0 = peg$f11(s1, s3); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1639,7 +1160,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e12); } + if (peg$silentFails === 0) { peg$fail(peg$e6); } } return s0; @@ -1655,7 +1176,7 @@ function peg$parse(input, options) { s3 = peg$parseSuffixedOperator(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f14(s1, s3); + s0 = peg$f12(s1, s3); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1682,7 +1203,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e13); } + if (peg$silentFails === 0) { peg$fail(peg$e7); } } return s0; @@ -1696,11 +1217,11 @@ function peg$parse(input, options) { if (s1 !== peg$FAILED) { s2 = peg$parse__(); if (input.charCodeAt(peg$currPos) === 124) { - s3 = peg$c12; + s3 = peg$c6; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e14); } + if (peg$silentFails === 0) { peg$fail(peg$e8); } } if (s3 !== peg$FAILED) { s4 = peg$parse__(); @@ -1709,11 +1230,11 @@ function peg$parse(input, options) { s6 = peg$parse__(); s7 = peg$currPos; if (input.charCodeAt(peg$currPos) === 44) { - s8 = peg$c4; + s8 = peg$c7; peg$currPos++; } else { s8 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e4); } + if (peg$silentFails === 0) { peg$fail(peg$e9); } } if (s8 !== peg$FAILED) { s9 = peg$parse__(); @@ -1733,15 +1254,15 @@ function peg$parse(input, options) { s7 = null; } if (input.charCodeAt(peg$currPos) === 124) { - s8 = peg$c12; + s8 = peg$c6; peg$currPos++; } else { s8 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e14); } + if (peg$silentFails === 0) { peg$fail(peg$e8); } } if (s8 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f15(s1, s5, s7); + s0 = peg$f13(s1, s5, s7); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1771,12 +1292,12 @@ function peg$parse(input, options) { s1 = null; } s2 = peg$parse__(); - if (input.substr(peg$currPos, 2) === peg$c13) { - s3 = peg$c13; + if (input.substr(peg$currPos, 2) === peg$c8) { + s3 = peg$c8; peg$currPos += 2; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e15); } + if (peg$silentFails === 0) { peg$fail(peg$e10); } } if (s3 !== peg$FAILED) { s4 = peg$parse__(); @@ -1785,7 +1306,7 @@ function peg$parse(input, options) { s5 = null; } peg$savedPos = s0; - s0 = peg$f16(s1, s5); + s0 = peg$f14(s1, s5); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1795,7 +1316,7 @@ function peg$parse(input, options) { s1 = peg$parseBoundary(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f17(s1); + s1 = peg$f15(s1); } s0 = s1; } @@ -1810,7 +1331,7 @@ function peg$parse(input, options) { s1 = peg$parseInteger(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f18(s1); + s1 = peg$f16(s1); } s0 = s1; if (s0 === peg$FAILED) { @@ -1818,7 +1339,7 @@ function peg$parse(input, options) { s1 = peg$parseIdentifierName(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f19(s1); + s1 = peg$f17(s1); } s0 = s1; if (s0 === peg$FAILED) { @@ -1826,7 +1347,7 @@ function peg$parse(input, options) { s1 = peg$parseCodeBlock(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f20(s1); + s1 = peg$f18(s1); } s0 = s1; } @@ -1850,11 +1371,11 @@ function peg$parse(input, options) { if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 40) { - s1 = peg$c14; + s1 = peg$c9; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e16); } + if (peg$silentFails === 0) { peg$fail(peg$e11); } } if (s1 !== peg$FAILED) { s2 = peg$parse__(); @@ -1862,15 +1383,15 @@ function peg$parse(input, options) { if (s3 !== peg$FAILED) { s4 = peg$parse__(); if (input.charCodeAt(peg$currPos) === 41) { - s5 = peg$c15; + s5 = peg$c10; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e17); } + if (peg$silentFails === 0) { peg$fail(peg$e12); } } if (s5 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f21(s3); + s0 = peg$f19(s3); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1916,11 +1437,11 @@ function peg$parse(input, options) { s5 = null; } if (input.charCodeAt(peg$currPos) === 61) { - s6 = peg$c8; + s6 = peg$c2; peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e8); } + if (peg$silentFails === 0) { peg$fail(peg$e2); } } if (s6 !== peg$FAILED) { s4 = [s4, s5, s6]; @@ -1938,7 +1459,7 @@ function peg$parse(input, options) { } if (s2 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f22(s1); + s0 = peg$f20(s1); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1961,7 +1482,7 @@ function peg$parse(input, options) { s3 = peg$parseCodeBlock(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f23(s1, s3); + s0 = peg$f21(s1, s3); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1982,7 +1503,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e18); } + if (peg$silentFails === 0) { peg$fail(peg$e13); } } return s0; @@ -1996,7 +1517,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e19); } + if (peg$silentFails === 0) { peg$fail(peg$e14); } } return s0; @@ -2011,12 +1532,12 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e21); } + if (peg$silentFails === 0) { peg$fail(peg$e16); } } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e20); } + if (peg$silentFails === 0) { peg$fail(peg$e15); } } return s0; @@ -2030,7 +1551,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e22); } + if (peg$silentFails === 0) { peg$fail(peg$e17); } } return s0; @@ -2041,19 +1562,19 @@ function peg$parse(input, options) { peg$silentFails++; if (input.charCodeAt(peg$currPos) === 10) { - s0 = peg$c16; + s0 = peg$c11; peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e24); } + if (peg$silentFails === 0) { peg$fail(peg$e19); } } if (s0 === peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c17) { - s0 = peg$c17; + if (input.substr(peg$currPos, 2) === peg$c12) { + s0 = peg$c12; peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e25); } + if (peg$silentFails === 0) { peg$fail(peg$e20); } } if (s0 === peg$FAILED) { s0 = input.charAt(peg$currPos); @@ -2061,14 +1582,14 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e26); } + if (peg$silentFails === 0) { peg$fail(peg$e21); } } } } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e23); } + if (peg$silentFails === 0) { peg$fail(peg$e18); } } return s0; @@ -2085,7 +1606,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e27); } + if (peg$silentFails === 0) { peg$fail(peg$e22); } } return s0; @@ -2095,24 +1616,24 @@ function peg$parse(input, options) { var s0, s1, s2, s3, s4, s5; s0 = peg$currPos; - if (input.substr(peg$currPos, 2) === peg$c18) { - s1 = peg$c18; + if (input.substr(peg$currPos, 2) === peg$c13) { + s1 = peg$c13; peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e28); } + if (peg$silentFails === 0) { peg$fail(peg$e23); } } if (s1 !== peg$FAILED) { s2 = []; s3 = peg$currPos; s4 = peg$currPos; peg$silentFails++; - if (input.substr(peg$currPos, 2) === peg$c19) { - s5 = peg$c19; + if (input.substr(peg$currPos, 2) === peg$c14) { + s5 = peg$c14; peg$currPos += 2; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e29); } + if (peg$silentFails === 0) { peg$fail(peg$e24); } } peg$silentFails--; if (s5 === peg$FAILED) { @@ -2139,12 +1660,12 @@ function peg$parse(input, options) { s3 = peg$currPos; s4 = peg$currPos; peg$silentFails++; - if (input.substr(peg$currPos, 2) === peg$c19) { - s5 = peg$c19; + if (input.substr(peg$currPos, 2) === peg$c14) { + s5 = peg$c14; peg$currPos += 2; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e29); } + if (peg$silentFails === 0) { peg$fail(peg$e24); } } peg$silentFails--; if (s5 === peg$FAILED) { @@ -2167,12 +1688,12 @@ function peg$parse(input, options) { s3 = peg$FAILED; } } - if (input.substr(peg$currPos, 2) === peg$c19) { - s3 = peg$c19; + if (input.substr(peg$currPos, 2) === peg$c14) { + s3 = peg$c14; peg$currPos += 2; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e29); } + if (peg$silentFails === 0) { peg$fail(peg$e24); } } if (s3 !== peg$FAILED) { s1 = [s1, s2, s3]; @@ -2193,24 +1714,24 @@ function peg$parse(input, options) { var s0, s1, s2, s3, s4, s5; s0 = peg$currPos; - if (input.substr(peg$currPos, 2) === peg$c18) { - s1 = peg$c18; + if (input.substr(peg$currPos, 2) === peg$c13) { + s1 = peg$c13; peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e28); } + if (peg$silentFails === 0) { peg$fail(peg$e23); } } if (s1 !== peg$FAILED) { s2 = []; s3 = peg$currPos; s4 = peg$currPos; peg$silentFails++; - if (input.substr(peg$currPos, 2) === peg$c19) { - s5 = peg$c19; + if (input.substr(peg$currPos, 2) === peg$c14) { + s5 = peg$c14; peg$currPos += 2; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e29); } + if (peg$silentFails === 0) { peg$fail(peg$e24); } } if (s5 === peg$FAILED) { s5 = peg$parseLineTerminator(); @@ -2240,12 +1761,12 @@ function peg$parse(input, options) { s3 = peg$currPos; s4 = peg$currPos; peg$silentFails++; - if (input.substr(peg$currPos, 2) === peg$c19) { - s5 = peg$c19; + if (input.substr(peg$currPos, 2) === peg$c14) { + s5 = peg$c14; peg$currPos += 2; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e29); } + if (peg$silentFails === 0) { peg$fail(peg$e24); } } if (s5 === peg$FAILED) { s5 = peg$parseLineTerminator(); @@ -2271,12 +1792,12 @@ function peg$parse(input, options) { s3 = peg$FAILED; } } - if (input.substr(peg$currPos, 2) === peg$c19) { - s3 = peg$c19; + if (input.substr(peg$currPos, 2) === peg$c14) { + s3 = peg$c14; peg$currPos += 2; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e29); } + if (peg$silentFails === 0) { peg$fail(peg$e24); } } if (s3 !== peg$FAILED) { s1 = [s1, s2, s3]; @@ -2297,12 +1818,12 @@ function peg$parse(input, options) { var s0, s1, s2, s3, s4, s5; s0 = peg$currPos; - if (input.substr(peg$currPos, 2) === peg$c20) { - s1 = peg$c20; + if (input.substr(peg$currPos, 2) === peg$c15) { + s1 = peg$c15; peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e30); } + if (peg$silentFails === 0) { peg$fail(peg$e25); } } if (s1 !== peg$FAILED) { s2 = []; @@ -2381,7 +1902,7 @@ function peg$parse(input, options) { s3 = peg$parseIdentifierPart(); } peg$savedPos = s0; - s0 = peg$f24(s1, s2); + s0 = peg$f22(s1, s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -2389,7 +1910,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e31); } + if (peg$silentFails === 0) { peg$fail(peg$e26); } } return s0; @@ -2403,16 +1924,16 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e32); } + if (peg$silentFails === 0) { peg$fail(peg$e27); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c21; + s1 = peg$c16; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e33); } + if (peg$silentFails === 0) { peg$fail(peg$e28); } } if (s1 !== peg$FAILED) { s2 = peg$parseUnicodeEscapeSequence(); @@ -2441,7 +1962,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e34); } + if (peg$silentFails === 0) { peg$fail(peg$e29); } } } @@ -2456,7 +1977,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e35); } + if (peg$silentFails === 0) { peg$fail(peg$e30); } } return s0; @@ -2470,7 +1991,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e36); } + if (peg$silentFails === 0) { peg$fail(peg$e31); } } return s0; @@ -2484,17 +2005,17 @@ function peg$parse(input, options) { s1 = peg$parseStringLiteral(); if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 105) { - s2 = peg$c22; + s2 = peg$c17; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e38); } + if (peg$silentFails === 0) { peg$fail(peg$e33); } } if (s2 === peg$FAILED) { s2 = null; } peg$savedPos = s0; - s0 = peg$f25(s1, s2); + s0 = peg$f23(s1, s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -2502,7 +2023,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e37); } + if (peg$silentFails === 0) { peg$fail(peg$e32); } } return s0; @@ -2514,11 +2035,11 @@ function peg$parse(input, options) { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 34) { - s1 = peg$c23; + s1 = peg$c18; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e40); } + if (peg$silentFails === 0) { peg$fail(peg$e35); } } if (s1 !== peg$FAILED) { s2 = []; @@ -2528,15 +2049,15 @@ function peg$parse(input, options) { s3 = peg$parseDoubleStringCharacter(); } if (input.charCodeAt(peg$currPos) === 34) { - s3 = peg$c23; + s3 = peg$c18; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e40); } + if (peg$silentFails === 0) { peg$fail(peg$e35); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f26(s2); + s0 = peg$f24(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -2548,11 +2069,11 @@ function peg$parse(input, options) { if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 39) { - s1 = peg$c24; + s1 = peg$c19; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e41); } + if (peg$silentFails === 0) { peg$fail(peg$e36); } } if (s1 !== peg$FAILED) { s2 = []; @@ -2562,15 +2083,15 @@ function peg$parse(input, options) { s3 = peg$parseSingleStringCharacter(); } if (input.charCodeAt(peg$currPos) === 39) { - s3 = peg$c24; + s3 = peg$c19; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e41); } + if (peg$silentFails === 0) { peg$fail(peg$e36); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f27(s2); + s0 = peg$f25(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -2583,7 +2104,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e39); } + if (peg$silentFails === 0) { peg$fail(peg$e34); } } return s0; @@ -2601,7 +2122,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e42); } + if (peg$silentFails === 0) { peg$fail(peg$e37); } } peg$silentFails--; if (s3 === peg$FAILED) { @@ -2631,11 +2152,11 @@ function peg$parse(input, options) { if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c21; + s1 = peg$c16; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e33); } + if (peg$silentFails === 0) { peg$fail(peg$e28); } } if (s1 !== peg$FAILED) { s2 = peg$parseEscapeSequence(); @@ -2669,7 +2190,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e43); } + if (peg$silentFails === 0) { peg$fail(peg$e38); } } peg$silentFails--; if (s3 === peg$FAILED) { @@ -2699,11 +2220,11 @@ function peg$parse(input, options) { if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c21; + s1 = peg$c16; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e33); } + if (peg$silentFails === 0) { peg$fail(peg$e28); } } if (s1 !== peg$FAILED) { s2 = peg$parseEscapeSequence(); @@ -2731,19 +2252,19 @@ function peg$parse(input, options) { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 91) { - s1 = peg$c25; + s1 = peg$c20; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e45); } + if (peg$silentFails === 0) { peg$fail(peg$e40); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 94) { - s2 = peg$c26; + s2 = peg$c21; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e46); } + if (peg$silentFails === 0) { peg$fail(peg$e41); } } if (s2 === peg$FAILED) { s2 = null; @@ -2761,25 +2282,25 @@ function peg$parse(input, options) { } } if (input.charCodeAt(peg$currPos) === 93) { - s4 = peg$c27; + s4 = peg$c22; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e47); } + if (peg$silentFails === 0) { peg$fail(peg$e42); } } if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 105) { - s5 = peg$c22; + s5 = peg$c17; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e38); } + if (peg$silentFails === 0) { peg$fail(peg$e33); } } if (s5 === peg$FAILED) { s5 = null; } peg$savedPos = s0; - s0 = peg$f28(s2, s3, s5); + s0 = peg$f26(s2, s3, s5); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -2791,7 +2312,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e44); } + if (peg$silentFails === 0) { peg$fail(peg$e39); } } return s0; @@ -2804,17 +2325,17 @@ function peg$parse(input, options) { s1 = peg$parseClassCharacter(); if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 45) { - s2 = peg$c28; + s2 = peg$c23; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e48); } + if (peg$silentFails === 0) { peg$fail(peg$e43); } } if (s2 !== peg$FAILED) { s3 = peg$parseClassCharacter(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f29(s1, s3); + s0 = peg$f27(s1, s3); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -2843,7 +2364,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e49); } + if (peg$silentFails === 0) { peg$fail(peg$e44); } } peg$silentFails--; if (s3 === peg$FAILED) { @@ -2873,11 +2394,11 @@ function peg$parse(input, options) { if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c21; + s1 = peg$c16; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e33); } + if (peg$silentFails === 0) { peg$fail(peg$e28); } } if (s1 !== peg$FAILED) { s2 = peg$parseEscapeSequence(); @@ -2904,17 +2425,17 @@ function peg$parse(input, options) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c21; + s1 = peg$c16; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e33); } + if (peg$silentFails === 0) { peg$fail(peg$e28); } } if (s1 !== peg$FAILED) { s2 = peg$parseLineTerminatorSequence(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f30(); + s0 = peg$f28(); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -2934,11 +2455,11 @@ function peg$parse(input, options) { if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 48) { - s1 = peg$c29; + s1 = peg$c24; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e50); } + if (peg$silentFails === 0) { peg$fail(peg$e45); } } if (s1 !== peg$FAILED) { s2 = peg$currPos; @@ -2953,7 +2474,7 @@ function peg$parse(input, options) { } if (s2 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f31(); + s0 = peg$f29(); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -2992,90 +2513,90 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e51); } + if (peg$silentFails === 0) { peg$fail(peg$e46); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 98) { - s1 = peg$c30; + s1 = peg$c25; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e52); } + if (peg$silentFails === 0) { peg$fail(peg$e47); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f32(); + s1 = peg$f30(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 102) { - s1 = peg$c31; + s1 = peg$c26; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e53); } + if (peg$silentFails === 0) { peg$fail(peg$e48); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f33(); + s1 = peg$f31(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 110) { - s1 = peg$c32; + s1 = peg$c27; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e54); } + if (peg$silentFails === 0) { peg$fail(peg$e49); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f34(); + s1 = peg$f32(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 114) { - s1 = peg$c33; + s1 = peg$c28; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e55); } + if (peg$silentFails === 0) { peg$fail(peg$e50); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f35(); + s1 = peg$f33(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 116) { - s1 = peg$c34; + s1 = peg$c29; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e56); } + if (peg$silentFails === 0) { peg$fail(peg$e51); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f36(); + s1 = peg$f34(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 118) { - s1 = peg$c35; + s1 = peg$c30; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e57); } + if (peg$silentFails === 0) { peg$fail(peg$e52); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f37(); + s1 = peg$f35(); } s0 = s1; } @@ -3138,7 +2659,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e58); } + if (peg$silentFails === 0) { peg$fail(peg$e53); } } } @@ -3150,11 +2671,11 @@ function peg$parse(input, options) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 120) { - s1 = peg$c36; + s1 = peg$c31; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e59); } + if (peg$silentFails === 0) { peg$fail(peg$e54); } } if (s1 !== peg$FAILED) { s2 = peg$currPos; @@ -3180,7 +2701,7 @@ function peg$parse(input, options) { } if (s2 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f38(s2); + s0 = peg$f36(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -3198,11 +2719,11 @@ function peg$parse(input, options) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 117) { - s1 = peg$c37; + s1 = peg$c32; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e60); } + if (peg$silentFails === 0) { peg$fail(peg$e55); } } if (s1 !== peg$FAILED) { s2 = peg$currPos; @@ -3240,7 +2761,7 @@ function peg$parse(input, options) { } if (s2 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f39(s2); + s0 = peg$f37(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -3261,7 +2782,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e61); } + if (peg$silentFails === 0) { peg$fail(peg$e56); } } return s0; @@ -3275,7 +2796,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e62); } + if (peg$silentFails === 0) { peg$fail(peg$e57); } } return s0; @@ -3286,15 +2807,15 @@ function peg$parse(input, options) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 46) { - s1 = peg$c38; + s1 = peg$c33; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e63); } + if (peg$silentFails === 0) { peg$fail(peg$e58); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f40(); + s1 = peg$f38(); } s0 = s1; @@ -3335,7 +2856,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e64); } + if (peg$silentFails === 0) { peg$fail(peg$e59); } } return s0; @@ -3347,7 +2868,7 @@ function peg$parse(input, options) { s0 = peg$currPos; s1 = peg$parseCode(); peg$savedPos = s0; - s1 = peg$f41(s1); + s1 = peg$f39(s1); s0 = s1; return s0; @@ -3367,7 +2888,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e65); } + if (peg$silentFails === 0) { peg$fail(peg$e60); } } peg$silentFails--; if (s5 === peg$FAILED) { @@ -3400,7 +2921,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e65); } + if (peg$silentFails === 0) { peg$fail(peg$e60); } } peg$silentFails--; if (s5 === peg$FAILED) { @@ -3467,7 +2988,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e65); } + if (peg$silentFails === 0) { peg$fail(peg$e60); } } peg$silentFails--; if (s5 === peg$FAILED) { @@ -3500,7 +3021,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e65); } + if (peg$silentFails === 0) { peg$fail(peg$e60); } } peg$silentFails--; if (s5 === peg$FAILED) { @@ -3584,7 +3105,7 @@ function peg$parse(input, options) { } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f42(s1); + s1 = peg$f40(s1); } s0 = s1; @@ -3599,7 +3120,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e66); } + if (peg$silentFails === 0) { peg$fail(peg$e61); } } return s0; @@ -3613,7 +3134,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e67); } + if (peg$silentFails === 0) { peg$fail(peg$e62); } } return s0; @@ -3627,7 +3148,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e68); } + if (peg$silentFails === 0) { peg$fail(peg$e63); } } return s0; @@ -3641,7 +3162,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e69); } + if (peg$silentFails === 0) { peg$fail(peg$e64); } } return s0; @@ -3655,7 +3176,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e70); } + if (peg$silentFails === 0) { peg$fail(peg$e65); } } return s0; @@ -3669,7 +3190,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e71); } + if (peg$silentFails === 0) { peg$fail(peg$e66); } } return s0; @@ -3683,7 +3204,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e72); } + if (peg$silentFails === 0) { peg$fail(peg$e67); } } return s0; @@ -3697,7 +3218,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e73); } + if (peg$silentFails === 0) { peg$fail(peg$e68); } } return s0; @@ -3711,7 +3232,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e74); } + if (peg$silentFails === 0) { peg$fail(peg$e69); } } return s0; @@ -3725,7 +3246,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e75); } + if (peg$silentFails === 0) { peg$fail(peg$e70); } } return s0; @@ -3739,7 +3260,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e76); } + if (peg$silentFails === 0) { peg$fail(peg$e71); } } return s0; @@ -3796,11 +3317,11 @@ function peg$parse(input, options) { s1 = peg$currPos; s2 = peg$parse__(); if (input.charCodeAt(peg$currPos) === 59) { - s3 = peg$c3; + s3 = peg$c34; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e3); } + if (peg$silentFails === 0) { peg$fail(peg$e72); } } if (s3 !== peg$FAILED) { s2 = [s2, s3]; @@ -3815,11 +3336,11 @@ function peg$parse(input, options) { s1 = peg$currPos; s2 = peg$parse__(); if (input.charCodeAt(peg$currPos) === 59) { - s3 = peg$c3; + s3 = peg$c34; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e3); } + if (peg$silentFails === 0) { peg$fail(peg$e72); } } if (s3 !== peg$FAILED) { s2 = [s2, s3]; @@ -3874,7 +3395,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e19); } + if (peg$silentFails === 0) { peg$fail(peg$e14); } } peg$silentFails--; if (s1 === peg$FAILED) { diff --git a/package.json b/package.json index 9d72eae7..bfd0cf9f 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ }, "scripts": { "clean": "rimraf build browser bin/*.map && mkdir browser", - "parser": "node bin/peggy.js -o lib/parser.js --format commonjs src/parser.pegjs", + "parser": "node bin/peggy.js -o lib/parser.js --format commonjs src/parser.pegjs && node bin/peggy.js -o lib/compiler/passes/js-imports.js --format commonjs src/js-imports.peggy src/parser.pegjs", "examples": "node bin/peggy.js -c docs/js/options.js docs/js/examples.peggy", "set_version": "node ./tools/set_version", "lint": "eslint . --ext js,ts,mjs", diff --git a/src/js-imports.peggy b/src/js-imports.peggy new file mode 100644 index 00000000..fdf0a2dd --- /dev/null +++ b/src/js-imports.peggy @@ -0,0 +1,48 @@ +JSSource = imports:ImportDeclarations code:BareCodeBlock { + return [imports, { + type: "top_level_initializer", + code: code[0], + codeLocation: code[1], + }]; +} + +ImportDeclarations + = code:$ImportDeclaration* { + return { + type: "top_level_initializer", + code, + codeLocation: location() + }; + } + +ImportDeclaration + = __ "import" __ ImportClause __ FromClause __ ";"? + / __ "import" __ ModuleSpecifier __ ";"? + +ImportClause + = ImportedDefaultBinding + / NameSpaceImport + / NamedImports + / ImportedDefaultBinding __ "," __ (NameSpaceImport / NamedImports) + +ImportedDefaultBinding = ImportedBinding +NameSpaceImport = "*" __ "as" __ ImportedBinding +NamedImports + = "{" __ "}" + / "{" __ ImportsList __ ","? __ "}" +FromClause = "from" __ ModuleSpecifier +ImportsList = ImportSpecifier|1.., __ "," __| +ImportSpecifier + = ModuleExportName __ "as" __ ImportedBinding + / ImportedBinding +ModuleSpecifier = StringLiteral +ImportedBinding + = BindingIdentifier + +ModuleExportName + = IdentifierName + / StringLiteral + +BindingIdentifier = id:IdentifierName &{ + return reservedWords.indexOf(id[0]) === -1 +} diff --git a/src/parser.pegjs b/src/parser.pegjs index 4ee91e17..773d57af 100644 --- a/src/parser.pegjs +++ b/src/parser.pegjs @@ -57,64 +57,14 @@ Grammar } TopLevelInitializer - = "{" "{" imports:ImportDeclarations code:BareCodeBlock "}" "}" EOS { - const ret = { + = "{" code:CodeBlock "}" EOS { + return { type: "top_level_initializer", code: code[0], codeLocation: code[1], - imports: false, location: location() + }; } - if (imports[0]) { - return [ - { - type: "top_level_initializer", - code: imports[0], - codeLocation: imports[1], - imports: true, - location: location() - }, - ret - ]; - } - return ret; - } - -ImportDeclarations - = imports:$ImportDeclaration* { - return [imports, location()] - } -ImportDeclaration - = __ "import" __ ImportClause __ FromClause __ ";"? - / __ "import" __ ModuleSpecifier __ ";"? - -ImportClause - = ImportedDefaultBinding - / NameSpaceImport - / NamedImports - / ImportedDefaultBinding __ "," __ (NameSpaceImport / NamedImports) - -ImportedDefaultBinding = ImportedBinding -NameSpaceImport = "*" __ "as" __ ImportedBinding -NamedImports - = "{" __ "}" - / "{" __ ImportsList __ ","? __ "}" -FromClause = "from" __ ModuleSpecifier -ImportsList = ImportSpecifier|1.., __ "," __| -ImportSpecifier - = ModuleExportName __ "as" __ ImportedBinding - / ImportedBinding -ModuleSpecifier = StringLiteral -ImportedBinding - = BindingIdentifier - -ModuleExportName - = IdentifierName - / StringLiteral - -BindingIdentifier = id:IdentifierName &{ - return reservedWords.indexOf(id[0]) === -1 -} Initializer = code:CodeBlock EOS { diff --git a/test/cli/fixtures/useFrags/identifier.peggy b/test/cli/fixtures/useFrags/identifier.peggy index e5264144..cbec13a4 100644 --- a/test/cli/fixtures/useFrags/identifier.peggy +++ b/test/cli/fixtures/useFrags/identifier.peggy @@ -1 +1,5 @@ +{{ + // Useless TLI with NO import + const G = "global"; +}} id = IdentifierName diff --git a/test/cli/fixtures/useFrags/package.json b/test/cli/fixtures/useFrags/package.json index 28ac9981..c880c0d5 100644 --- a/test/cli/fixtures/useFrags/package.json +++ b/test/cli/fixtures/useFrags/package.json @@ -5,7 +5,7 @@ "type": "module", "private": "true", "scripts": { - "build": "../../../../bin/peggy.js identifier.peggy npm:frags/unicode.peggy && ../../../../bin/peggy.js fs.peggy npm:frags/path.peggy" + "build": "../../../../bin/peggy.js --format es identifier.peggy npm:frags/unicode.peggy && ../../../../bin/peggy.js --format es fs.peggy npm:frags/path.peggy" }, "author": "Joe Hildebrand ", "license": "MIT", diff --git a/test/cli/run.spec.ts b/test/cli/run.spec.ts index 0f2bfd84..7d408fdf 100644 --- a/test/cli/run.spec.ts +++ b/test/cli/run.spec.ts @@ -856,7 +856,7 @@ Options: let input1 = path.join(__dirname, "fixtures", "useFrags", "identifier.peggy"); let out = path.join(__dirname, "fixtures", "useFrags", "identifier.js"); await expect(exec({ - args: [input1, "npm:frags/unicode.peggy"], + args: ["--format", "es", input1, "npm:frags/unicode.peggy"], exitCode: 0, })).resolves.toBe(""); @@ -865,7 +865,7 @@ Options: input1 = path.join(__dirname, "fixtures", "useFrags", "fs.peggy"); out = path.join(__dirname, "fixtures", "useFrags", "fs.js"); await expect(exec({ - args: [input1, "npm:frags/path.peggy"], + args: ["--format", "es", input1, "npm:frags/path.peggy"], exitCode: 0, })).resolves.toBe(""); @@ -873,7 +873,7 @@ Options: out = path.join(__dirname, "..", "..", "path.js"); await expect(exec({ - args: ["npm:frags/path.peggy"], + args: ["--format", "es", "npm:frags/path.peggy"], exitCode: 0, })).resolves.toBe(""); diff --git a/test/unit/parser.spec.js b/test/unit/parser.spec.js index d6e9ce43..7a412aae 100644 --- a/test/unit/parser.spec.js +++ b/test/unit/parser.spec.js @@ -60,7 +60,7 @@ describe("Peggy grammar parser", () => { const ruleB = { type: "rule", name: "b", expression: literalEfgh }; const ruleC = { type: "rule", name: "c", expression: literalIjkl }; const ruleStart = { type: "rule", name: "start", expression: literalAbcd }; - const topLevelInitializer = { type: "top_level_initializer", code: " top level code ", imports: false }; + const topLevelInitializer = { type: "top_level_initializer", code: " top level code " }; const initializer = { type: "initializer", code: " code " }; function oneRuleGrammar(expression) { @@ -1136,7 +1136,6 @@ c = @'ijkl' topLevelInitializer: { type: "top_level_initializer", code: "\n const foo = 12;\n", - imports: false, codeLocation: { source: undefined, start: { offset: 3, line: 2, column: 3 },