From 15bfb56849895d1f12d55e6ae89701c4d53f13f6 Mon Sep 17 00:00:00 2001 From: John Haugeland Date: Fri, 8 Sep 2017 15:15:14 -0700 Subject: [PATCH] eight machine attributes now fully passed through and exposed - author(s), contributor(s), comment, definition, version, license, name, reference, and fsl version --- CHANGELOG.md | 3 + build/jssm.es5.cjs.js | 66 ++++++- build/jssm.es5.cjs.min.js | 2 +- build/jssm.es5.js | 68 ++++++- build/tests/machine_attributes.js | 281 ++++++++++++++++++----------- dist/jssm.es5.cjs.js | 66 ++++++- dist/jssm.es5.cjs.min.js | 2 +- docs/lib/index.html | 4 +- package-lock.json | 9 +- package.json | 7 +- src/js/jssm-types.js | 44 +++-- src/js/jssm.js | 83 ++++++++- src/js/tests/machine_attributes.js | 56 +++++- 13 files changed, 537 insertions(+), 154 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 05866817..5c97764c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +* [[`c2d7f1e5a2`](https://github.com/StoneCypher/jssm/commit/c2d7f1e5a2)] - description change to see if my gh setup is borked (John Haugeland) +* [[`aa43171c64`](https://github.com/StoneCypher/jssm/commit/aa43171c64)] - Code climate was looking at build/ (John Haugeland) +* [[`4305f36339`](https://github.com/StoneCypher/jssm/commit/4305f36339)] - small notes, stuff for auth/contrib (John Haugeland) * [[`f5c9f6a363`](https://github.com/StoneCypher/jssm/commit/f5c9f6a363)] - all the attributes are now parsed (John Haugeland) * [[`631c5c6e6c`](https://github.com/StoneCypher/jssm/commit/631c5c6e6c)] - 5.5.0 comment fixes and minor trash (John Haugeland) * [[`25a9bb8391`](https://github.com/StoneCypher/jssm/commit/25a9bb8391)] - comment testing (John Haugeland) diff --git a/build/jssm.es5.cjs.js b/build/jssm.es5.cjs.js index 6b78dcba..9f3ba087 100644 --- a/build/jssm.es5.cjs.js +++ b/build/jssm.es5.cjs.js @@ -94,7 +94,7 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr var parse = require('./jssm-dot.js').parse; // eslint-disable-line flowtype/no-weak-types // todo whargarbl remove any -var version = '5.6.0'; // replaced from package.js in build +var version = '5.7.0'; // replaced from package.js in build function arrow_direction(arrow) { @@ -261,6 +261,7 @@ function compile(tree) { machine_definition: [], machine_license: [], machine_name: [], + machine_reference: [], machine_version: [] }; @@ -280,7 +281,7 @@ function compile(tree) { transitions: assembled_transitions }; - var oneOnlyKeys = ['graph_layout', 'machine_name', 'machine_version', 'machine_comment', 'fsl_version', 'machine_license']; + var oneOnlyKeys = ['graph_layout', 'machine_name', 'machine_version', 'machine_comment', 'fsl_version', 'machine_license', 'machine_definition']; oneOnlyKeys.map(function (oneOnlyKey) { if (results[oneOnlyKey].length > 1) { @@ -292,7 +293,7 @@ function compile(tree) { } }); - ['machine_author'].map(function (multiKey) { + ['machine_author', 'machine_contributor', 'machine_reference'].map(function (multiKey) { if (results[multiKey].length) { result_cfg[multiKey] = results[multiKey]; } @@ -315,6 +316,14 @@ var Machine = function () { _ref2$complete = _ref2.complete, complete = _ref2$complete === undefined ? [] : _ref2$complete, transitions = _ref2.transitions, + machine_author = _ref2.machine_author, + machine_comment = _ref2.machine_comment, + machine_contributor = _ref2.machine_contributor, + machine_definition = _ref2.machine_definition, + machine_license = _ref2.machine_license, + machine_name = _ref2.machine_name, + machine_version = _ref2.machine_version, + fsl_version = _ref2.fsl_version, _ref2$graph_layout = _ref2.graph_layout, graph_layout = _ref2$graph_layout === undefined ? 'dot' : _ref2$graph_layout; @@ -329,6 +338,15 @@ var Machine = function () { this._reverse_actions = new Map(); this._reverse_action_targets = new Map(); // todo + this._machine_author = machine_author; + this._machine_comment = machine_comment; + this._machine_contributor = machine_contributor; + this._machine_definition = machine_definition; + this._machine_license = machine_license; + this._machine_name = machine_name; + this._machine_version = machine_version; + this._fsl_version = fsl_version; + this._graph_layout = graph_layout; transitions.map(function (tr) { @@ -472,7 +490,47 @@ var Machine = function () { }, { key: 'graph_layout', value: function graph_layout() { - return String(this._graph_layout); + return this._graph_layout; + } + }, { + key: 'machine_author', + value: function machine_author() { + return this._machine_author; + } + }, { + key: 'machine_comment', + value: function machine_comment() { + return this._machine_comment; + } + }, { + key: 'machine_contributor', + value: function machine_contributor() { + return this._machine_contributor; + } + }, { + key: 'machine_definition', + value: function machine_definition() { + return this._machine_definition; + } + }, { + key: 'machine_license', + value: function machine_license() { + return this._machine_license; + } + }, { + key: 'machine_name', + value: function machine_name() { + return this._machine_name; + } + }, { + key: 'machine_version', + value: function machine_version() { + return this._machine_version; + } + }, { + key: 'fsl_version', + value: function fsl_version() { + return this._fsl_version; } }, { key: 'machine_state', diff --git a/build/jssm.es5.cjs.min.js b/build/jssm.es5.cjs.min.js index b8f5db47..e1803e82 100644 --- a/build/jssm.es5.cjs.min.js +++ b/build/jssm.es5.cjs.min.js @@ -1 +1 @@ -require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n||e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o0){for(i=1,j=1;ipeg$maxFailPos&&(peg$maxFailPos=peg$currPos,peg$maxFailExpected=[]),peg$maxFailExpected.push(expected))}function peg$buildStructuredError(expected,found,location){return new peg$SyntaxError(peg$SyntaxError.buildMessage(expected,found),expected,found,location)}function peg$parseDocument(){var s0,s1,s2,s3;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED&&(s2=peg$parseTermList())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c0(s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseGvizShape(){var s0;return input.substr(peg$currPos,6)===peg$c1?(s0=peg$c1,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c2)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c3?(s0=peg$c3,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c4)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c5?(s0=peg$c5,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c6)))),s0}function peg$parseForwardLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c8?(s0=peg$c8,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c9)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c7),s0}function peg$parseTwoWayLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c11?(s0=peg$c11,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c12)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c10),s0}function peg$parseBackLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c14?(s0=peg$c14,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c15)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c13),s0}function peg$parseForwardFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c17?(s0=peg$c17,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c18)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c16),s0}function peg$parseTwoWayFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c20?(s0=peg$c20,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c21)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c19),s0}function peg$parseBackFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c23?(s0=peg$c23,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c24)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c22),s0}function peg$parseForwardTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c26?(s0=peg$c26,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c27)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c25),s0}function peg$parseTwoWayTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c29?(s0=peg$c29,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c30)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c28),s0}function peg$parseBackTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c32?(s0=peg$c32,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c33)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c31),s0}function peg$parseLightFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c35?(s0=peg$c35,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c36)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c34),s0}function peg$parseLightTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c38?(s0=peg$c38,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c39)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c37),s0}function peg$parseFatLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c41?(s0=peg$c41,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c42)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c40),s0}function peg$parseFatTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c44?(s0=peg$c44,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c45)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c43),s0}function peg$parseTildeLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c47?(s0=peg$c47,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c48)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c46),s0}function peg$parseTildeFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c50?(s0=peg$c50,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c51)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c49),s0}function peg$parseLightArrow(){var s0;return peg$silentFails++,(s0=peg$parseForwardLightArrow())===peg$FAILED&&(s0=peg$parseTwoWayLightArrow())===peg$FAILED&&(s0=peg$parseBackLightArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c52),s0}function peg$parseFatArrow(){var s0;return peg$silentFails++,(s0=peg$parseForwardFatArrow())===peg$FAILED&&(s0=peg$parseTwoWayFatArrow())===peg$FAILED&&(s0=peg$parseBackFatArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c53),s0}function peg$parseTildeArrow(){var s0;return peg$silentFails++,(s0=peg$parseForwardTildeArrow())===peg$FAILED&&(s0=peg$parseTwoWayTildeArrow())===peg$FAILED&&(s0=peg$parseBackTildeArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c54),s0}function peg$parseMixedArrow(){var s0;return peg$silentFails++,(s0=peg$parseLightFatArrow())===peg$FAILED&&(s0=peg$parseLightTildeArrow())===peg$FAILED&&(s0=peg$parseFatLightArrow())===peg$FAILED&&(s0=peg$parseFatTildeArrow())===peg$FAILED&&(s0=peg$parseTildeLightArrow())===peg$FAILED&&(s0=peg$parseTildeFatArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c55),s0}function peg$parseArrow(){var s0;return peg$silentFails++,(s0=peg$parseMixedArrow())===peg$FAILED&&(s0=peg$parseLightArrow())===peg$FAILED&&(s0=peg$parseFatArrow())===peg$FAILED&&(s0=peg$parseTildeArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c56),s0}function peg$parseHexDigit(){var s0;return peg$c57.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c58)),s0}function peg$parseChar(){var s0,s2,s3,s4,s5,s6,s7,s8,s9;return(s0=peg$parseUnescaped())===peg$FAILED&&(s0=peg$currPos,peg$parseEscape()!==peg$FAILED?(34===input.charCodeAt(peg$currPos)?(s2=peg$c59,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c60)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c61,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c62)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c63,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c64)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c65,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c66)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c67()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c68,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c69)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c70()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c71,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c72)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c73()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c74,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c75)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c76()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c77,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c78)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c79()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c80,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c81)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c82()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c83,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c84)),s3!==peg$FAILED?(s4=peg$currPos,s5=peg$currPos,(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED&&(s8=peg$parseHexDigit())!==peg$FAILED&&(s9=peg$parseHexDigit())!==peg$FAILED?s5=s6=[s6,s7,s8,s9]:(peg$currPos=s5,s5=peg$FAILED),(s4=s5!==peg$FAILED?input.substring(s4,peg$currPos):s5)!==peg$FAILED?(peg$savedPos=s2,s2=s3=peg$c85(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c86(s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseEscape(){var s0;return 92===input.charCodeAt(peg$currPos)?(s0=peg$c61,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c62)),s0}function peg$parseQuoteMark(){var s0;return 34===input.charCodeAt(peg$currPos)?(s0=peg$c59,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c60)),s0}function peg$parseUnescaped(){var s0;return peg$c87.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c88)),s0}function peg$parseActionLabelChar(){var s0,s2,s3,s4,s5,s6,s7,s8,s9;return(s0=peg$parseActionLabelUnescaped())===peg$FAILED&&(s0=peg$currPos,peg$parseEscape()!==peg$FAILED?(39===input.charCodeAt(peg$currPos)?(s2=peg$c89,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c90)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c61,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c62)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c63,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c64)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c65,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c66)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c67()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c68,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c69)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c70()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c71,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c72)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c73()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c74,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c75)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c76()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c77,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c78)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c79()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c80,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c81)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c82()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c83,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c84)),s3!==peg$FAILED?(s4=peg$currPos,s5=peg$currPos,(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED&&(s8=peg$parseHexDigit())!==peg$FAILED&&(s9=peg$parseHexDigit())!==peg$FAILED?s5=s6=[s6,s7,s8,s9]:(peg$currPos=s5,s5=peg$FAILED),(s4=s5!==peg$FAILED?input.substring(s4,peg$currPos):s5)!==peg$FAILED?(peg$savedPos=s2,s2=s3=peg$c85(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c86(s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseActionLabelQuoteMark(){var s0;return 39===input.charCodeAt(peg$currPos)?(s0=peg$c89,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c90)),s0}function peg$parseActionLabelUnescaped(){var s0;return peg$c91.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c92)),s0}function peg$parseActionLabel(){var s0,s2,s3;if(peg$silentFails++,s0=peg$currPos,peg$parseActionLabelQuoteMark()!==peg$FAILED){for(s2=[],s3=peg$parseActionLabelChar();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseActionLabelChar();s2!==peg$FAILED&&(s3=peg$parseActionLabelQuoteMark())!==peg$FAILED?(peg$savedPos=s0,s0=peg$c94(s2)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c93),s0}function peg$parseLineTerminator(){var s0;return peg$c95.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c96)),s0}function peg$parseBlockCommentTail(){var s0,s1,s2;return input.substr(peg$currPos,2)===peg$c99?(s0=peg$c99,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c100)),s0===peg$FAILED&&(s0=peg$currPos,input.length>peg$currPos?(s1=input.charAt(peg$currPos),peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c101)),s1!==peg$FAILED&&(s2=peg$parseBlockCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseBlockComment(){var s0,s1,s2;return s0=peg$currPos,input.substr(peg$currPos,2)===peg$c102?(s1=peg$c102,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c103)),s1!==peg$FAILED&&(s2=peg$parseBlockCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseEOF(){var s0,s1;return s0=peg$currPos,peg$silentFails++,input.length>peg$currPos?(s1=input.charAt(peg$currPos),peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c101)),peg$silentFails--,s1===peg$FAILED?s0=void 0:(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseLineCommentTail(){var s0,s1,s2;return(s0=peg$parseLineTerminator())===peg$FAILED&&(s0=peg$parseEOF())===peg$FAILED&&(s0=peg$currPos,input.length>peg$currPos?(s1=input.charAt(peg$currPos),peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c101)),s1!==peg$FAILED&&(s2=peg$parseLineCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseLineComment(){var s0,s1,s2;return s0=peg$currPos,input.substr(peg$currPos,2)===peg$c104?(s1=peg$c104,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c105)),s1!==peg$FAILED&&(s2=peg$parseLineCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseWS(){var s0,s1,s2;if(s0=peg$currPos,(s1=peg$parseBlockComment())!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0===peg$FAILED&&(s0=peg$currPos,(s1=peg$parseLineComment())!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0===peg$FAILED)){if(s0=peg$currPos,s1=[],peg$c106.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c107)),s2!==peg$FAILED)for(;s2!==peg$FAILED;)s1.push(s2),peg$c106.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c107));else s1=peg$FAILED;s1!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)}return s0}function peg$parseString(){var s0,s2,s3;if(peg$silentFails++,s0=peg$currPos,peg$parseQuoteMark()!==peg$FAILED){for(s2=[],s3=peg$parseChar();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseChar();s2!==peg$FAILED&&(s3=peg$parseQuoteMark())!==peg$FAILED?(peg$savedPos=s0,s0=peg$c94(s2)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c108),s0}function peg$parseAtom(){var s0,s1,s2;if(peg$silentFails++,s0=peg$currPos,s1=[],peg$c110.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c111)),s2!==peg$FAILED)for(;s2!==peg$FAILED;)s1.push(s2),peg$c110.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c111));else s1=peg$FAILED;return s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c112(s1)),s0=s1,peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c109)),s0}function peg$parseLabel(){var s0;return peg$silentFails++,(s0=peg$parseAtom())===peg$FAILED&&(s0=peg$parseString()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c113),s0}function peg$parseIntegerLiteral(){var s0,s1,s2,s3;if(48===input.charCodeAt(peg$currPos)?(s0=peg$c114,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c115)),s0===peg$FAILED)if(s0=peg$currPos,(s1=peg$parseNonZeroDigit())!==peg$FAILED){for(s2=[],s3=peg$parseDecimalDigit();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseDecimalDigit();s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return s0}function peg$parseDecimalDigit(){var s0;return peg$c116.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c117)),s0}function peg$parseNonZeroDigit(){var s0;return peg$c118.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c119)),s0}function peg$parseNonNegNumber(){var s0,s2,s3,s4;if(peg$silentFails++,s0=peg$currPos,peg$parseIntegerLiteral()!==peg$FAILED)if(46===input.charCodeAt(peg$currPos)?(s2=peg$c121,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c122)),s2!==peg$FAILED){for(s3=[],s4=peg$parseDecimalDigit();s4!==peg$FAILED;)s3.push(s4),s4=peg$parseDecimalDigit();s3!==peg$FAILED?((s4=peg$parseWS())===peg$FAILED&&(s4=null),s4!==peg$FAILED?(peg$savedPos=s0,s0=peg$c123()):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;else peg$currPos=s0,s0=peg$FAILED;return s0===peg$FAILED&&(s0=peg$currPos,peg$parseIntegerLiteral()!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c123()):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c120),s0}function peg$parseSemVer(){var s0,s1,s2,s3,s4,s5;return s0=peg$currPos,(s1=peg$parseIntegerLiteral())!==peg$FAILED?(46===input.charCodeAt(peg$currPos)?(s2=peg$c121,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c122)),s2!==peg$FAILED&&(s3=peg$parseIntegerLiteral())!==peg$FAILED?(46===input.charCodeAt(peg$currPos)?(s4=peg$c121,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c122)),s4!==peg$FAILED&&(s5=peg$parseIntegerLiteral())!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c124(s1,s3,s5)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseUrlProtocol(){var s0;return input.substr(peg$currPos,7)===peg$c135?(s0=peg$c135,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c136)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c137?(s0=peg$c137,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c138))),s0}function peg$parseURL(){var s0,s1,s2,s3;if(s0=peg$currPos,(s1=peg$parseUrlProtocol())!==peg$FAILED){if(s2=[],peg$c139.test(input.charAt(peg$currPos))?(s3=input.charAt(peg$currPos),peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c140)),s3!==peg$FAILED)for(;s3!==peg$FAILED;)s2.push(s3),peg$c139.test(input.charAt(peg$currPos))?(s3=input.charAt(peg$currPos),peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c140));else s2=peg$FAILED;s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c141(s1)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return s0}function peg$parseSvgColorLabel(){var s0,s1;return s0=peg$currPos,input.substr(peg$currPos,9)===peg$c142?(s1=peg$c142,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c143)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c144()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c145?(s1=peg$c145,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c146)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c144()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c147?(s1=peg$c147,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c148)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c149()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c150?(s1=peg$c150,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c151)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c149()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c152?(s1=peg$c152,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c153)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c154()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c155?(s1=peg$c155,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c156)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c154()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c157?(s1=peg$c157,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c158)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c159()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c160?(s1=peg$c160,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c161)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c159()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c162?(s1=peg$c162,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c163)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c164()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c165?(s1=peg$c165,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c166)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c164()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c167?(s1=peg$c167,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c168)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c169()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c170?(s1=peg$c170,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c171)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c169()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c172?(s1=peg$c172,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c173)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c174()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c175?(s1=peg$c175,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c176)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c174()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c177?(s1=peg$c177,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c178)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c179()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c180?(s1=peg$c180,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c181)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c179()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c182?(s1=peg$c182,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c183)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c184()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c185?(s1=peg$c185,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c186)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c184()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c187?(s1=peg$c187,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c188)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c189()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c190?(s1=peg$c190,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c191)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c189()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c192?(s1=peg$c192,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c193)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c194()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c195?(s1=peg$c195,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c196)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c194()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c197?(s1=peg$c197,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c198)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c199()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c200?(s1=peg$c200,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c201)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c199()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c202?(s1=peg$c202,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c203)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c204()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c205?(s1=peg$c205,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c206)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c204()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c207?(s1=peg$c207,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c208)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c209()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c210?(s1=peg$c210,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c211)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c209()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c212?(s1=peg$c212,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c213)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c214()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c215?(s1=peg$c215,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c216)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c214()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c217?(s1=peg$c217,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c218)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c219()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c220?(s1=peg$c220,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c221)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c219()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c222?(s1=peg$c222,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c223)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c224()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c225?(s1=peg$c225,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c226)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c224()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c227?(s1=peg$c227,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c228)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c229()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c230?(s1=peg$c230,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c231)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c229()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c232?(s1=peg$c232,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c233)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c234()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c235?(s1=peg$c235,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c236)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c234()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c237?(s1=peg$c237,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c238)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c239()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c240?(s1=peg$c240,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c241)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c239()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c242?(s1=peg$c242,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c243)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c154()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c244?(s1=peg$c244,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c245)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c154()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c246?(s1=peg$c246,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c247)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c248()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c249?(s1=peg$c249,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c250)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c248()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c251?(s1=peg$c251,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c252)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c253()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c254?(s1=peg$c254,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c255)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c253()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c256?(s1=peg$c256,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c257)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c258()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c259?(s1=peg$c259,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c260)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c258()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c261?(s1=peg$c261,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c262)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c263()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c264?(s1=peg$c264,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c265)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c263()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c266?(s1=peg$c266,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c267)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c263()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c268?(s1=peg$c268,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c269)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c263()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c270?(s1=peg$c270,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c271)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c272()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c273?(s1=peg$c273,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c274)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c272()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c275?(s1=peg$c275,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c276)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c277()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c278?(s1=peg$c278,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c279)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c277()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c280?(s1=peg$c280,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c281)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c282()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c283?(s1=peg$c283,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c284)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c282()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c285?(s1=peg$c285,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c286)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c287()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c288?(s1=peg$c288,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c289)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c287()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c290?(s1=peg$c290,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c291)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c292()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c293?(s1=peg$c293,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c294)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c292()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c295?(s1=peg$c295,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c296)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c297()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c298?(s1=peg$c298,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c299)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c297()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c300?(s1=peg$c300,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c301)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c302()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c303?(s1=peg$c303,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c304)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c302()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c305?(s1=peg$c305,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c306)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c307()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c308?(s1=peg$c308,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c309)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c307()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c310?(s1=peg$c310,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c311)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c312()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c313?(s1=peg$c313,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c314)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c312()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c315?(s1=peg$c315,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c316)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c317()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c318?(s1=peg$c318,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c319)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c317()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c320?(s1=peg$c320,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c321)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c322()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c323?(s1=peg$c323,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c324)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c322()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c325?(s1=peg$c325,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c326)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c322()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c327?(s1=peg$c327,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c328)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c322()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c329?(s1=peg$c329,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c330)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c331()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c332?(s1=peg$c332,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c333)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c331()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c334?(s1=peg$c334,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c335)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c336()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c337?(s1=peg$c337,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c338)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c336()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c339?(s1=peg$c339,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c340)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c341()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c342?(s1=peg$c342,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c343)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c341()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c344?(s1=peg$c344,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c345)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c346()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c347?(s1=peg$c347,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c348)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c346()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c349?(s1=peg$c349,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c350)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c351()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c352?(s1=peg$c352,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c353)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c351()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c354?(s1=peg$c354,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c355)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c351()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c356?(s1=peg$c356,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c357)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c351()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c358?(s1=peg$c358,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c359)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c360()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c361?(s1=peg$c361,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c362)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c360()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c363?(s1=peg$c363,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c364)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c365()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c366?(s1=peg$c366,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c367)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c365()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c368?(s1=peg$c368,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c369)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c370()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c371?(s1=peg$c371,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c372)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c370()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c373?(s1=peg$c373,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c374)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c375()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c376?(s1=peg$c376,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c377)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c375()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c378?(s1=peg$c378,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c379)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c380()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c381?(s1=peg$c381,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c382)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c380()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c383?(s1=peg$c383,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c384)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c385()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c386?(s1=peg$c386,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c387)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c385()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c388?(s1=peg$c388,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c389)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c390()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c391?(s1=peg$c391,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c392)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c390()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c393?(s1=peg$c393,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c394)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c395()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c396?(s1=peg$c396,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c397)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c395()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c398?(s1=peg$c398,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c399)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c400()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c401?(s1=peg$c401,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c402)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c400()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c403?(s1=peg$c403,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c404)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c405()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c406?(s1=peg$c406,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c407)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c405()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c408?(s1=peg$c408,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c409)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c405()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c410?(s1=peg$c410,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c411)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c405()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c412?(s1=peg$c412,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c413)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c414()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c415?(s1=peg$c415,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c416)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c414()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c417?(s1=peg$c417,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c418)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c419()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c420?(s1=peg$c420,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c421)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c419()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c422?(s1=peg$c422,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c423)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c424()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c425?(s1=peg$c425,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c426)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c424()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c427?(s1=peg$c427,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c428)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c429()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c430?(s1=peg$c430,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c431)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c429()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c432?(s1=peg$c432,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c433)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c434()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c435?(s1=peg$c435,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c436)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c434()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c437?(s1=peg$c437,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c438)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c439()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c440?(s1=peg$c440,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c441)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c439()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c442?(s1=peg$c442,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c443)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c444()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c445?(s1=peg$c445,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c446)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c444()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c447?(s1=peg$c447,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c448)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c449()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c450?(s1=peg$c450,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c451)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c449()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c452?(s1=peg$c452,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c453)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c454()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c455?(s1=peg$c455,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c456)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c454()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c457?(s1=peg$c457,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c458)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c459()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c460?(s1=peg$c460,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c461)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c459()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c462?(s1=peg$c462,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c463)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c464()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c465?(s1=peg$c465,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c466)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c464()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c467?(s1=peg$c467,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c468)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c469()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c470?(s1=peg$c470,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c471)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c469()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c472?(s1=peg$c472,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c473)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c474()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c475?(s1=peg$c475,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c476)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c474()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c477?(s1=peg$c477,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c478)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c479()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c480?(s1=peg$c480,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c481)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c479()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c482?(s1=peg$c482,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c483)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c484()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c485?(s1=peg$c485,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c486)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c484()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,20)===peg$c487?(s1=peg$c487,peg$currPos+=20):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c488)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c489()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,20)===peg$c490?(s1=peg$c490,peg$currPos+=20):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c491)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c489()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c492?(s1=peg$c492,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c493)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c494()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c495?(s1=peg$c495,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c496)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c494()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c497?(s1=peg$c497,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c498)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c494()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c499?(s1=peg$c499,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c500)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c494()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c501?(s1=peg$c501,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c502)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c503()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c504?(s1=peg$c504,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c505)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c503()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c506?(s1=peg$c506,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c507)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c508()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c509?(s1=peg$c509,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c510)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c508()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c511?(s1=peg$c511,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c512)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c513()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c514?(s1=peg$c514,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c515)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c513()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c516?(s1=peg$c516,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c517)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c518()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c519?(s1=peg$c519,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c520)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c518()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c521?(s1=peg$c521,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c522)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c523()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c524?(s1=peg$c524,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c525)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c523()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c526?(s1=peg$c526,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c527)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c528()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c529?(s1=peg$c529,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c530)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c528()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c531?(s1=peg$c531,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c532)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c528()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c533?(s1=peg$c533,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c534)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c528()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c535?(s1=peg$c535,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c536)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c537()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c538?(s1=peg$c538,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c539)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c537()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c540?(s1=peg$c540,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c541)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c542()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c543?(s1=peg$c543,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c544)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c542()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c545?(s1=peg$c545,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c546)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c547()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c548?(s1=peg$c548,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c549)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c547()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c550?(s1=peg$c550,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c551)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c552()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c553?(s1=peg$c553,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c554)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c552()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c555?(s1=peg$c555,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c556)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c557()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c558?(s1=peg$c558,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c559)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c557()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c560?(s1=peg$c560,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c561)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c380()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c562?(s1=peg$c562,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c563)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c380()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c564?(s1=peg$c564,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c565)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c566()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c567?(s1=peg$c567,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c568)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c566()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,16)===peg$c569?(s1=peg$c569,peg$currPos+=16):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c570)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c571()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,16)===peg$c572?(s1=peg$c572,peg$currPos+=16):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c573)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c571()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c574?(s1=peg$c574,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c575)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c576()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c577?(s1=peg$c577,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c578)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c576()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c579?(s1=peg$c579,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c580)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c581()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c582?(s1=peg$c582,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c583)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c581()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c584?(s1=peg$c584,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c585)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c586()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c587?(s1=peg$c587,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c588)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c586()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c589?(s1=peg$c589,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c590)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c591()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c592?(s1=peg$c592,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c593)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c591()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c594?(s1=peg$c594,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c595)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c596()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c597?(s1=peg$c597,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c598)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c596()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,17)===peg$c599?(s1=peg$c599,peg$currPos+=17):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c600)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c601()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,17)===peg$c602?(s1=peg$c602,peg$currPos+=17):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c603)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c601()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c604?(s1=peg$c604,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c605)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c606()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c607?(s1=peg$c607,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c608)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c606()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c609?(s1=peg$c609,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c610)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c611()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c612?(s1=peg$c612,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c613)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c611()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c614?(s1=peg$c614,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c615)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c616()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c617?(s1=peg$c617,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c618)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c616()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c619?(s1=peg$c619,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c620)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c621()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c622?(s1=peg$c622,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c623)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c621()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c624?(s1=peg$c624,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c625)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c626()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c627?(s1=peg$c627,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c628)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c626()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c629?(s1=peg$c629,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c630)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c631()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c632?(s1=peg$c632,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c633)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c631()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c634?(s1=peg$c634,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c635)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c636()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c637?(s1=peg$c637,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c638)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c636()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c639?(s1=peg$c639,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c640)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c641()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c642?(s1=peg$c642,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c643)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c641()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c644?(s1=peg$c644,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c645)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c646()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c647?(s1=peg$c647,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c648)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c646()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c649?(s1=peg$c649,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c650)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c651()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c652?(s1=peg$c652,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c653)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c651()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c654?(s1=peg$c654,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c655)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c656()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c657?(s1=peg$c657,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c658)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c656()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c659?(s1=peg$c659,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c660)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c661()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c662?(s1=peg$c662,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c663)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c661()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c664?(s1=peg$c664,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c665)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c666()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c667?(s1=peg$c667,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c668)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c666()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c669?(s1=peg$c669,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c670)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c671()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c672?(s1=peg$c672,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c673)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c671()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c674?(s1=peg$c674,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c675)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c676()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c677?(s1=peg$c677,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c678)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c676()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c679?(s1=peg$c679,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c680)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c681()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c682?(s1=peg$c682,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c683)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c681()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c684?(s1=peg$c684,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c685)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c686()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c687?(s1=peg$c687,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c688)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c686()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c689?(s1=peg$c689,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c690)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c691()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c692?(s1=peg$c692,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c693)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c691()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c694?(s1=peg$c694,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c695)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c696()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c697?(s1=peg$c697,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c698)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c696()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c699?(s1=peg$c699,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c700)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c701()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c702?(s1=peg$c702,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c703)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c701()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c704?(s1=peg$c704,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c705)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c706()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c707?(s1=peg$c707,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c708)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c706()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c709?(s1=peg$c709,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c710)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c711()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c712?(s1=peg$c712,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c713)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c711()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c714?(s1=peg$c714,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c715)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c716()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c717?(s1=peg$c717,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c718)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c716()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c719?(s1=peg$c719,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c720)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c721()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c722?(s1=peg$c722,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c723)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c721()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c724?(s1=peg$c724,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c725)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c726()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c727?(s1=peg$c727,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c728)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c726()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c729?(s1=peg$c729,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c730)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c731()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c732?(s1=peg$c732,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c733)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c731()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c734?(s1=peg$c734,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c735)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c736()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c737?(s1=peg$c737,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c738)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c736()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c739?(s1=peg$c739,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c740)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c741()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c742?(s1=peg$c742,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c743)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c741()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c744?(s1=peg$c744,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c745)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c746()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c747?(s1=peg$c747,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c748)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c746()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c749?(s1=peg$c749,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c750)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c751()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c752?(s1=peg$c752,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c753)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c751()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c754?(s1=peg$c754,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c755)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c756()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c757?(s1=peg$c757,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c758)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c756()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c759?(s1=peg$c759,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c760)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c761()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c762?(s1=peg$c762,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c763)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c761()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c764?(s1=peg$c764,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c765)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c766()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c767?(s1=peg$c767,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c768)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c766()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c769?(s1=peg$c769,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c770)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c771()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c772?(s1=peg$c772,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c773)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c771()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c774?(s1=peg$c774,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c775)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c776()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c777?(s1=peg$c777,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c778)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c776()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c779?(s1=peg$c779,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c780)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c781()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c782?(s1=peg$c782,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c783)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c781()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c784?(s1=peg$c784,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c785)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c786()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c787?(s1=peg$c787,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c788)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c786()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c789?(s1=peg$c789,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c790)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c791()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c792?(s1=peg$c792,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c793)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c791()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c794?(s1=peg$c794,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c795)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c791()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c796?(s1=peg$c796,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c797)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c791()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c798?(s1=peg$c798,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c799)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c800()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c801?(s1=peg$c801,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c802)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c800()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c803?(s1=peg$c803,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c804)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c805()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c806?(s1=peg$c806,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c807)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c805()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c808?(s1=peg$c808,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c809)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c810()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c811?(s1=peg$c811,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c812)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c810()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c813?(s1=peg$c813,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c814)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c815()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c816?(s1=peg$c816,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c817)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c815()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c818?(s1=peg$c818,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c819)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c820()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c821?(s1=peg$c821,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c822)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c820()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c823?(s1=peg$c823,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c824)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c825()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c826?(s1=peg$c826,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c827)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c825()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c828?(s1=peg$c828,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c829)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c830()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c831?(s1=peg$c831,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c832)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c830()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c833?(s1=peg$c833,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c834)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c835()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c836?(s1=peg$c836,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c837)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c835()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c838?(s1=peg$c838,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c839)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c840()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c841?(s1=peg$c841,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c842)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c840()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c843?(s1=peg$c843,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c844)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c845()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c846?(s1=peg$c846,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c847)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c845()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c848?(s1=peg$c848,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c849)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c850()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c851?(s1=peg$c851,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c852)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c850()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c853?(s1=peg$c853,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c854)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c855()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c856?(s1=peg$c856,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c857)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c855()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c858?(s1=peg$c858,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c859)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c860()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c861?(s1=peg$c861,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c862)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c860()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c863?(s1=peg$c863,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c864)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c865()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c866?(s1=peg$c866,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c867)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c865()),s0=s1))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s0}function peg$parseSvgColor(){var s0,s1,s2;return s0=peg$currPos,(s1=peg$parseSvgColorLabel())!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseRgb3(){var s0,s1,s2,s3,s4,s5;return s0=peg$currPos,35===input.charCodeAt(peg$currPos)?(s1=peg$c868,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(s2=peg$parseHexDigit())!==peg$FAILED&&(s3=peg$parseHexDigit())!==peg$FAILED&&(s4=peg$parseHexDigit())!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c870(s2,s3,s4)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseRgb6(){var s0,s1,s2,s3,s4,s5,s6,s7,s8;return s0=peg$currPos,35===input.charCodeAt(peg$currPos)?(s1=peg$c868,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(s2=peg$parseHexDigit())!==peg$FAILED&&(s3=peg$parseHexDigit())!==peg$FAILED&&(s4=peg$parseHexDigit())!==peg$FAILED&&(s5=peg$parseHexDigit())!==peg$FAILED&&(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED?((s8=peg$parseWS())===peg$FAILED&&(s8=null),s8!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c871(s2,s3,s4,s5,s6,s7)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseRgba4(){var s0,s1,s2,s3,s4,s5,s6;return s0=peg$currPos,35===input.charCodeAt(peg$currPos)?(s1=peg$c868,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(s2=peg$parseHexDigit())!==peg$FAILED&&(s3=peg$parseHexDigit())!==peg$FAILED&&(s4=peg$parseHexDigit())!==peg$FAILED&&(s5=peg$parseHexDigit())!==peg$FAILED?((s6=peg$parseWS())===peg$FAILED&&(s6=null),s6!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c872(s2,s3,s4,s5)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseRgba8(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10;return s0=peg$currPos,35===input.charCodeAt(peg$currPos)?(s1=peg$c868,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(s2=peg$parseHexDigit())!==peg$FAILED&&(s3=peg$parseHexDigit())!==peg$FAILED&&(s4=peg$parseHexDigit())!==peg$FAILED&&(s5=peg$parseHexDigit())!==peg$FAILED&&(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED&&(s8=peg$parseHexDigit())!==peg$FAILED&&(s9=peg$parseHexDigit())!==peg$FAILED?((s10=peg$parseWS())===peg$FAILED&&(s10=null),s10!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c873(s2,s3,s4,s5,s6,s7,s8,s9)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseColor(){var s0;return peg$silentFails++,(s0=peg$parseSvgColor())===peg$FAILED&&(s0=peg$parseRgb3())===peg$FAILED&&(s0=peg$parseRgb6())===peg$FAILED&&(s0=peg$parseRgba4())===peg$FAILED&&(s0=peg$parseRgba8()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c874),s0}function peg$parseArrowItemKey(){var s0;return input.substr(peg$currPos,9)===peg$c875?(s0=peg$c875,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c876)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c877?(s0=peg$c877,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c878)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c879?(s0=peg$c879,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c880)))),s0}function peg$parseArrowItem(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED&&(s2=peg$parseArrowItemKey())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabel())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c885(s2,s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseSingleEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return peg$silentFails++,s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c887?(s2=peg$c887,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c888)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseColor())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c889(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c886)),s0}function peg$parseArrowItems(){var s0,s1;if((s0=peg$parseSingleEdgeColor())===peg$FAILED)if(s0=[],(s1=peg$parseArrowItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseArrowItem();else s0=peg$FAILED;return s0}function peg$parseArrowDesc(){var s0,s1,s2,s3,s4,s5;return s0=peg$currPos,123===input.charCodeAt(peg$currPos)?(s1=peg$c890,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s1!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?((s3=peg$parseArrowItems())===peg$FAILED&&(s3=null),s3!==peg$FAILED?((s4=peg$parseWS())===peg$FAILED&&(s4=null),s4!==peg$FAILED?(125===input.charCodeAt(peg$currPos)?(s5=peg$c892,peg$currPos++):(s5=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c893)),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c894(s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseArrowProbability(){var s0,s1,s2;return s0=peg$currPos,(s1=peg$parseNonNegNumber())!==peg$FAILED?(37===input.charCodeAt(peg$currPos)?(s2=peg$c895,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c896)),s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c897(s1)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseLabelList(){var s0,s1,s2,s3,s4,s5,s6;if(s0=peg$currPos,91===input.charCodeAt(peg$currPos)?(s1=peg$c898,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c899)),s1!==peg$FAILED)if((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED){for(s3=[],s4=peg$currPos,(s5=peg$parseLabel())!==peg$FAILED?((s6=peg$parseWS())===peg$FAILED&&(s6=null),s6!==peg$FAILED?s4=s5=[s5,s6]:(peg$currPos=s4,s4=peg$FAILED)):(peg$currPos=s4,s4=peg$FAILED);s4!==peg$FAILED;)s3.push(s4),s4=peg$currPos,(s5=peg$parseLabel())!==peg$FAILED?((s6=peg$parseWS())===peg$FAILED&&(s6=null),s6!==peg$FAILED?s4=s5=[s5,s6]:(peg$currPos=s4,s4=peg$FAILED)):(peg$currPos=s4,s4=peg$FAILED);s3!==peg$FAILED?(93===input.charCodeAt(peg$currPos)?(s4=peg$c900,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c901)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c902(s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;else peg$currPos=s0,s0=peg$FAILED;return s0}function peg$parseLabelOrLabelList(){var s0;return(s0=peg$parseLabelList())===peg$FAILED&&(s0=peg$parseLabel()),s0}function peg$parseSubexp(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?((s2=peg$parseActionLabel())===peg$FAILED&&(s2=null),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?((s4=peg$parseArrowProbability())===peg$FAILED&&(s4=null),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?((s6=peg$parseArrowDesc())===peg$FAILED&&(s6=null),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED&&(s8=peg$parseArrow())!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?((s10=peg$parseArrowDesc())===peg$FAILED&&(s10=null),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?((s12=peg$parseArrowProbability())===peg$FAILED&&(s12=null),s12!==peg$FAILED?((s13=peg$parseWS())===peg$FAILED&&(s13=null),s13!==peg$FAILED?((s14=peg$parseActionLabel())===peg$FAILED&&(s14=null),s14!==peg$FAILED?((s15=peg$parseWS())===peg$FAILED&&(s15=null),s15!==peg$FAILED&&(s16=peg$parseLabelOrLabelList())!==peg$FAILED?((s17=peg$parseWS())===peg$FAILED&&(s17=null),s17!==peg$FAILED?((s18=peg$parseSubexp())===peg$FAILED&&(s18=null),s18!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c903(s2,s4,s6,s8,s10,s12,s14,s16,s18)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseExp(){var s0,s1,s2,s3,s4,s5;return s0=peg$currPos,(s1=peg$parseLabelOrLabelList())!==peg$FAILED&&(s2=peg$parseSubexp())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c883,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c904(s1,s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseValidationKey(){var s0;return input.substr(peg$currPos,9)===peg$c905?(s0=peg$c905,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c906)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c907?(s0=peg$c907,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c908))),s0}function peg$parseValidationItem(){var s0,s1,s2,s3,s4;return s0=peg$currPos,(s1=peg$parseValidationKey())!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s2=peg$c881,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c883,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c909(s1,s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseValidationItems(){var s0,s1;if(s0=[],(s1=peg$parseValidationItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseValidationItem();else s0=peg$FAILED;return s0}function peg$parseConfigValidation(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c910?(s2=peg$c910,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c911)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c890,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?((s8=peg$parseValidationItems())===peg$FAILED&&(s8=null),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(input.substr(peg$currPos,2)===peg$c912?(s10=peg$c912,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c913)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c914(s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseGvizLayout(){var s0;return input.substr(peg$currPos,3)===peg$c915?(s0=peg$c915,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c916)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c917?(s0=peg$c917,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c918)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c919?(s0=peg$c919,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c920)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c921?(s0=peg$c921,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c922))))),s0}function peg$parseStateItemShapeKey(){var s0;return input.substr(peg$currPos,8)===peg$c923?(s0=peg$c923,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c924)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c925?(s0=peg$c925,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c926)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c927?(s0=peg$c927,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c928)))),s0}function peg$parseStateItemShape(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED&&(s2=peg$parseStateItemShapeKey())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseGvizShape())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c885(s2,s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseStateItems(){var s0,s1;if(s0=[],(s1=peg$parseStateItemShape())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseStateItemShape();else s0=peg$FAILED;return s0}function peg$parseConfigState(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,5)===peg$c929?(s2=peg$c929,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c930)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c890,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?((s8=peg$parseStateItems())===peg$FAILED&&(s8=null),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(input.substr(peg$currPos,2)===peg$c912?(s10=peg$c912,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c913)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c931(s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseActionKey(){var s0;return input.substr(peg$currPos,9)===peg$c905?(s0=peg$c905,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c906)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c907?(s0=peg$c907,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c908))),s0}function peg$parseActionItem(){var s0,s1,s2,s3,s4;return s0=peg$currPos,(s1=peg$parseActionKey())!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s2=peg$c881,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c883,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c932(s1,s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseActionItems(){var s0,s1;if(s0=[],(s1=peg$parseActionItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseActionItem();else s0=peg$FAILED;return s0}function peg$parseConfigAction(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,6)===peg$c933?(s2=peg$c933,peg$currPos+=6):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c934)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c890,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?((s8=peg$parseActionItems())===peg$FAILED&&(s8=null),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(input.substr(peg$currPos,2)===peg$c912?(s10=peg$c912,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c913)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c935(s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseTransitionKey(){var s0;return input.substr(peg$currPos,9)===peg$c905?(s0=peg$c905,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c906)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c907?(s0=peg$c907,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c908))),s0}function peg$parseTransitionItem(){var s0,s1,s2,s3,s4;return s0=peg$currPos,(s1=peg$parseTransitionKey())!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s2=peg$c881,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c883,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c936(s1,s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseTransitionItems(){var s0,s1;if((s0=peg$parseGraphDefaultEdgeColor())===peg$FAILED)if(s0=[],(s1=peg$parseTransitionItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseTransitionItem();else s0=peg$FAILED;return s0}function peg$parseGraphDefaultEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return peg$silentFails++,s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c887?(s2=peg$c887,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c888)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseColor())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c938(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c937)),s0}function peg$parseConfigTransition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c939?(s2=peg$c939,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c940)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c890,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?((s8=peg$parseTransitionItems())===peg$FAILED&&(s8=null),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(input.substr(peg$currPos,2)===peg$c912?(s10=peg$c912,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c913)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c941(s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfigGraphLayout(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,12)===peg$c942?(s2=peg$c942,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c943)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseGvizLayout())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c944(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfigStartNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,12)===peg$c945?(s2=peg$c945,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c946)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c947(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfigEndNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c948?(s2=peg$c948,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c949)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c950(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfigGraphBgColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,14)===peg$c951?(s2=peg$c951,peg$currPos+=14):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c952)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseColor())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c953(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfig(){var s0;return peg$silentFails++,(s0=peg$parseConfigGraphLayout())===peg$FAILED&&(s0=peg$parseConfigStartNodes())===peg$FAILED&&(s0=peg$parseConfigEndNodes())===peg$FAILED&&(s0=peg$parseConfigTransition())===peg$FAILED&&(s0=peg$parseConfigAction())===peg$FAILED&&(s0=peg$parseConfigState())===peg$FAILED&&(s0=peg$parseConfigValidation())===peg$FAILED&&(s0=peg$parseConfigGraphBgColor()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c954),s0}function peg$parseLicenseOrLabelOrList(){var s0;return input.substr(peg$currPos,3)===peg$c955?(s0=peg$c955,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c956)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c957?(s0=peg$c957,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c958)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c959?(s0=peg$c959,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c960)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c961?(s0=peg$c961,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c962)),s0===peg$FAILED&&(input.substr(peg$currPos,11)===peg$c963?(s0=peg$c963,peg$currPos+=11):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c964)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c965?(s0=peg$c965,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c966)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c967?(s0=peg$c967,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c968)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c969?(s0=peg$c969,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c970)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c971?(s0=peg$c971,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c972)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c973?(s0=peg$c973,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c974)),s0===peg$FAILED&&(s0=peg$parseLabel())===peg$FAILED&&(s0=peg$parseLabelList())))))))))),s0}function peg$parseStateColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,5)===peg$c975?(s2=peg$c975,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c976)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseColor())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c977(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseArbitraryStateQuality(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return peg$silentFails++,s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED&&(s2=peg$parseLabel())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabel())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c979(s2,s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c978)),s0}function peg$parseStateQuality(){var s0;return(s0=peg$parseStateColor())===peg$FAILED&&(s0=peg$parseArbitraryStateQuality()),s0}function peg$parseStateDef(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13;if(peg$silentFails++,s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED)if(input.substr(peg$currPos,5)===peg$c929?(s2=peg$c929,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c930)),s2!==peg$FAILED)if((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED)if((s4=peg$parseLabel())!==peg$FAILED)if((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED)if(91===input.charCodeAt(peg$currPos)?(s6=peg$c898,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c899)),s6!==peg$FAILED)if((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED){for(s8=[],s9=peg$parseStateQuality();s9!==peg$FAILED;)s8.push(s9),s9=peg$parseStateQuality();s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(93===input.charCodeAt(peg$currPos)?(s10=peg$c900,peg$currPos++):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c901)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s12=peg$c883,peg$currPos++):(s12=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s12!==peg$FAILED?((s13=peg$parseWS())===peg$FAILED&&(s13=null),s13!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c981(s4,s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(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;else peg$currPos=s0,s0=peg$FAILED;else peg$currPos=s0,s0=peg$FAILED;else peg$currPos=s0,s0=peg$FAILED;return peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c980)),s0}function peg$parseMachineAuthor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,14)===peg$c982?(s2=peg$c982,peg$currPos+=14):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c983)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelOrLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c984(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineContributor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,19)===peg$c985?(s2=peg$c985,peg$currPos+=19):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c986)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelOrLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c987(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineComment(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,15)===peg$c988?(s2=peg$c988,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c989)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelOrLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c990(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineDefinition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,18)===peg$c991?(s2=peg$c991,peg$currPos+=18):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c992)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseURL())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c993(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineName(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,12)===peg$c994?(s2=peg$c994,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c995)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabel())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c996(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,15)===peg$c1000?(s2=peg$c1000,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1001)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseSemVer())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1002(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineLicense(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,15)===peg$c1003?(s2=peg$c1003,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1004)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLicenseOrLabelOrList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1005(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseFslVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,11)===peg$c1006?(s2=peg$c1006,peg$currPos+=11):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1007)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseSemVer())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1008(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseStateGroupDef(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,5)===peg$c1009?(s2=peg$c1009,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1010)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED&&(s4=peg$parseLabel())!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s6=peg$c881,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED&&(s8=peg$parseLabelOrLabelList())!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s10=peg$c883,peg$currPos++):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1011(s4,s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseTerm(){var s0;return(s0=peg$parseExp())===peg$FAILED&&(s0=peg$parseStateDef())===peg$FAILED&&(s0=peg$parseFslVersion())===peg$FAILED&&(s0=peg$parseMachineName())===peg$FAILED&&(s0=peg$parseMachineAuthor())===peg$FAILED&&(s0=peg$parseMachineContributor())===peg$FAILED&&(s0=peg$parseMachineComment())===peg$FAILED&&(s0=peg$parseMachineDefinition())===peg$FAILED&&(s0=peg$parseMachineVersion())===peg$FAILED&&(s0=peg$parseMachineLicense())===peg$FAILED&&(s0=peg$parseStateGroupDef())===peg$FAILED&&(s0=peg$parseConfig()),s0}function peg$parseTermList(){var s0,s1;for(s0=[],s1=peg$parseTerm();s1!==peg$FAILED;)s0.push(s1),s1=peg$parseTerm();return s0}options=void 0!==options?options:{};var peg$result,peg$FAILED={},peg$startRuleFunctions={Document:peg$parseDocument},peg$startRuleFunction=peg$parseDocument,peg$c0=function(e){return e},peg$c1="square",peg$c2=peg$literalExpectation("square",!1),peg$c3="rectangle",peg$c4=peg$literalExpectation("rectangle",!1),peg$c5="circle",peg$c6=peg$literalExpectation("circle",!1),peg$c7=peg$otherExpectation("forward light arrow ->"),peg$c8="->",peg$c9=peg$literalExpectation("->",!1),peg$c10=peg$otherExpectation("two way light arrow <->"),peg$c11="<->",peg$c12=peg$literalExpectation("<->",!1),peg$c13=peg$otherExpectation("back light arrow <-"),peg$c14="<-",peg$c15=peg$literalExpectation("<-",!1),peg$c16=peg$otherExpectation("forward fat arrow =>"),peg$c17="=>",peg$c18=peg$literalExpectation("=>",!1),peg$c19=peg$otherExpectation("two way fat arrow <=>"),peg$c20="<=>",peg$c21=peg$literalExpectation("<=>",!1),peg$c22=peg$otherExpectation("back fat arrow <="),peg$c23="<=",peg$c24=peg$literalExpectation("<=",!1),peg$c25=peg$otherExpectation("forward tilde arrow ~>"),peg$c26="~>",peg$c27=peg$literalExpectation("~>",!1),peg$c28=peg$otherExpectation("two way tilde arrow <~>"),peg$c29="<~>",peg$c30=peg$literalExpectation("<~>",!1),peg$c31=peg$otherExpectation("back tilde arrow <~"),peg$c32="<~",peg$c33=peg$literalExpectation("<~",!1),peg$c34=peg$otherExpectation("light fat arrow <-=>"),peg$c35="<-=>",peg$c36=peg$literalExpectation("<-=>",!1),peg$c37=peg$otherExpectation("light tilde arrow <-~>"),peg$c38="<-~>",peg$c39=peg$literalExpectation("<-~>",!1),peg$c40=peg$otherExpectation("fat light arrow <=->"),peg$c41="<=->",peg$c42=peg$literalExpectation("<=->",!1),peg$c43=peg$otherExpectation("fat tilde arrow <=~>"),peg$c44="<=~>",peg$c45=peg$literalExpectation("<=~>",!1),peg$c46=peg$otherExpectation("tilde light arrow <~->"),peg$c47="<~->",peg$c48=peg$literalExpectation("<~->",!1),peg$c49=peg$otherExpectation("tilde fat arrow <~=>"),peg$c50="<~=>",peg$c51=peg$literalExpectation("<~=>",!1),peg$c52=peg$otherExpectation("light arrow"),peg$c53=peg$otherExpectation("fat arrow"),peg$c54=peg$otherExpectation("tilde arrow"),peg$c55=peg$otherExpectation("mixed arrow"),peg$c56=peg$otherExpectation("arrow"),peg$c57=/^[0-9a-fA-F]/,peg$c58=peg$classExpectation([["0","9"],["a","f"],["A","F"]],!1,!1),peg$c59='"',peg$c60=peg$literalExpectation('"',!1),peg$c61="\\",peg$c62=peg$literalExpectation("\\",!1),peg$c63="/",peg$c64=peg$literalExpectation("/",!1),peg$c65="b",peg$c66=peg$literalExpectation("b",!1),peg$c67=function(){return"\b"},peg$c68="f",peg$c69=peg$literalExpectation("f",!1),peg$c70=function(){return"\f"},peg$c71="n",peg$c72=peg$literalExpectation("n",!1),peg$c73=function(){return"\n"},peg$c74="r",peg$c75=peg$literalExpectation("r",!1),peg$c76=function(){return"\r"},peg$c77="t",peg$c78=peg$literalExpectation("t",!1),peg$c79=function(){return"\t"},peg$c80="v",peg$c81=peg$literalExpectation("v",!1),peg$c82=function(){return"\v"},peg$c83="u",peg$c84=peg$literalExpectation("u",!1),peg$c85=function(digits){return String.fromCharCode(parseInt(digits,16))},peg$c86=function(Sequence){return Sequence},peg$c87=/^[ -!#-[\]-\u10FFFF]/,peg$c88=peg$classExpectation([[" ","!"],["#","["],["]","ჿ"],"F","F"],!1,!1),peg$c89="'",peg$c90=peg$literalExpectation("'",!1),peg$c91=/^[ -&(-[\]-\u10FFFF]/,peg$c92=peg$classExpectation([[" ","&"],["(","["],["]","ჿ"],"F","F"],!1,!1),peg$c93=peg$otherExpectation("action label"),peg$c94=function(chars){return chars.join("")},peg$c95=/^[\n\r\u2028\u2029]/,peg$c96=peg$classExpectation(["\n","\r","\u2028","\u2029"],!1,!1),peg$c99=(peg$classExpectation([" ","\t","\n","\r","\v"],!1,!1),"*/"),peg$c100=peg$literalExpectation("*/",!1),peg$c101={type:"any"},peg$c102="/*",peg$c103=peg$literalExpectation("/*",!1),peg$c104="//",peg$c105=peg$literalExpectation("//",!1),peg$c106=/^[ \t\r\n\x0B]/,peg$c107=peg$classExpectation([" ","\t","\r","\n","\v"],!1,!1),peg$c108=peg$otherExpectation("string"),peg$c109=peg$otherExpectation("atom"),peg$c110=/^[0-9a-zA-Z.+_&()$#@!?,]/,peg$c111=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","_","&","(",")","$","#","@","!","?",","],!1,!1),peg$c112=function(text){return text.join("")},peg$c113=peg$otherExpectation("label"),peg$c114="0",peg$c115=peg$literalExpectation("0",!1),peg$c116=/^[0-9]/,peg$c117=peg$classExpectation([["0","9"]],!1,!1),peg$c118=/^[1-9]/,peg$c119=peg$classExpectation([["1","9"]],!1,!1),peg$c120=peg$otherExpectation("nonneg number"),peg$c121=".",peg$c122=peg$literalExpectation(".",!1),peg$c123=function(){return parseFloat(text())},peg$c124=function(major,minor,patch){return{major:parseInt(major,10),minor:parseInt(minor,10),patch:parseInt(patch,10),full:text()}},peg$c135=(peg$literalExpectation("^",!1),peg$literalExpectation("~",!1),peg$literalExpectation(">=",!1),peg$literalExpectation("<",!1),peg$literalExpectation(">",!1),"http://"),peg$c136=peg$literalExpectation("http://",!1),peg$c137="https://",peg$c138=peg$literalExpectation("https://",!1),peg$c139=/^[a-zA-Z0-9!*'():;@&=+$,\/?#[\]_.~\-]/,peg$c140=peg$classExpectation([["a","z"],["A","Z"],["0","9"],"!","*","'","(",")",":",";","@","&","=","+","$",",","/","?","#","[","]","_",".","~","-"],!1,!1),peg$c141=function(protocol){return text()},peg$c142="aliceblue",peg$c143=peg$literalExpectation("aliceblue",!1),peg$c144=function(){return"#f0f8ffff"},peg$c145="AliceBlue",peg$c146=peg$literalExpectation("AliceBlue",!1),peg$c147="antiquewhite",peg$c148=peg$literalExpectation("antiquewhite",!1),peg$c149=function(){return"#faebd7ff"},peg$c150="AntiqueWhite",peg$c151=peg$literalExpectation("AntiqueWhite",!1),peg$c152="aqua",peg$c153=peg$literalExpectation("aqua",!1),peg$c154=function(){return"#00ffffff"},peg$c155="Aqua",peg$c156=peg$literalExpectation("Aqua",!1),peg$c157="aquamarine",peg$c158=peg$literalExpectation("aquamarine",!1),peg$c159=function(){return"#7fffd4ff"},peg$c160="Aquamarine",peg$c161=peg$literalExpectation("Aquamarine",!1),peg$c162="azure",peg$c163=peg$literalExpectation("azure",!1),peg$c164=function(){return"#f0ffffff"},peg$c165="Azure",peg$c166=peg$literalExpectation("Azure",!1),peg$c167="beige",peg$c168=peg$literalExpectation("beige",!1),peg$c169=function(){return"#f5f5dcff"},peg$c170="Beige",peg$c171=peg$literalExpectation("Beige",!1),peg$c172="bisque",peg$c173=peg$literalExpectation("bisque",!1),peg$c174=function(){return"#ffe4c4ff"},peg$c175="Bisque",peg$c176=peg$literalExpectation("Bisque",!1),peg$c177="black",peg$c178=peg$literalExpectation("black",!1),peg$c179=function(){return"#000000ff"},peg$c180="Black",peg$c181=peg$literalExpectation("Black",!1),peg$c182="blanchedalmond",peg$c183=peg$literalExpectation("blanchedalmond",!1),peg$c184=function(){return"#ffebcdff"},peg$c185="BlanchedAlmond",peg$c186=peg$literalExpectation("BlanchedAlmond",!1),peg$c187="blue",peg$c188=peg$literalExpectation("blue",!1),peg$c189=function(){return"#0000ffff"},peg$c190="Blue",peg$c191=peg$literalExpectation("Blue",!1),peg$c192="blueviolet",peg$c193=peg$literalExpectation("blueviolet",!1),peg$c194=function(){return"#8a2be2ff"},peg$c195="BlueViolet",peg$c196=peg$literalExpectation("BlueViolet",!1),peg$c197="brown",peg$c198=peg$literalExpectation("brown",!1),peg$c199=function(){return"#a52a2aff"},peg$c200="Brown",peg$c201=peg$literalExpectation("Brown",!1),peg$c202="burlywood",peg$c203=peg$literalExpectation("burlywood",!1),peg$c204=function(){return"#deb887ff"},peg$c205="BurlyWood",peg$c206=peg$literalExpectation("BurlyWood",!1),peg$c207="cadetblue",peg$c208=peg$literalExpectation("cadetblue",!1),peg$c209=function(){return"#5f9ea0ff"},peg$c210="CadetBlue",peg$c211=peg$literalExpectation("CadetBlue",!1),peg$c212="chartreuse",peg$c213=peg$literalExpectation("chartreuse",!1),peg$c214=function(){return"#7fff00ff"},peg$c215="Chartreuse",peg$c216=peg$literalExpectation("Chartreuse",!1),peg$c217="chocolate",peg$c218=peg$literalExpectation("chocolate",!1),peg$c219=function(){return"#d2691eff"},peg$c220="Chocolate",peg$c221=peg$literalExpectation("Chocolate",!1),peg$c222="coral",peg$c223=peg$literalExpectation("coral",!1),peg$c224=function(){return"#ff7f50ff"},peg$c225="Coral",peg$c226=peg$literalExpectation("Coral",!1),peg$c227="cornflowerblue",peg$c228=peg$literalExpectation("cornflowerblue",!1),peg$c229=function(){return"#6495edff"},peg$c230="CornflowerBlue",peg$c231=peg$literalExpectation("CornflowerBlue",!1),peg$c232="cornsilk",peg$c233=peg$literalExpectation("cornsilk",!1),peg$c234=function(){return"#fff8dcff"},peg$c235="Cornsilk",peg$c236=peg$literalExpectation("Cornsilk",!1),peg$c237="crimson",peg$c238=peg$literalExpectation("crimson",!1),peg$c239=function(){return"#dc143cff"},peg$c240="Crimson",peg$c241=peg$literalExpectation("Crimson",!1),peg$c242="cyan",peg$c243=peg$literalExpectation("cyan",!1),peg$c244="Cyan",peg$c245=peg$literalExpectation("Cyan",!1),peg$c246="darkblue",peg$c247=peg$literalExpectation("darkblue",!1),peg$c248=function(){return"#00008bff"},peg$c249="DarkBlue",peg$c250=peg$literalExpectation("DarkBlue",!1),peg$c251="darkcyan",peg$c252=peg$literalExpectation("darkcyan",!1),peg$c253=function(){return"#008b8bff"},peg$c254="DarkCyan",peg$c255=peg$literalExpectation("DarkCyan",!1),peg$c256="darkgoldenrod",peg$c257=peg$literalExpectation("darkgoldenrod",!1),peg$c258=function(){return"#b8860bff"},peg$c259="DarkGoldenRod",peg$c260=peg$literalExpectation("DarkGoldenRod",!1),peg$c261="darkgray",peg$c262=peg$literalExpectation("darkgray",!1),peg$c263=function(){return"#a9a9a9ff"},peg$c264="DarkGray",peg$c265=peg$literalExpectation("DarkGray",!1),peg$c266="darkgrey",peg$c267=peg$literalExpectation("darkgrey",!1),peg$c268="DarkGrey",peg$c269=peg$literalExpectation("DarkGrey",!1),peg$c270="darkgreen",peg$c271=peg$literalExpectation("darkgreen",!1),peg$c272=function(){return"#006400ff"},peg$c273="DarkGreen",peg$c274=peg$literalExpectation("DarkGreen",!1),peg$c275="darkkhaki",peg$c276=peg$literalExpectation("darkkhaki",!1),peg$c277=function(){return"#bdb76bff"},peg$c278="DarkKhaki",peg$c279=peg$literalExpectation("DarkKhaki",!1),peg$c280="darkmagenta",peg$c281=peg$literalExpectation("darkmagenta",!1),peg$c282=function(){return"#8b008bff"},peg$c283="DarkMagenta",peg$c284=peg$literalExpectation("DarkMagenta",!1),peg$c285="darkolivegreen",peg$c286=peg$literalExpectation("darkolivegreen",!1),peg$c287=function(){return"#556b2fff"},peg$c288="DarkOliveGreen",peg$c289=peg$literalExpectation("DarkOliveGreen",!1),peg$c290="darkorange",peg$c291=peg$literalExpectation("darkorange",!1),peg$c292=function(){return"#ff8c00ff"},peg$c293="Darkorange",peg$c294=peg$literalExpectation("Darkorange",!1),peg$c295="darkorchid",peg$c296=peg$literalExpectation("darkorchid",!1),peg$c297=function(){return"#9932ccff"},peg$c298="DarkOrchid",peg$c299=peg$literalExpectation("DarkOrchid",!1),peg$c300="darkred",peg$c301=peg$literalExpectation("darkred",!1),peg$c302=function(){return"#8b0000ff"},peg$c303="DarkRed",peg$c304=peg$literalExpectation("DarkRed",!1),peg$c305="darksalmon",peg$c306=peg$literalExpectation("darksalmon",!1),peg$c307=function(){return"#e9967aff"},peg$c308="DarkSalmon",peg$c309=peg$literalExpectation("DarkSalmon",!1),peg$c310="darkseagreen",peg$c311=peg$literalExpectation("darkseagreen",!1),peg$c312=function(){return"#8fbc8fff"},peg$c313="DarkSeaGreen",peg$c314=peg$literalExpectation("DarkSeaGreen",!1),peg$c315="darkslateblue",peg$c316=peg$literalExpectation("darkslateblue",!1),peg$c317=function(){return"#483d8bff"},peg$c318="DarkSlateBlue",peg$c319=peg$literalExpectation("DarkSlateBlue",!1),peg$c320="darkslategray",peg$c321=peg$literalExpectation("darkslategray",!1),peg$c322=function(){return"#2f4f4fff"},peg$c323="DarkSlateGray",peg$c324=peg$literalExpectation("DarkSlateGray",!1),peg$c325="darkslategrey",peg$c326=peg$literalExpectation("darkslategrey",!1),peg$c327="DarkSlateGrey",peg$c328=peg$literalExpectation("DarkSlateGrey",!1),peg$c329="darkturquoise",peg$c330=peg$literalExpectation("darkturquoise",!1),peg$c331=function(){return"#00ced1ff"},peg$c332="DarkTurquoise",peg$c333=peg$literalExpectation("DarkTurquoise",!1),peg$c334="darkviolet",peg$c335=peg$literalExpectation("darkviolet",!1),peg$c336=function(){return"#9400d3ff"},peg$c337="DarkViolet",peg$c338=peg$literalExpectation("DarkViolet",!1),peg$c339="deeppink",peg$c340=peg$literalExpectation("deeppink",!1),peg$c341=function(){return"#ff1493ff"},peg$c342="DeepPink",peg$c343=peg$literalExpectation("DeepPink",!1),peg$c344="deepskyblue",peg$c345=peg$literalExpectation("deepskyblue",!1),peg$c346=function(){return"#00bfffff"},peg$c347="DeepSkyBlue",peg$c348=peg$literalExpectation("DeepSkyBlue",!1),peg$c349="dimgray",peg$c350=peg$literalExpectation("dimgray",!1),peg$c351=function(){return"#696969ff"},peg$c352="DimGray",peg$c353=peg$literalExpectation("DimGray",!1),peg$c354="dimgrey",peg$c355=peg$literalExpectation("dimgrey",!1),peg$c356="DimGrey",peg$c357=peg$literalExpectation("DimGrey",!1),peg$c358="dodgerblue",peg$c359=peg$literalExpectation("dodgerblue",!1),peg$c360=function(){return"#1e90ffff"},peg$c361="DodgerBlue",peg$c362=peg$literalExpectation("DodgerBlue",!1),peg$c363="firebrick",peg$c364=peg$literalExpectation("firebrick",!1),peg$c365=function(){return"#b22222ff"},peg$c366="FireBrick",peg$c367=peg$literalExpectation("FireBrick",!1),peg$c368="floralwhite",peg$c369=peg$literalExpectation("floralwhite",!1),peg$c370=function(){return"#fffaf0ff"},peg$c371="FloralWhite",peg$c372=peg$literalExpectation("FloralWhite",!1),peg$c373="forestgreen",peg$c374=peg$literalExpectation("forestgreen",!1),peg$c375=function(){return"#228b22ff"},peg$c376="ForestGreen",peg$c377=peg$literalExpectation("ForestGreen",!1),peg$c378="fuchsia",peg$c379=peg$literalExpectation("fuchsia",!1),peg$c380=function(){return"#ff00ffff"},peg$c381="Fuchsia",peg$c382=peg$literalExpectation("Fuchsia",!1),peg$c383="gainsboro",peg$c384=peg$literalExpectation("gainsboro",!1),peg$c385=function(){return"#dcdcdcff"},peg$c386="Gainsboro",peg$c387=peg$literalExpectation("Gainsboro",!1),peg$c388="ghostwhite",peg$c389=peg$literalExpectation("ghostwhite",!1),peg$c390=function(){return"#f8f8ffff"},peg$c391="GhostWhite",peg$c392=peg$literalExpectation("GhostWhite",!1),peg$c393="gold",peg$c394=peg$literalExpectation("gold",!1),peg$c395=function(){return"#ffd700ff"},peg$c396="Gold",peg$c397=peg$literalExpectation("Gold",!1),peg$c398="goldenrod",peg$c399=peg$literalExpectation("goldenrod",!1),peg$c400=function(){return"#daa520ff"},peg$c401="GoldenRod",peg$c402=peg$literalExpectation("GoldenRod",!1),peg$c403="gray",peg$c404=peg$literalExpectation("gray",!1),peg$c405=function(){return"#808080ff"},peg$c406="Gray",peg$c407=peg$literalExpectation("Gray",!1),peg$c408="grey",peg$c409=peg$literalExpectation("grey",!1),peg$c410="Grey",peg$c411=peg$literalExpectation("Grey",!1),peg$c412="green",peg$c413=peg$literalExpectation("green",!1),peg$c414=function(){return"#008000ff"},peg$c415="Green",peg$c416=peg$literalExpectation("Green",!1),peg$c417="greenyellow",peg$c418=peg$literalExpectation("greenyellow",!1),peg$c419=function(){return"#adff2fff"},peg$c420="GreenYellow",peg$c421=peg$literalExpectation("GreenYellow",!1),peg$c422="honeydew",peg$c423=peg$literalExpectation("honeydew",!1),peg$c424=function(){return"#f0fff0ff"},peg$c425="HoneyDew",peg$c426=peg$literalExpectation("HoneyDew",!1),peg$c427="hotpink",peg$c428=peg$literalExpectation("hotpink",!1),peg$c429=function(){return"#ff69b4ff"},peg$c430="HotPink",peg$c431=peg$literalExpectation("HotPink",!1),peg$c432="indianred",peg$c433=peg$literalExpectation("indianred",!1),peg$c434=function(){return"#cd5c5cff"},peg$c435="IndianRed",peg$c436=peg$literalExpectation("IndianRed",!1),peg$c437="indigo",peg$c438=peg$literalExpectation("indigo",!1),peg$c439=function(){return"#4b0082ff"},peg$c440="Indigo",peg$c441=peg$literalExpectation("Indigo",!1),peg$c442="ivory",peg$c443=peg$literalExpectation("ivory",!1),peg$c444=function(){return"#fffff0ff"},peg$c445="Ivory",peg$c446=peg$literalExpectation("Ivory",!1),peg$c447="khaki",peg$c448=peg$literalExpectation("khaki",!1),peg$c449=function(){return"#f0e68cff"},peg$c450="Khaki",peg$c451=peg$literalExpectation("Khaki",!1),peg$c452="lavender",peg$c453=peg$literalExpectation("lavender",!1),peg$c454=function(){return"#e6e6faff"},peg$c455="Lavender",peg$c456=peg$literalExpectation("Lavender",!1),peg$c457="lavenderblush",peg$c458=peg$literalExpectation("lavenderblush",!1),peg$c459=function(){return"#fff0f5ff"},peg$c460="LavenderBlush",peg$c461=peg$literalExpectation("LavenderBlush",!1),peg$c462="lawngreen",peg$c463=peg$literalExpectation("lawngreen",!1),peg$c464=function(){return"#7cfc00ff"},peg$c465="LawnGreen",peg$c466=peg$literalExpectation("LawnGreen",!1),peg$c467="lemonchiffon",peg$c468=peg$literalExpectation("lemonchiffon",!1),peg$c469=function(){return"#fffacdff"},peg$c470="LemonChiffon",peg$c471=peg$literalExpectation("LemonChiffon",!1),peg$c472="lightblue",peg$c473=peg$literalExpectation("lightblue",!1),peg$c474=function(){return"#add8e6ff"},peg$c475="LightBlue",peg$c476=peg$literalExpectation("LightBlue",!1),peg$c477="lightcoral",peg$c478=peg$literalExpectation("lightcoral",!1),peg$c479=function(){return"#f08080ff"},peg$c480="LightCoral",peg$c481=peg$literalExpectation("LightCoral",!1),peg$c482="lightcyan",peg$c483=peg$literalExpectation("lightcyan",!1),peg$c484=function(){return"#e0ffffff"},peg$c485="LightCyan",peg$c486=peg$literalExpectation("LightCyan",!1),peg$c487="lightgoldenrodyellow",peg$c488=peg$literalExpectation("lightgoldenrodyellow",!1),peg$c489=function(){return"#fafad2ff"},peg$c490="LightGoldenRodYellow",peg$c491=peg$literalExpectation("LightGoldenRodYellow",!1),peg$c492="lightgray",peg$c493=peg$literalExpectation("lightgray",!1),peg$c494=function(){return"#d3d3d3ff"},peg$c495="LightGray",peg$c496=peg$literalExpectation("LightGray",!1),peg$c497="lightgrey",peg$c498=peg$literalExpectation("lightgrey",!1),peg$c499="LightGrey",peg$c500=peg$literalExpectation("LightGrey",!1),peg$c501="lightgreen",peg$c502=peg$literalExpectation("lightgreen",!1),peg$c503=function(){return"#90ee90ff"},peg$c504="LightGreen",peg$c505=peg$literalExpectation("LightGreen",!1),peg$c506="lightpink",peg$c507=peg$literalExpectation("lightpink",!1),peg$c508=function(){return"#ffb6c1ff"},peg$c509="LightPink",peg$c510=peg$literalExpectation("LightPink",!1),peg$c511="lightsalmon",peg$c512=peg$literalExpectation("lightsalmon",!1),peg$c513=function(){return"#ffa07aff"},peg$c514="LightSalmon",peg$c515=peg$literalExpectation("LightSalmon",!1),peg$c516="lightseagreen",peg$c517=peg$literalExpectation("lightseagreen",!1),peg$c518=function(){return"#20b2aaff"},peg$c519="LightSeaGreen",peg$c520=peg$literalExpectation("LightSeaGreen",!1),peg$c521="lightskyblue",peg$c522=peg$literalExpectation("lightskyblue",!1),peg$c523=function(){return"#87cefaff"},peg$c524="LightSkyBlue",peg$c525=peg$literalExpectation("LightSkyBlue",!1),peg$c526="lightslategray",peg$c527=peg$literalExpectation("lightslategray",!1),peg$c528=function(){return"#778899ff"},peg$c529="LightSlateGray",peg$c530=peg$literalExpectation("LightSlateGray",!1),peg$c531="lightslategrey",peg$c532=peg$literalExpectation("lightslategrey",!1),peg$c533="LightSlateGrey",peg$c534=peg$literalExpectation("LightSlateGrey",!1),peg$c535="lightsteelblue",peg$c536=peg$literalExpectation("lightsteelblue",!1),peg$c537=function(){return"#b0c4deff"},peg$c538="LightSteelBlue",peg$c539=peg$literalExpectation("LightSteelBlue",!1),peg$c540="lightyellow",peg$c541=peg$literalExpectation("lightyellow",!1),peg$c542=function(){return"#ffffe0ff"},peg$c543="LightYellow",peg$c544=peg$literalExpectation("LightYellow",!1),peg$c545="lime",peg$c546=peg$literalExpectation("lime",!1),peg$c547=function(){return"#00ff00ff"},peg$c548="Lime",peg$c549=peg$literalExpectation("Lime",!1),peg$c550="limegreen",peg$c551=peg$literalExpectation("limegreen",!1),peg$c552=function(){return"#32cd32ff"},peg$c553="LimeGreen",peg$c554=peg$literalExpectation("LimeGreen",!1),peg$c555="linen",peg$c556=peg$literalExpectation("linen",!1),peg$c557=function(){return"#faf0e6ff"},peg$c558="Linen",peg$c559=peg$literalExpectation("Linen",!1),peg$c560="magenta",peg$c561=peg$literalExpectation("magenta",!1),peg$c562="Magenta",peg$c563=peg$literalExpectation("Magenta",!1),peg$c564="maroon",peg$c565=peg$literalExpectation("maroon",!1),peg$c566=function(){return"#800000ff"},peg$c567="Maroon",peg$c568=peg$literalExpectation("Maroon",!1),peg$c569="mediumaquamarine",peg$c570=peg$literalExpectation("mediumaquamarine",!1),peg$c571=function(){return"#66cdaaff"},peg$c572="MediumAquaMarine",peg$c573=peg$literalExpectation("MediumAquaMarine",!1),peg$c574="mediumblue",peg$c575=peg$literalExpectation("mediumblue",!1),peg$c576=function(){return"#0000cdff"},peg$c577="MediumBlue",peg$c578=peg$literalExpectation("MediumBlue",!1),peg$c579="mediumorchid",peg$c580=peg$literalExpectation("mediumorchid",!1),peg$c581=function(){return"#ba55d3ff"},peg$c582="MediumOrchid",peg$c583=peg$literalExpectation("MediumOrchid",!1),peg$c584="mediumpurple",peg$c585=peg$literalExpectation("mediumpurple",!1),peg$c586=function(){return"#9370d8ff"},peg$c587="MediumPurple",peg$c588=peg$literalExpectation("MediumPurple",!1),peg$c589="mediumseagreen",peg$c590=peg$literalExpectation("mediumseagreen",!1),peg$c591=function(){return"#3cb371ff"},peg$c592="MediumSeaGreen",peg$c593=peg$literalExpectation("MediumSeaGreen",!1),peg$c594="mediumslateblue",peg$c595=peg$literalExpectation("mediumslateblue",!1),peg$c596=function(){return"#7b68eeff"},peg$c597="MediumSlateBlue",peg$c598=peg$literalExpectation("MediumSlateBlue",!1),peg$c599="mediumspringgreen",peg$c600=peg$literalExpectation("mediumspringgreen",!1),peg$c601=function(){return"#00fa9aff"},peg$c602="MediumSpringGreen",peg$c603=peg$literalExpectation("MediumSpringGreen",!1),peg$c604="mediumturquoise",peg$c605=peg$literalExpectation("mediumturquoise",!1),peg$c606=function(){return"#48d1ccff"},peg$c607="MediumTurquoise",peg$c608=peg$literalExpectation("MediumTurquoise",!1),peg$c609="mediumvioletred",peg$c610=peg$literalExpectation("mediumvioletred",!1),peg$c611=function(){return"#c71585ff"},peg$c612="MediumVioletRed",peg$c613=peg$literalExpectation("MediumVioletRed",!1),peg$c614="midnightblue",peg$c615=peg$literalExpectation("midnightblue",!1),peg$c616=function(){return"#191970ff"},peg$c617="MidnightBlue",peg$c618=peg$literalExpectation("MidnightBlue",!1),peg$c619="mintcream",peg$c620=peg$literalExpectation("mintcream",!1),peg$c621=function(){return"#f5fffaff"},peg$c622="MintCream",peg$c623=peg$literalExpectation("MintCream",!1),peg$c624="mistyrose",peg$c625=peg$literalExpectation("mistyrose",!1),peg$c626=function(){return"#ffe4e1ff"},peg$c627="MistyRose",peg$c628=peg$literalExpectation("MistyRose",!1),peg$c629="moccasin",peg$c630=peg$literalExpectation("moccasin",!1),peg$c631=function(){return"#ffe4b5ff"},peg$c632="Moccasin",peg$c633=peg$literalExpectation("Moccasin",!1),peg$c634="navajowhite",peg$c635=peg$literalExpectation("navajowhite",!1),peg$c636=function(){return"#ffdeadff"},peg$c637="NavajoWhite",peg$c638=peg$literalExpectation("NavajoWhite",!1),peg$c639="navy",peg$c640=peg$literalExpectation("navy",!1),peg$c641=function(){return"#000080ff"},peg$c642="Navy",peg$c643=peg$literalExpectation("Navy",!1),peg$c644="oldlace",peg$c645=peg$literalExpectation("oldlace",!1),peg$c646=function(){return"#fdf5e6ff"},peg$c647="OldLace",peg$c648=peg$literalExpectation("OldLace",!1),peg$c649="olive",peg$c650=peg$literalExpectation("olive",!1),peg$c651=function(){return"#808000ff"},peg$c652="Olive",peg$c653=peg$literalExpectation("Olive",!1),peg$c654="olivedrab",peg$c655=peg$literalExpectation("olivedrab",!1),peg$c656=function(){return"#6b8e23ff"},peg$c657="OliveDrab",peg$c658=peg$literalExpectation("OliveDrab",!1),peg$c659="orange",peg$c660=peg$literalExpectation("orange",!1),peg$c661=function(){return"#ffa500ff"},peg$c662="Orange",peg$c663=peg$literalExpectation("Orange",!1),peg$c664="orangered",peg$c665=peg$literalExpectation("orangered",!1),peg$c666=function(){return"#ff4500ff"},peg$c667="OrangeRed",peg$c668=peg$literalExpectation("OrangeRed",!1),peg$c669="orchid",peg$c670=peg$literalExpectation("orchid",!1),peg$c671=function(){return"#da70d6ff"},peg$c672="Orchid",peg$c673=peg$literalExpectation("Orchid",!1),peg$c674="palegoldenrod",peg$c675=peg$literalExpectation("palegoldenrod",!1),peg$c676=function(){return"#eee8aaff"},peg$c677="PaleGoldenRod",peg$c678=peg$literalExpectation("PaleGoldenRod",!1),peg$c679="palegreen",peg$c680=peg$literalExpectation("palegreen",!1),peg$c681=function(){return"#98fb98ff"},peg$c682="PaleGreen",peg$c683=peg$literalExpectation("PaleGreen",!1),peg$c684="paleturquoise",peg$c685=peg$literalExpectation("paleturquoise",!1),peg$c686=function(){return"#afeeeeff"},peg$c687="PaleTurquoise",peg$c688=peg$literalExpectation("PaleTurquoise",!1),peg$c689="palevioletred",peg$c690=peg$literalExpectation("palevioletred",!1),peg$c691=function(){return"#d87093ff"},peg$c692="PaleVioletRed",peg$c693=peg$literalExpectation("PaleVioletRed",!1),peg$c694="papayawhip",peg$c695=peg$literalExpectation("papayawhip",!1),peg$c696=function(){return"#ffefd5ff"},peg$c697="PapayaWhip",peg$c698=peg$literalExpectation("PapayaWhip",!1),peg$c699="peachpuff",peg$c700=peg$literalExpectation("peachpuff",!1),peg$c701=function(){return"#ffdab9ff"},peg$c702="PeachPuff",peg$c703=peg$literalExpectation("PeachPuff",!1),peg$c704="peru",peg$c705=peg$literalExpectation("peru",!1),peg$c706=function(){return"#cd853fff"},peg$c707="Peru",peg$c708=peg$literalExpectation("Peru",!1),peg$c709="pink",peg$c710=peg$literalExpectation("pink",!1),peg$c711=function(){return"#ffc0cbff"},peg$c712="Pink",peg$c713=peg$literalExpectation("Pink",!1),peg$c714="plum",peg$c715=peg$literalExpectation("plum",!1),peg$c716=function(){return"#dda0ddff"},peg$c717="Plum",peg$c718=peg$literalExpectation("Plum",!1),peg$c719="powderblue",peg$c720=peg$literalExpectation("powderblue",!1),peg$c721=function(){return"#b0e0e6ff"},peg$c722="PowderBlue",peg$c723=peg$literalExpectation("PowderBlue",!1),peg$c724="purple",peg$c725=peg$literalExpectation("purple",!1),peg$c726=function(){return"#800080ff"},peg$c727="Purple",peg$c728=peg$literalExpectation("Purple",!1),peg$c729="red",peg$c730=peg$literalExpectation("red",!1),peg$c731=function(){return"#ff0000ff"},peg$c732="Red",peg$c733=peg$literalExpectation("Red",!1),peg$c734="rosybrown",peg$c735=peg$literalExpectation("rosybrown",!1),peg$c736=function(){return"#bc8f8fff"},peg$c737="RosyBrown",peg$c738=peg$literalExpectation("RosyBrown",!1),peg$c739="royalblue",peg$c740=peg$literalExpectation("royalblue",!1),peg$c741=function(){return"#4169e1ff"},peg$c742="RoyalBlue",peg$c743=peg$literalExpectation("RoyalBlue",!1),peg$c744="saddlebrown",peg$c745=peg$literalExpectation("saddlebrown",!1),peg$c746=function(){return"#8b4513ff"},peg$c747="SaddleBrown",peg$c748=peg$literalExpectation("SaddleBrown",!1),peg$c749="salmon",peg$c750=peg$literalExpectation("salmon",!1),peg$c751=function(){return"#fa8072ff"},peg$c752="Salmon",peg$c753=peg$literalExpectation("Salmon",!1),peg$c754="sandybrown",peg$c755=peg$literalExpectation("sandybrown",!1),peg$c756=function(){return"#f4a460ff"},peg$c757="SandyBrown",peg$c758=peg$literalExpectation("SandyBrown",!1),peg$c759="seagreen",peg$c760=peg$literalExpectation("seagreen",!1),peg$c761=function(){return"#2e8b57ff"},peg$c762="SeaGreen",peg$c763=peg$literalExpectation("SeaGreen",!1),peg$c764="seashell",peg$c765=peg$literalExpectation("seashell",!1),peg$c766=function(){return"#fff5eeff"},peg$c767="SeaShell",peg$c768=peg$literalExpectation("SeaShell",!1),peg$c769="sienna",peg$c770=peg$literalExpectation("sienna",!1),peg$c771=function(){return"#a0522dff"},peg$c772="Sienna",peg$c773=peg$literalExpectation("Sienna",!1),peg$c774="silver",peg$c775=peg$literalExpectation("silver",!1),peg$c776=function(){return"#c0c0c0ff"},peg$c777="Silver",peg$c778=peg$literalExpectation("Silver",!1),peg$c779="skyblue",peg$c780=peg$literalExpectation("skyblue",!1),peg$c781=function(){return"#87ceebff"},peg$c782="SkyBlue",peg$c783=peg$literalExpectation("SkyBlue",!1),peg$c784="slateblue",peg$c785=peg$literalExpectation("slateblue",!1),peg$c786=function(){return"#6a5acdff"},peg$c787="SlateBlue",peg$c788=peg$literalExpectation("SlateBlue",!1),peg$c789="slategray",peg$c790=peg$literalExpectation("slategray",!1),peg$c791=function(){return"#708090ff"},peg$c792="SlateGray",peg$c793=peg$literalExpectation("SlateGray",!1),peg$c794="slategrey",peg$c795=peg$literalExpectation("slategrey",!1),peg$c796="SlateGrey",peg$c797=peg$literalExpectation("SlateGrey",!1),peg$c798="snow",peg$c799=peg$literalExpectation("snow",!1),peg$c800=function(){return"#fffafaff"},peg$c801="Snow",peg$c802=peg$literalExpectation("Snow",!1),peg$c803="springgreen",peg$c804=peg$literalExpectation("springgreen",!1),peg$c805=function(){return"#00ff7fff"},peg$c806="SpringGreen",peg$c807=peg$literalExpectation("SpringGreen",!1),peg$c808="steelblue",peg$c809=peg$literalExpectation("steelblue",!1),peg$c810=function(){return"#4682b4ff"},peg$c811="SteelBlue",peg$c812=peg$literalExpectation("SteelBlue",!1),peg$c813="tan",peg$c814=peg$literalExpectation("tan",!1),peg$c815=function(){return"#d2b48cff"},peg$c816="Tan",peg$c817=peg$literalExpectation("Tan",!1),peg$c818="teal",peg$c819=peg$literalExpectation("teal",!1),peg$c820=function(){return"#008080ff"},peg$c821="Teal",peg$c822=peg$literalExpectation("Teal",!1),peg$c823="thistle",peg$c824=peg$literalExpectation("thistle",!1),peg$c825=function(){return"#d8bfd8ff"},peg$c826="Thistle",peg$c827=peg$literalExpectation("Thistle",!1),peg$c828="tomato",peg$c829=peg$literalExpectation("tomato",!1),peg$c830=function(){return"#ff6347ff"},peg$c831="Tomato",peg$c832=peg$literalExpectation("Tomato",!1),peg$c833="turquoise",peg$c834=peg$literalExpectation("turquoise",!1),peg$c835=function(){return"#40e0d0ff"},peg$c836="Turquoise",peg$c837=peg$literalExpectation("Turquoise",!1),peg$c838="violet",peg$c839=peg$literalExpectation("violet",!1),peg$c840=function(){return"#ee82eeff"},peg$c841="Violet",peg$c842=peg$literalExpectation("Violet",!1),peg$c843="wheat",peg$c844=peg$literalExpectation("wheat",!1),peg$c845=function(){return"#f5deb3ff"},peg$c846="Wheat",peg$c847=peg$literalExpectation("Wheat",!1),peg$c848="white",peg$c849=peg$literalExpectation("white",!1),peg$c850=function(){return"#ffffffff"},peg$c851="White",peg$c852=peg$literalExpectation("White",!1),peg$c853="whitesmoke",peg$c854=peg$literalExpectation("whitesmoke",!1),peg$c855=function(){return"#f5f5f5ff"},peg$c856="WhiteSmoke",peg$c857=peg$literalExpectation("WhiteSmoke",!1),peg$c858="yellow",peg$c859=peg$literalExpectation("yellow",!1),peg$c860=function(){return"#ffff00ff"},peg$c861="Yellow",peg$c862=peg$literalExpectation("Yellow",!1),peg$c863="yellowgreen",peg$c864=peg$literalExpectation("yellowgreen",!1),peg$c865=function(){return"#9acd32ff"},peg$c866="YellowGreen",peg$c867=peg$literalExpectation("YellowGreen",!1),peg$c868="#",peg$c869=peg$literalExpectation("#",!1),peg$c870=function(r,g,b){return""+r+r+g+g+b+b+"ff"},peg$c871=function(r1,r2,g1,g2,b1,b2){return""+r1+r2+g1+g2+b1+b2+"ff"},peg$c872=function(r,g,b,a){return""+r+r+g+g+b+b+a+a},peg$c873=function(r1,r2,g1,g2,b1,b2,a1,a2){return""+r1+r2+g1+g2+b1+b2+a1+a2},peg$c874=peg$otherExpectation("color"),peg$c875="arc_label",peg$c876=peg$literalExpectation("arc_label",!1),peg$c877="head_label",peg$c878=peg$literalExpectation("head_label",!1),peg$c879="tail_label",peg$c880=peg$literalExpectation("tail_label",!1),peg$c881=":",peg$c882=peg$literalExpectation(":",!1),peg$c883=";",peg$c884=peg$literalExpectation(";",!1),peg$c885=function(key,value){return{key:key,value:value}},peg$c886=peg$otherExpectation("single edge color"),peg$c887="edge_color",peg$c888=peg$literalExpectation("edge_color",!1),peg$c889=function(value){return{key:"single_edge_color",value:value}},peg$c890="{",peg$c891=peg$literalExpectation("{",!1),peg$c892="}",peg$c893=peg$literalExpectation("}",!1),peg$c894=function(items){return items},peg$c895="%",peg$c896=peg$literalExpectation("%",!1),peg$c897=function(value){return{key:"arrow probability",value:value}},peg$c898="[",peg$c899=peg$literalExpectation("[",!1),peg$c900="]",peg$c901=peg$literalExpectation("]",!1),peg$c902=function(names){return names.map(function(i){return i[0]})},peg$c903=function(r_action,r_prob,l_desc,arrow,r_desc,l_prob,l_action,label,tail){var base={kind:arrow,to:label};return tail&&tail!==[]&&(base.se=tail),l_desc&&(base.l_desc=l_desc),r_desc&&(base.r_desc=r_desc),l_action&&(base.l_action=l_action),r_action&&(base.r_action=r_action),l_prob&&(base.l_probability=l_prob.value),r_prob&&(base.r_probability=r_prob.value),base},peg$c904=function(label,se){var base={key:"transition",from:label};return se&&se!==[]&&(base.se=se),base},peg$c905="whargarbl",peg$c906=peg$literalExpectation("whargarbl",!1),peg$c907="todo",peg$c908=peg$literalExpectation("todo",!1),peg$c909=function(validationkey,value){return{key:validationkey,value:value}},peg$c910="validation",peg$c911=peg$literalExpectation("validation",!1),peg$c912="};",peg$c913=peg$literalExpectation("};",!1),peg$c914=function(validation_items){return{config_kind:"validation",config_items:validation_items||[]}},peg$c915="dot",peg$c916=peg$literalExpectation("dot",!1),peg$c917="circo",peg$c918=peg$literalExpectation("circo",!1),peg$c919="fdp",peg$c920=peg$literalExpectation("fdp",!1),peg$c921="neato",peg$c922=peg$literalExpectation("neato",!1),peg$c923="in_shape",peg$c924=peg$literalExpectation("in_shape",!1),peg$c925="out_shape",peg$c926=peg$literalExpectation("out_shape",!1),peg$c927="node_shape",peg$c928=peg$literalExpectation("node_shape",!1),peg$c929="state",peg$c930=peg$literalExpectation("state",!1),peg$c931=function(state_items){return{config_kind:"state",config_items:state_items||[]}},peg$c932=function(actionkey,value){return{key:actionkey,value:value}},peg$c933="action",peg$c934=peg$literalExpectation("action",!1),peg$c935=function(action_items){return{config_kind:"action",config_items:action_items||[]}},peg$c936=function(transitionkey,value){return{key:transitionkey,value:value}},peg$c937=peg$otherExpectation("graph default edge color"),peg$c938=function(value){return{key:"graph_default_edge_color",value:value}},peg$c939="transition",peg$c940=peg$literalExpectation("transition",!1),peg$c941=function(transition_items){return{config_kind:"transition",config_items:transition_items||[]}},peg$c942="graph_layout",peg$c943=peg$literalExpectation("graph_layout",!1),peg$c944=function(value){return{key:"graph_layout",value:value}},peg$c945="start_states",peg$c946=peg$literalExpectation("start_states",!1),peg$c947=function(value){return{key:"start_states",value:value}},peg$c948="end_states",peg$c949=peg$literalExpectation("end_states",!1),peg$c950=function(value){return{key:"end_states",value:value}},peg$c951="graph_bg_color",peg$c952=peg$literalExpectation("graph_bg_color",!1),peg$c953=function(value){return{key:"graph_bg_color",value:value}},peg$c954=peg$otherExpectation("configuration"),peg$c955="MIT",peg$c956=peg$literalExpectation("MIT",!1),peg$c957="BSD 2-clause",peg$c958=peg$literalExpectation("BSD 2-clause",!1),peg$c959="BSD 3-clause",peg$c960=peg$literalExpectation("BSD 3-clause",!1),peg$c961="Apache 2.0",peg$c962=peg$literalExpectation("Apache 2.0",!1),peg$c963="Mozilla 2.0",peg$c964=peg$literalExpectation("Mozilla 2.0",!1),peg$c965="Public domain",peg$c966=peg$literalExpectation("Public domain",!1),peg$c967="GPL v2",peg$c968=peg$literalExpectation("GPL v2",!1),peg$c969="GPL v3",peg$c970=peg$literalExpectation("GPL v3",!1),peg$c971="LGPL v2.1",peg$c972=peg$literalExpectation("LGPL v2.1",!1),peg$c973="LGPL v3.0",peg$c974=peg$literalExpectation("LGPL v3.0",!1),peg$c975="color",peg$c976=peg$literalExpectation("color",!1),peg$c977=function(value){return{key:"state color",value:value}},peg$c978=peg$otherExpectation("state quality"),peg$c979=function(name,value){return{key:"state quality",name:name,value:value}},peg$c980=peg$otherExpectation("state definition"),peg$c981=function(name,sq){return{key:"State qualities",value:sq}},peg$c982="machine_author",peg$c983=peg$literalExpectation("machine_author",!1),peg$c984=function(author){return{key:"machine_author",value:author}},peg$c985="machine_contributor",peg$c986=peg$literalExpectation("machine_contributor",!1),peg$c987=function(contributor){return{key:"machine_contributor",value:contributor}},peg$c988="machine_comment",peg$c989=peg$literalExpectation("machine_comment",!1),peg$c990=function(comment){return{key:"machine_comment",value:comment}},peg$c991="machine_definition",peg$c992=peg$literalExpectation("machine_definition",!1),peg$c993=function(definition){return{key:"machine_definition",value:definition}},peg$c994="machine_name",peg$c995=peg$literalExpectation("machine_name",!1),peg$c996=function(name){return{key:"machine_name",value:name}},peg$c1000=(peg$literalExpectation("machine_reference",!1),"machine_version"),peg$c1001=peg$literalExpectation("machine_version",!1),peg$c1002=function(version){return{key:"machine_version",value:version}},peg$c1003="machine_license",peg$c1004=peg$literalExpectation("machine_license",!1),peg$c1005=function(license){return{key:"machine_license",value:license}},peg$c1006="fsl_version",peg$c1007=peg$literalExpectation("fsl_version",!1),peg$c1008=function(fsl_version){return{key:"fsl_version",value:fsl_version}},peg$c1009="group",peg$c1010=peg$literalExpectation("group",!1),peg$c1011=function(name,nl){return{key:"group definition",value:{name:name,list:nl}}},peg$currPos=0,peg$savedPos=0,peg$posDetailsCache=[{line:1,column:1}],peg$maxFailPos=0,peg$maxFailExpected=[],peg$silentFails=0;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]}if((peg$result=peg$startRuleFunction())!==peg$FAILED&&peg$currPos===input.length)return peg$result;throw peg$result!==peg$FAILED&&peg$currPos1&&void 0!==arguments[1]?arguments[1]:"probability";if(!Array.isArray(options))throw new TypeError("options must be a non-empty array of objects");if("object"!==_typeof(options[0]))throw new TypeError("options must be a non-empty array of objects");for(var or_one=function(item){return void 0===item?1:item},rnd=function(cap){return Math.random()*cap}(options.reduce(function(acc,val){return acc+or_one(val[probability_property])},0)),cursor=0,cursor_sum=0;(cursor_sum+=or_one(options[cursor++][probability_property]))<=rnd;);return options[cursor-1]},seq=function(n){return new Array(n).fill(!0).map(function(_,i){return i})},histograph=function(a){return a.sort().reduce(function(m,v){return m.set(v,m.has(v)?m.get(v)+1:1),m},new Map)},weighted_sample_select=function(n,options,probability_property){return seq(n).map(function(i){return weighted_rand_select(options,probability_property)})};exports.seq=seq,exports.histograph=histograph,exports.weighted_histo_key=function(n,options,probability_property,extract){return histograph(weighted_sample_select(n,options,probability_property).map(function(s){return s[extract]}))},exports.weighted_rand_select=weighted_rand_select,exports.weighted_sample_select=weighted_sample_select},{}],jssm:[function(require,module,exports){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i":case"=>":case"~>":return"none";case"<-":case"<->":case"<-=>":case"<-~>":return"legal";case"<=":case"<=>":case"<=->":case"<=~>":return"main";case"<~":case"<~>":case"<~->":case"<~=>":return"forced";default:throw new Error("arrow_direction: unknown arrow type "+arrow)}}function arrow_right_kind(arrow){switch(String(arrow)){case"<-":case"<=":case"<~":return"none";case"->":case"<->":case"<=->":case"<~->":return"legal";case"=>":case"<=>":case"<-=>":case"<~=>":return"main";case"~>":case"<~>":case"<-~>":case"<=~>":return"forced";default:throw new Error("arrow_direction: unknown arrow type "+arrow)}}function compile_rule_transition_step(acc,from,to,this_se,next_se){var edges=[],uFrom=Array.isArray(from)?from:[from],uTo=Array.isArray(to)?to:[to];uFrom.map(function(f){uTo.map(function(t){var rk=arrow_right_kind(this_se.kind),lk=arrow_left_kind(this_se.kind),right={from:f,to:t,kind:rk,forced_only:"forced"===rk,main_path:"main"===rk};this_se.r_action&&(right.action=this_se.r_action),this_se.r_probability&&(right.probability=this_se.r_probability),"none"!==right.kind&&edges.push(right);var left={from:t,to:f,kind:lk,forced_only:"forced"===lk,main_path:"main"===lk};this_se.l_action&&(left.action=this_se.l_action),this_se.l_probability&&(left.probability=this_se.l_probability),"none"!==left.kind&&edges.push(left)})});var new_acc=acc.concat(edges);return next_se?compile_rule_transition_step(new_acc,to,next_se.to,next_se,next_se.se):new_acc}function compile_rule_handle_transition(rule){return compile_rule_transition_step([],rule.from,rule.se.to,rule.se,rule.se.se)}function compile_rule_handler(rule){if("transition"===rule.key)return{agg_as:"transition",val:compile_rule_handle_transition(rule)};if(["graph_layout","start_states","end_states","machine_name","machine_version","machine_comment","machine_author","machine_contributor","machine_definition","machine_reference","machine_license","fsl_version"].includes(rule.key))return{agg_as:rule.key,val:rule.value};throw new Error("compile_rule_handler: Unknown rule: "+JSON.stringify(rule))}function compile(tree){var _ref,results={graph_layout:[],transition:[],start_states:[],end_states:[],fsl_version:[],machine_author:[],machine_comment:[],machine_contributor:[],machine_definition:[],machine_license:[],machine_name:[],machine_version:[]};tree.map(function(tr){var rule=compile_rule_handler(tr),agg_as=rule.agg_as,val=rule.val;results[agg_as]=results[agg_as].concat(val)});var assembled_transitions=(_ref=[]).concat.apply(_ref,_toConsumableArray(results.transition)),result_cfg={start_states:results.start_states.length?results.start_states:[assembled_transitions[0].from],transitions:assembled_transitions};return["graph_layout","machine_name","machine_version","machine_comment","fsl_version","machine_license"].map(function(oneOnlyKey){if(results[oneOnlyKey].length>1)throw new Error("May only have one "+oneOnlyKey+" statement maximum: "+JSON.stringify(results[oneOnlyKey]));results[oneOnlyKey].length&&(result_cfg[oneOnlyKey]=results[oneOnlyKey][0])}),["machine_author"].map(function(multiKey){results[multiKey].length&&(result_cfg[multiKey]=results[multiKey])}),result_cfg}function make(plan){return compile(parse(plan))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.weighted_histo_key=exports.weighted_sample_select=exports.histograph=exports.weighted_rand_select=exports.seq=exports.arrow_right_kind=exports.arrow_left_kind=exports.arrow_direction=exports.sm=exports.compile=exports.parse=exports.make=exports.Machine=exports.version=void 0;var _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:this.state();return{entrances:this.list_entrances(whichState),exits:this.list_exits(whichState)}}},{key:"list_entrances",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return(this._states.get(whichState)||{}).from||[]}},{key:"list_exits",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return(this._states.get(whichState)||{}).to||[]}},{key:"probable_exits_for",value:function(whichState){var _this2=this,wstate=this._states.get(whichState);if(!wstate)throw new Error("No such state "+JSON.stringify(whichState)+" in probable_exits_for");return wstate.to.map(function(ws){return _this2.lookup_transition_for(_this2.state(),ws)}).filter(Boolean)}},{key:"probabilistic_transition",value:function(){var selected=(0,_jssmUtil.weighted_rand_select)(this.probable_exits_for(this.state()));return this.transition(selected.to)}},{key:"probabilistic_walk",value:function(n){var _this3=this;return(0,_jssmUtil.seq)(n).map(function(){var state_was=_this3.state();return _this3.probabilistic_transition(),state_was}).concat([this.state()])}},{key:"probabilistic_histo_walk",value:function(n){return(0,_jssmUtil.histograph)(this.probabilistic_walk(n))}},{key:"actions",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state(),wstate=this._reverse_actions.get(whichState);if(wstate)return[].concat(_toConsumableArray(wstate.keys()));throw new Error("No such state "+JSON.stringify(whichState))}},{key:"list_states_having_action",value:function(whichState){var wstate=this._actions.get(whichState);if(wstate)return[].concat(_toConsumableArray(wstate.keys()));throw new Error("No such state "+JSON.stringify(whichState))}},{key:"list_exit_actions",value:function(){var _this4=this,whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state(),ra_base=this._reverse_actions.get(whichState);if(!ra_base)throw new Error("No such state "+JSON.stringify(whichState));return[].concat(_toConsumableArray(ra_base.values())).map(function(edgeId){return _this4._edges[edgeId]}).filter(function(o){return o.from===whichState}).map(function(filtered){return filtered.action})}},{key:"probable_action_exits",value:function(){var _this5=this,whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state(),ra_base=this._reverse_actions.get(whichState);if(!ra_base)throw new Error("No such state "+JSON.stringify(whichState));return[].concat(_toConsumableArray(ra_base.values())).map(function(edgeId){return _this5._edges[edgeId]}).filter(function(o){return o.from===whichState}).map(function(filtered){return{action:filtered.action,probability:filtered.probability}})}},{key:"is_unenterable",value:function(whichState){return 0===this.list_entrances(whichState).length}},{key:"has_unenterables",value:function(){var _this6=this;return this.states().some(function(x){return _this6.is_unenterable(x)})}},{key:"is_terminal",value:function(){return this.state_is_terminal(this.state())}},{key:"state_is_terminal",value:function(whichState){return 0===this.list_exits(whichState).length}},{key:"has_terminals",value:function(){var _this7=this;return this.states().some(function(x){return _this7.state_is_terminal(x)})}},{key:"is_complete",value:function(){return this.state_is_complete(this.state())}},{key:"state_is_complete",value:function(whichState){var wstate=this._states.get(whichState);if(wstate)return wstate.complete;throw new Error("No such state "+JSON.stringify(whichState))}},{key:"has_completes",value:function(){var _this8=this;return this.states().some(function(x){return _this8.state_is_complete(x)})}},{key:"action",value:function(name,newData){if(this.valid_action(name,newData)){var edge=this.current_action_edge_for(name);return this._state=edge.to,!0}return!1}},{key:"transition",value:function(newState,newData){return!!this.valid_transition(newState,newData)&&(this._state=newState,!0)}},{key:"force_transition",value:function(newState,newData){return!!this.valid_force_transition(newState,newData)&&(this._state=newState,!0)}},{key:"current_action_for",value:function(action){var action_base=this._actions.get(action);return action_base?action_base.get(this.state()):void 0}},{key:"current_action_edge_for",value:function(action){var idx=this.current_action_for(action);if(void 0===idx||null===idx)throw new Error("No such action "+JSON.stringify(action));return this._edges[idx]}},{key:"valid_action",value:function(action,_newData){return void 0!==this.current_action_for(action)}},{key:"valid_transition",value:function(newState,_newData){var transition_for=this.lookup_transition_for(this.state(),newState);return!!transition_for&&!transition_for.forced_only}},{key:"valid_force_transition",value:function(newState,_newData){return void 0!==this.lookup_transition_for(this.state(),newState)}}]),Machine}();exports.version="5.6.0",exports.Machine=Machine,exports.make=make,exports.parse=parse,exports.compile=compile,exports.sm=function(template_strings){var _arguments=arguments;return new Machine(make(template_strings.reduce(function(acc,val,idx){return""+acc+_arguments[idx]+val})))},exports.arrow_direction=function(arrow){switch(String(arrow)){case"->":case"=>":case"~>":return"right";case"<-":case"<=":case"<~":return"left";case"<->":case"<-=>":case"<-~>":case"<=>":case"<=->":case"<=~>":case"<~>":case"<~->":case"<~=>":return"both";default:throw new Error("arrow_direction: unknown arrow type "+arrow)}},exports.arrow_left_kind=arrow_left_kind,exports.arrow_right_kind=arrow_right_kind,exports.seq=_jssmUtil.seq,exports.weighted_rand_select=_jssmUtil.weighted_rand_select,exports.histograph=_jssmUtil.histograph,exports.weighted_sample_select=_jssmUtil.weighted_sample_select,exports.weighted_histo_key=_jssmUtil.weighted_histo_key},{"./jssm-dot.js":1,"./jssm-util.js":2}]},{},[]); \ No newline at end of file +require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n||e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o0){for(i=1,j=1;ipeg$maxFailPos&&(peg$maxFailPos=peg$currPos,peg$maxFailExpected=[]),peg$maxFailExpected.push(expected))}function peg$buildStructuredError(expected,found,location){return new peg$SyntaxError(peg$SyntaxError.buildMessage(expected,found),expected,found,location)}function peg$parseDocument(){var s0,s1,s2,s3;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED&&(s2=peg$parseTermList())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c0(s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseGvizShape(){var s0;return input.substr(peg$currPos,6)===peg$c1?(s0=peg$c1,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c2)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c3?(s0=peg$c3,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c4)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c5?(s0=peg$c5,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c6)))),s0}function peg$parseForwardLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c8?(s0=peg$c8,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c9)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c7),s0}function peg$parseTwoWayLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c11?(s0=peg$c11,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c12)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c10),s0}function peg$parseBackLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c14?(s0=peg$c14,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c15)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c13),s0}function peg$parseForwardFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c17?(s0=peg$c17,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c18)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c16),s0}function peg$parseTwoWayFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c20?(s0=peg$c20,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c21)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c19),s0}function peg$parseBackFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c23?(s0=peg$c23,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c24)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c22),s0}function peg$parseForwardTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c26?(s0=peg$c26,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c27)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c25),s0}function peg$parseTwoWayTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c29?(s0=peg$c29,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c30)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c28),s0}function peg$parseBackTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c32?(s0=peg$c32,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c33)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c31),s0}function peg$parseLightFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c35?(s0=peg$c35,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c36)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c34),s0}function peg$parseLightTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c38?(s0=peg$c38,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c39)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c37),s0}function peg$parseFatLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c41?(s0=peg$c41,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c42)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c40),s0}function peg$parseFatTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c44?(s0=peg$c44,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c45)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c43),s0}function peg$parseTildeLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c47?(s0=peg$c47,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c48)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c46),s0}function peg$parseTildeFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c50?(s0=peg$c50,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c51)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c49),s0}function peg$parseLightArrow(){var s0;return peg$silentFails++,(s0=peg$parseForwardLightArrow())===peg$FAILED&&(s0=peg$parseTwoWayLightArrow())===peg$FAILED&&(s0=peg$parseBackLightArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c52),s0}function peg$parseFatArrow(){var s0;return peg$silentFails++,(s0=peg$parseForwardFatArrow())===peg$FAILED&&(s0=peg$parseTwoWayFatArrow())===peg$FAILED&&(s0=peg$parseBackFatArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c53),s0}function peg$parseTildeArrow(){var s0;return peg$silentFails++,(s0=peg$parseForwardTildeArrow())===peg$FAILED&&(s0=peg$parseTwoWayTildeArrow())===peg$FAILED&&(s0=peg$parseBackTildeArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c54),s0}function peg$parseMixedArrow(){var s0;return peg$silentFails++,(s0=peg$parseLightFatArrow())===peg$FAILED&&(s0=peg$parseLightTildeArrow())===peg$FAILED&&(s0=peg$parseFatLightArrow())===peg$FAILED&&(s0=peg$parseFatTildeArrow())===peg$FAILED&&(s0=peg$parseTildeLightArrow())===peg$FAILED&&(s0=peg$parseTildeFatArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c55),s0}function peg$parseArrow(){var s0;return peg$silentFails++,(s0=peg$parseMixedArrow())===peg$FAILED&&(s0=peg$parseLightArrow())===peg$FAILED&&(s0=peg$parseFatArrow())===peg$FAILED&&(s0=peg$parseTildeArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c56),s0}function peg$parseHexDigit(){var s0;return peg$c57.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c58)),s0}function peg$parseChar(){var s0,s2,s3,s4,s5,s6,s7,s8,s9;return(s0=peg$parseUnescaped())===peg$FAILED&&(s0=peg$currPos,peg$parseEscape()!==peg$FAILED?(34===input.charCodeAt(peg$currPos)?(s2=peg$c59,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c60)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c61,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c62)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c63,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c64)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c65,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c66)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c67()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c68,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c69)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c70()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c71,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c72)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c73()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c74,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c75)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c76()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c77,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c78)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c79()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c80,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c81)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c82()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c83,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c84)),s3!==peg$FAILED?(s4=peg$currPos,s5=peg$currPos,(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED&&(s8=peg$parseHexDigit())!==peg$FAILED&&(s9=peg$parseHexDigit())!==peg$FAILED?s5=s6=[s6,s7,s8,s9]:(peg$currPos=s5,s5=peg$FAILED),(s4=s5!==peg$FAILED?input.substring(s4,peg$currPos):s5)!==peg$FAILED?(peg$savedPos=s2,s2=s3=peg$c85(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c86(s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseEscape(){var s0;return 92===input.charCodeAt(peg$currPos)?(s0=peg$c61,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c62)),s0}function peg$parseQuoteMark(){var s0;return 34===input.charCodeAt(peg$currPos)?(s0=peg$c59,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c60)),s0}function peg$parseUnescaped(){var s0;return peg$c87.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c88)),s0}function peg$parseActionLabelChar(){var s0,s2,s3,s4,s5,s6,s7,s8,s9;return(s0=peg$parseActionLabelUnescaped())===peg$FAILED&&(s0=peg$currPos,peg$parseEscape()!==peg$FAILED?(39===input.charCodeAt(peg$currPos)?(s2=peg$c89,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c90)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c61,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c62)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c63,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c64)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c65,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c66)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c67()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c68,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c69)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c70()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c71,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c72)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c73()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c74,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c75)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c76()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c77,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c78)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c79()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c80,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c81)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c82()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c83,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c84)),s3!==peg$FAILED?(s4=peg$currPos,s5=peg$currPos,(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED&&(s8=peg$parseHexDigit())!==peg$FAILED&&(s9=peg$parseHexDigit())!==peg$FAILED?s5=s6=[s6,s7,s8,s9]:(peg$currPos=s5,s5=peg$FAILED),(s4=s5!==peg$FAILED?input.substring(s4,peg$currPos):s5)!==peg$FAILED?(peg$savedPos=s2,s2=s3=peg$c85(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c86(s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseActionLabelQuoteMark(){var s0;return 39===input.charCodeAt(peg$currPos)?(s0=peg$c89,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c90)),s0}function peg$parseActionLabelUnescaped(){var s0;return peg$c91.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c92)),s0}function peg$parseActionLabel(){var s0,s2,s3;if(peg$silentFails++,s0=peg$currPos,peg$parseActionLabelQuoteMark()!==peg$FAILED){for(s2=[],s3=peg$parseActionLabelChar();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseActionLabelChar();s2!==peg$FAILED&&(s3=peg$parseActionLabelQuoteMark())!==peg$FAILED?(peg$savedPos=s0,s0=peg$c94(s2)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c93),s0}function peg$parseLineTerminator(){var s0;return peg$c95.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c96)),s0}function peg$parseBlockCommentTail(){var s0,s1,s2;return input.substr(peg$currPos,2)===peg$c99?(s0=peg$c99,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c100)),s0===peg$FAILED&&(s0=peg$currPos,input.length>peg$currPos?(s1=input.charAt(peg$currPos),peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c101)),s1!==peg$FAILED&&(s2=peg$parseBlockCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseBlockComment(){var s0,s1,s2;return s0=peg$currPos,input.substr(peg$currPos,2)===peg$c102?(s1=peg$c102,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c103)),s1!==peg$FAILED&&(s2=peg$parseBlockCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseEOF(){var s0,s1;return s0=peg$currPos,peg$silentFails++,input.length>peg$currPos?(s1=input.charAt(peg$currPos),peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c101)),peg$silentFails--,s1===peg$FAILED?s0=void 0:(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseLineCommentTail(){var s0,s1,s2;return(s0=peg$parseLineTerminator())===peg$FAILED&&(s0=peg$parseEOF())===peg$FAILED&&(s0=peg$currPos,input.length>peg$currPos?(s1=input.charAt(peg$currPos),peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c101)),s1!==peg$FAILED&&(s2=peg$parseLineCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseLineComment(){var s0,s1,s2;return s0=peg$currPos,input.substr(peg$currPos,2)===peg$c104?(s1=peg$c104,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c105)),s1!==peg$FAILED&&(s2=peg$parseLineCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseWS(){var s0,s1,s2;if(s0=peg$currPos,(s1=peg$parseBlockComment())!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0===peg$FAILED&&(s0=peg$currPos,(s1=peg$parseLineComment())!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0===peg$FAILED)){if(s0=peg$currPos,s1=[],peg$c106.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c107)),s2!==peg$FAILED)for(;s2!==peg$FAILED;)s1.push(s2),peg$c106.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c107));else s1=peg$FAILED;s1!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)}return s0}function peg$parseString(){var s0,s2,s3;if(peg$silentFails++,s0=peg$currPos,peg$parseQuoteMark()!==peg$FAILED){for(s2=[],s3=peg$parseChar();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseChar();s2!==peg$FAILED&&(s3=peg$parseQuoteMark())!==peg$FAILED?(peg$savedPos=s0,s0=peg$c94(s2)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c108),s0}function peg$parseAtom(){var s0,s1,s2;if(peg$silentFails++,s0=peg$currPos,s1=[],peg$c110.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c111)),s2!==peg$FAILED)for(;s2!==peg$FAILED;)s1.push(s2),peg$c110.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c111));else s1=peg$FAILED;return s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c112(s1)),s0=s1,peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c109)),s0}function peg$parseLabel(){var s0;return peg$silentFails++,(s0=peg$parseAtom())===peg$FAILED&&(s0=peg$parseString()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c113),s0}function peg$parseIntegerLiteral(){var s0,s1,s2,s3;if(48===input.charCodeAt(peg$currPos)?(s0=peg$c114,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c115)),s0===peg$FAILED)if(s0=peg$currPos,(s1=peg$parseNonZeroDigit())!==peg$FAILED){for(s2=[],s3=peg$parseDecimalDigit();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseDecimalDigit();s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return s0}function peg$parseDecimalDigit(){var s0;return peg$c116.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c117)),s0}function peg$parseNonZeroDigit(){var s0;return peg$c118.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c119)),s0}function peg$parseNonNegNumber(){var s0,s2,s3,s4;if(peg$silentFails++,s0=peg$currPos,peg$parseIntegerLiteral()!==peg$FAILED)if(46===input.charCodeAt(peg$currPos)?(s2=peg$c121,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c122)),s2!==peg$FAILED){for(s3=[],s4=peg$parseDecimalDigit();s4!==peg$FAILED;)s3.push(s4),s4=peg$parseDecimalDigit();s3!==peg$FAILED?((s4=peg$parseWS())===peg$FAILED&&(s4=null),s4!==peg$FAILED?(peg$savedPos=s0,s0=peg$c123()):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;else peg$currPos=s0,s0=peg$FAILED;return s0===peg$FAILED&&(s0=peg$currPos,peg$parseIntegerLiteral()!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c123()):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c120),s0}function peg$parseSemVer(){var s0,s1,s2,s3,s4,s5;return s0=peg$currPos,(s1=peg$parseIntegerLiteral())!==peg$FAILED?(46===input.charCodeAt(peg$currPos)?(s2=peg$c121,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c122)),s2!==peg$FAILED&&(s3=peg$parseIntegerLiteral())!==peg$FAILED?(46===input.charCodeAt(peg$currPos)?(s4=peg$c121,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c122)),s4!==peg$FAILED&&(s5=peg$parseIntegerLiteral())!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c124(s1,s3,s5)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseUrlProtocol(){var s0;return input.substr(peg$currPos,7)===peg$c135?(s0=peg$c135,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c136)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c137?(s0=peg$c137,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c138))),s0}function peg$parseURL(){var s0,s1,s2,s3;if(s0=peg$currPos,(s1=peg$parseUrlProtocol())!==peg$FAILED){if(s2=[],peg$c139.test(input.charAt(peg$currPos))?(s3=input.charAt(peg$currPos),peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c140)),s3!==peg$FAILED)for(;s3!==peg$FAILED;)s2.push(s3),peg$c139.test(input.charAt(peg$currPos))?(s3=input.charAt(peg$currPos),peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c140));else s2=peg$FAILED;s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c141(s1)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return s0}function peg$parseSvgColorLabel(){var s0,s1;return s0=peg$currPos,input.substr(peg$currPos,9)===peg$c142?(s1=peg$c142,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c143)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c144()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c145?(s1=peg$c145,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c146)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c144()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c147?(s1=peg$c147,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c148)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c149()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c150?(s1=peg$c150,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c151)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c149()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c152?(s1=peg$c152,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c153)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c154()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c155?(s1=peg$c155,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c156)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c154()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c157?(s1=peg$c157,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c158)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c159()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c160?(s1=peg$c160,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c161)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c159()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c162?(s1=peg$c162,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c163)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c164()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c165?(s1=peg$c165,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c166)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c164()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c167?(s1=peg$c167,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c168)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c169()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c170?(s1=peg$c170,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c171)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c169()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c172?(s1=peg$c172,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c173)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c174()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c175?(s1=peg$c175,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c176)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c174()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c177?(s1=peg$c177,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c178)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c179()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c180?(s1=peg$c180,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c181)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c179()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c182?(s1=peg$c182,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c183)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c184()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c185?(s1=peg$c185,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c186)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c184()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c187?(s1=peg$c187,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c188)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c189()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c190?(s1=peg$c190,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c191)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c189()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c192?(s1=peg$c192,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c193)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c194()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c195?(s1=peg$c195,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c196)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c194()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c197?(s1=peg$c197,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c198)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c199()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c200?(s1=peg$c200,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c201)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c199()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c202?(s1=peg$c202,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c203)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c204()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c205?(s1=peg$c205,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c206)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c204()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c207?(s1=peg$c207,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c208)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c209()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c210?(s1=peg$c210,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c211)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c209()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c212?(s1=peg$c212,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c213)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c214()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c215?(s1=peg$c215,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c216)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c214()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c217?(s1=peg$c217,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c218)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c219()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c220?(s1=peg$c220,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c221)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c219()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c222?(s1=peg$c222,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c223)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c224()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c225?(s1=peg$c225,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c226)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c224()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c227?(s1=peg$c227,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c228)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c229()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c230?(s1=peg$c230,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c231)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c229()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c232?(s1=peg$c232,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c233)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c234()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c235?(s1=peg$c235,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c236)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c234()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c237?(s1=peg$c237,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c238)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c239()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c240?(s1=peg$c240,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c241)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c239()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c242?(s1=peg$c242,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c243)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c154()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c244?(s1=peg$c244,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c245)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c154()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c246?(s1=peg$c246,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c247)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c248()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c249?(s1=peg$c249,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c250)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c248()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c251?(s1=peg$c251,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c252)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c253()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c254?(s1=peg$c254,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c255)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c253()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c256?(s1=peg$c256,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c257)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c258()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c259?(s1=peg$c259,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c260)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c258()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c261?(s1=peg$c261,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c262)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c263()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c264?(s1=peg$c264,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c265)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c263()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c266?(s1=peg$c266,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c267)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c263()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c268?(s1=peg$c268,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c269)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c263()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c270?(s1=peg$c270,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c271)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c272()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c273?(s1=peg$c273,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c274)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c272()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c275?(s1=peg$c275,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c276)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c277()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c278?(s1=peg$c278,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c279)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c277()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c280?(s1=peg$c280,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c281)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c282()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c283?(s1=peg$c283,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c284)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c282()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c285?(s1=peg$c285,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c286)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c287()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c288?(s1=peg$c288,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c289)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c287()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c290?(s1=peg$c290,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c291)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c292()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c293?(s1=peg$c293,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c294)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c292()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c295?(s1=peg$c295,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c296)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c297()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c298?(s1=peg$c298,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c299)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c297()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c300?(s1=peg$c300,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c301)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c302()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c303?(s1=peg$c303,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c304)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c302()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c305?(s1=peg$c305,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c306)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c307()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c308?(s1=peg$c308,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c309)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c307()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c310?(s1=peg$c310,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c311)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c312()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c313?(s1=peg$c313,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c314)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c312()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c315?(s1=peg$c315,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c316)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c317()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c318?(s1=peg$c318,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c319)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c317()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c320?(s1=peg$c320,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c321)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c322()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c323?(s1=peg$c323,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c324)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c322()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c325?(s1=peg$c325,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c326)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c322()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c327?(s1=peg$c327,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c328)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c322()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c329?(s1=peg$c329,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c330)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c331()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c332?(s1=peg$c332,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c333)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c331()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c334?(s1=peg$c334,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c335)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c336()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c337?(s1=peg$c337,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c338)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c336()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c339?(s1=peg$c339,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c340)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c341()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c342?(s1=peg$c342,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c343)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c341()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c344?(s1=peg$c344,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c345)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c346()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c347?(s1=peg$c347,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c348)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c346()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c349?(s1=peg$c349,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c350)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c351()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c352?(s1=peg$c352,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c353)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c351()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c354?(s1=peg$c354,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c355)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c351()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c356?(s1=peg$c356,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c357)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c351()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c358?(s1=peg$c358,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c359)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c360()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c361?(s1=peg$c361,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c362)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c360()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c363?(s1=peg$c363,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c364)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c365()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c366?(s1=peg$c366,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c367)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c365()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c368?(s1=peg$c368,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c369)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c370()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c371?(s1=peg$c371,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c372)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c370()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c373?(s1=peg$c373,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c374)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c375()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c376?(s1=peg$c376,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c377)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c375()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c378?(s1=peg$c378,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c379)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c380()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c381?(s1=peg$c381,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c382)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c380()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c383?(s1=peg$c383,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c384)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c385()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c386?(s1=peg$c386,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c387)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c385()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c388?(s1=peg$c388,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c389)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c390()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c391?(s1=peg$c391,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c392)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c390()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c393?(s1=peg$c393,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c394)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c395()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c396?(s1=peg$c396,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c397)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c395()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c398?(s1=peg$c398,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c399)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c400()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c401?(s1=peg$c401,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c402)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c400()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c403?(s1=peg$c403,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c404)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c405()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c406?(s1=peg$c406,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c407)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c405()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c408?(s1=peg$c408,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c409)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c405()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c410?(s1=peg$c410,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c411)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c405()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c412?(s1=peg$c412,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c413)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c414()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c415?(s1=peg$c415,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c416)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c414()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c417?(s1=peg$c417,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c418)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c419()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c420?(s1=peg$c420,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c421)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c419()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c422?(s1=peg$c422,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c423)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c424()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c425?(s1=peg$c425,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c426)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c424()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c427?(s1=peg$c427,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c428)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c429()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c430?(s1=peg$c430,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c431)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c429()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c432?(s1=peg$c432,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c433)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c434()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c435?(s1=peg$c435,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c436)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c434()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c437?(s1=peg$c437,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c438)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c439()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c440?(s1=peg$c440,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c441)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c439()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c442?(s1=peg$c442,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c443)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c444()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c445?(s1=peg$c445,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c446)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c444()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c447?(s1=peg$c447,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c448)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c449()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c450?(s1=peg$c450,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c451)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c449()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c452?(s1=peg$c452,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c453)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c454()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c455?(s1=peg$c455,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c456)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c454()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c457?(s1=peg$c457,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c458)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c459()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c460?(s1=peg$c460,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c461)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c459()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c462?(s1=peg$c462,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c463)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c464()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c465?(s1=peg$c465,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c466)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c464()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c467?(s1=peg$c467,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c468)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c469()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c470?(s1=peg$c470,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c471)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c469()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c472?(s1=peg$c472,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c473)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c474()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c475?(s1=peg$c475,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c476)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c474()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c477?(s1=peg$c477,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c478)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c479()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c480?(s1=peg$c480,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c481)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c479()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c482?(s1=peg$c482,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c483)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c484()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c485?(s1=peg$c485,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c486)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c484()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,20)===peg$c487?(s1=peg$c487,peg$currPos+=20):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c488)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c489()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,20)===peg$c490?(s1=peg$c490,peg$currPos+=20):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c491)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c489()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c492?(s1=peg$c492,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c493)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c494()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c495?(s1=peg$c495,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c496)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c494()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c497?(s1=peg$c497,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c498)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c494()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c499?(s1=peg$c499,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c500)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c494()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c501?(s1=peg$c501,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c502)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c503()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c504?(s1=peg$c504,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c505)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c503()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c506?(s1=peg$c506,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c507)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c508()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c509?(s1=peg$c509,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c510)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c508()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c511?(s1=peg$c511,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c512)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c513()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c514?(s1=peg$c514,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c515)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c513()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c516?(s1=peg$c516,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c517)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c518()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c519?(s1=peg$c519,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c520)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c518()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c521?(s1=peg$c521,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c522)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c523()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c524?(s1=peg$c524,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c525)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c523()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c526?(s1=peg$c526,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c527)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c528()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c529?(s1=peg$c529,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c530)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c528()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c531?(s1=peg$c531,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c532)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c528()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c533?(s1=peg$c533,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c534)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c528()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c535?(s1=peg$c535,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c536)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c537()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c538?(s1=peg$c538,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c539)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c537()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c540?(s1=peg$c540,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c541)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c542()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c543?(s1=peg$c543,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c544)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c542()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c545?(s1=peg$c545,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c546)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c547()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c548?(s1=peg$c548,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c549)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c547()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c550?(s1=peg$c550,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c551)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c552()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c553?(s1=peg$c553,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c554)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c552()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c555?(s1=peg$c555,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c556)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c557()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c558?(s1=peg$c558,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c559)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c557()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c560?(s1=peg$c560,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c561)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c380()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c562?(s1=peg$c562,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c563)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c380()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c564?(s1=peg$c564,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c565)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c566()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c567?(s1=peg$c567,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c568)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c566()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,16)===peg$c569?(s1=peg$c569,peg$currPos+=16):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c570)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c571()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,16)===peg$c572?(s1=peg$c572,peg$currPos+=16):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c573)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c571()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c574?(s1=peg$c574,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c575)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c576()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c577?(s1=peg$c577,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c578)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c576()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c579?(s1=peg$c579,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c580)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c581()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c582?(s1=peg$c582,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c583)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c581()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c584?(s1=peg$c584,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c585)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c586()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c587?(s1=peg$c587,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c588)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c586()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c589?(s1=peg$c589,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c590)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c591()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c592?(s1=peg$c592,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c593)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c591()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c594?(s1=peg$c594,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c595)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c596()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c597?(s1=peg$c597,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c598)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c596()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,17)===peg$c599?(s1=peg$c599,peg$currPos+=17):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c600)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c601()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,17)===peg$c602?(s1=peg$c602,peg$currPos+=17):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c603)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c601()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c604?(s1=peg$c604,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c605)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c606()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c607?(s1=peg$c607,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c608)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c606()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c609?(s1=peg$c609,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c610)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c611()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c612?(s1=peg$c612,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c613)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c611()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c614?(s1=peg$c614,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c615)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c616()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c617?(s1=peg$c617,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c618)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c616()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c619?(s1=peg$c619,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c620)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c621()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c622?(s1=peg$c622,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c623)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c621()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c624?(s1=peg$c624,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c625)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c626()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c627?(s1=peg$c627,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c628)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c626()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c629?(s1=peg$c629,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c630)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c631()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c632?(s1=peg$c632,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c633)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c631()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c634?(s1=peg$c634,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c635)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c636()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c637?(s1=peg$c637,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c638)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c636()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c639?(s1=peg$c639,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c640)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c641()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c642?(s1=peg$c642,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c643)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c641()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c644?(s1=peg$c644,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c645)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c646()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c647?(s1=peg$c647,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c648)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c646()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c649?(s1=peg$c649,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c650)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c651()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c652?(s1=peg$c652,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c653)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c651()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c654?(s1=peg$c654,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c655)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c656()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c657?(s1=peg$c657,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c658)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c656()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c659?(s1=peg$c659,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c660)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c661()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c662?(s1=peg$c662,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c663)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c661()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c664?(s1=peg$c664,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c665)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c666()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c667?(s1=peg$c667,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c668)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c666()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c669?(s1=peg$c669,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c670)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c671()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c672?(s1=peg$c672,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c673)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c671()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c674?(s1=peg$c674,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c675)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c676()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c677?(s1=peg$c677,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c678)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c676()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c679?(s1=peg$c679,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c680)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c681()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c682?(s1=peg$c682,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c683)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c681()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c684?(s1=peg$c684,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c685)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c686()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c687?(s1=peg$c687,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c688)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c686()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c689?(s1=peg$c689,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c690)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c691()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c692?(s1=peg$c692,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c693)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c691()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c694?(s1=peg$c694,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c695)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c696()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c697?(s1=peg$c697,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c698)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c696()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c699?(s1=peg$c699,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c700)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c701()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c702?(s1=peg$c702,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c703)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c701()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c704?(s1=peg$c704,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c705)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c706()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c707?(s1=peg$c707,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c708)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c706()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c709?(s1=peg$c709,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c710)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c711()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c712?(s1=peg$c712,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c713)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c711()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c714?(s1=peg$c714,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c715)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c716()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c717?(s1=peg$c717,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c718)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c716()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c719?(s1=peg$c719,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c720)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c721()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c722?(s1=peg$c722,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c723)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c721()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c724?(s1=peg$c724,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c725)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c726()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c727?(s1=peg$c727,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c728)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c726()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c729?(s1=peg$c729,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c730)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c731()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c732?(s1=peg$c732,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c733)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c731()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c734?(s1=peg$c734,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c735)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c736()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c737?(s1=peg$c737,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c738)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c736()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c739?(s1=peg$c739,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c740)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c741()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c742?(s1=peg$c742,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c743)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c741()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c744?(s1=peg$c744,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c745)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c746()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c747?(s1=peg$c747,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c748)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c746()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c749?(s1=peg$c749,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c750)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c751()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c752?(s1=peg$c752,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c753)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c751()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c754?(s1=peg$c754,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c755)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c756()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c757?(s1=peg$c757,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c758)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c756()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c759?(s1=peg$c759,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c760)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c761()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c762?(s1=peg$c762,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c763)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c761()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c764?(s1=peg$c764,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c765)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c766()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c767?(s1=peg$c767,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c768)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c766()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c769?(s1=peg$c769,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c770)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c771()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c772?(s1=peg$c772,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c773)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c771()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c774?(s1=peg$c774,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c775)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c776()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c777?(s1=peg$c777,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c778)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c776()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c779?(s1=peg$c779,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c780)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c781()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c782?(s1=peg$c782,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c783)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c781()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c784?(s1=peg$c784,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c785)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c786()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c787?(s1=peg$c787,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c788)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c786()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c789?(s1=peg$c789,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c790)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c791()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c792?(s1=peg$c792,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c793)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c791()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c794?(s1=peg$c794,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c795)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c791()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c796?(s1=peg$c796,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c797)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c791()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c798?(s1=peg$c798,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c799)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c800()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c801?(s1=peg$c801,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c802)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c800()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c803?(s1=peg$c803,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c804)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c805()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c806?(s1=peg$c806,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c807)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c805()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c808?(s1=peg$c808,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c809)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c810()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c811?(s1=peg$c811,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c812)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c810()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c813?(s1=peg$c813,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c814)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c815()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c816?(s1=peg$c816,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c817)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c815()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c818?(s1=peg$c818,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c819)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c820()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c821?(s1=peg$c821,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c822)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c820()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c823?(s1=peg$c823,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c824)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c825()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c826?(s1=peg$c826,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c827)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c825()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c828?(s1=peg$c828,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c829)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c830()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c831?(s1=peg$c831,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c832)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c830()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c833?(s1=peg$c833,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c834)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c835()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c836?(s1=peg$c836,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c837)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c835()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c838?(s1=peg$c838,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c839)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c840()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c841?(s1=peg$c841,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c842)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c840()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c843?(s1=peg$c843,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c844)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c845()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c846?(s1=peg$c846,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c847)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c845()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c848?(s1=peg$c848,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c849)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c850()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c851?(s1=peg$c851,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c852)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c850()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c853?(s1=peg$c853,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c854)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c855()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c856?(s1=peg$c856,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c857)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c855()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c858?(s1=peg$c858,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c859)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c860()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c861?(s1=peg$c861,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c862)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c860()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c863?(s1=peg$c863,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c864)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c865()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c866?(s1=peg$c866,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c867)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c865()),s0=s1))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s0}function peg$parseSvgColor(){var s0,s1,s2;return s0=peg$currPos,(s1=peg$parseSvgColorLabel())!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseRgb3(){var s0,s1,s2,s3,s4,s5;return s0=peg$currPos,35===input.charCodeAt(peg$currPos)?(s1=peg$c868,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(s2=peg$parseHexDigit())!==peg$FAILED&&(s3=peg$parseHexDigit())!==peg$FAILED&&(s4=peg$parseHexDigit())!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c870(s2,s3,s4)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseRgb6(){var s0,s1,s2,s3,s4,s5,s6,s7,s8;return s0=peg$currPos,35===input.charCodeAt(peg$currPos)?(s1=peg$c868,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(s2=peg$parseHexDigit())!==peg$FAILED&&(s3=peg$parseHexDigit())!==peg$FAILED&&(s4=peg$parseHexDigit())!==peg$FAILED&&(s5=peg$parseHexDigit())!==peg$FAILED&&(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED?((s8=peg$parseWS())===peg$FAILED&&(s8=null),s8!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c871(s2,s3,s4,s5,s6,s7)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseRgba4(){var s0,s1,s2,s3,s4,s5,s6;return s0=peg$currPos,35===input.charCodeAt(peg$currPos)?(s1=peg$c868,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(s2=peg$parseHexDigit())!==peg$FAILED&&(s3=peg$parseHexDigit())!==peg$FAILED&&(s4=peg$parseHexDigit())!==peg$FAILED&&(s5=peg$parseHexDigit())!==peg$FAILED?((s6=peg$parseWS())===peg$FAILED&&(s6=null),s6!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c872(s2,s3,s4,s5)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseRgba8(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10;return s0=peg$currPos,35===input.charCodeAt(peg$currPos)?(s1=peg$c868,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(s2=peg$parseHexDigit())!==peg$FAILED&&(s3=peg$parseHexDigit())!==peg$FAILED&&(s4=peg$parseHexDigit())!==peg$FAILED&&(s5=peg$parseHexDigit())!==peg$FAILED&&(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED&&(s8=peg$parseHexDigit())!==peg$FAILED&&(s9=peg$parseHexDigit())!==peg$FAILED?((s10=peg$parseWS())===peg$FAILED&&(s10=null),s10!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c873(s2,s3,s4,s5,s6,s7,s8,s9)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseColor(){var s0;return peg$silentFails++,(s0=peg$parseSvgColor())===peg$FAILED&&(s0=peg$parseRgb3())===peg$FAILED&&(s0=peg$parseRgb6())===peg$FAILED&&(s0=peg$parseRgba4())===peg$FAILED&&(s0=peg$parseRgba8()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c874),s0}function peg$parseArrowItemKey(){var s0;return input.substr(peg$currPos,9)===peg$c875?(s0=peg$c875,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c876)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c877?(s0=peg$c877,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c878)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c879?(s0=peg$c879,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c880)))),s0}function peg$parseArrowItem(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED&&(s2=peg$parseArrowItemKey())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabel())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c885(s2,s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseSingleEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return peg$silentFails++,s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c887?(s2=peg$c887,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c888)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseColor())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c889(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c886)),s0}function peg$parseArrowItems(){var s0,s1;if((s0=peg$parseSingleEdgeColor())===peg$FAILED)if(s0=[],(s1=peg$parseArrowItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseArrowItem();else s0=peg$FAILED;return s0}function peg$parseArrowDesc(){var s0,s1,s2,s3,s4,s5;return s0=peg$currPos,123===input.charCodeAt(peg$currPos)?(s1=peg$c890,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s1!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?((s3=peg$parseArrowItems())===peg$FAILED&&(s3=null),s3!==peg$FAILED?((s4=peg$parseWS())===peg$FAILED&&(s4=null),s4!==peg$FAILED?(125===input.charCodeAt(peg$currPos)?(s5=peg$c892,peg$currPos++):(s5=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c893)),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c894(s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseArrowProbability(){var s0,s1,s2;return s0=peg$currPos,(s1=peg$parseNonNegNumber())!==peg$FAILED?(37===input.charCodeAt(peg$currPos)?(s2=peg$c895,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c896)),s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c897(s1)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseLabelList(){var s0,s1,s2,s3,s4,s5,s6;if(s0=peg$currPos,91===input.charCodeAt(peg$currPos)?(s1=peg$c898,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c899)),s1!==peg$FAILED)if((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED){for(s3=[],s4=peg$currPos,(s5=peg$parseLabel())!==peg$FAILED?((s6=peg$parseWS())===peg$FAILED&&(s6=null),s6!==peg$FAILED?s4=s5=[s5,s6]:(peg$currPos=s4,s4=peg$FAILED)):(peg$currPos=s4,s4=peg$FAILED);s4!==peg$FAILED;)s3.push(s4),s4=peg$currPos,(s5=peg$parseLabel())!==peg$FAILED?((s6=peg$parseWS())===peg$FAILED&&(s6=null),s6!==peg$FAILED?s4=s5=[s5,s6]:(peg$currPos=s4,s4=peg$FAILED)):(peg$currPos=s4,s4=peg$FAILED);s3!==peg$FAILED?(93===input.charCodeAt(peg$currPos)?(s4=peg$c900,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c901)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c902(s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;else peg$currPos=s0,s0=peg$FAILED;return s0}function peg$parseLabelOrLabelList(){var s0;return(s0=peg$parseLabelList())===peg$FAILED&&(s0=peg$parseLabel()),s0}function peg$parseSubexp(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?((s2=peg$parseActionLabel())===peg$FAILED&&(s2=null),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?((s4=peg$parseArrowProbability())===peg$FAILED&&(s4=null),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?((s6=peg$parseArrowDesc())===peg$FAILED&&(s6=null),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED&&(s8=peg$parseArrow())!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?((s10=peg$parseArrowDesc())===peg$FAILED&&(s10=null),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?((s12=peg$parseArrowProbability())===peg$FAILED&&(s12=null),s12!==peg$FAILED?((s13=peg$parseWS())===peg$FAILED&&(s13=null),s13!==peg$FAILED?((s14=peg$parseActionLabel())===peg$FAILED&&(s14=null),s14!==peg$FAILED?((s15=peg$parseWS())===peg$FAILED&&(s15=null),s15!==peg$FAILED&&(s16=peg$parseLabelOrLabelList())!==peg$FAILED?((s17=peg$parseWS())===peg$FAILED&&(s17=null),s17!==peg$FAILED?((s18=peg$parseSubexp())===peg$FAILED&&(s18=null),s18!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c903(s2,s4,s6,s8,s10,s12,s14,s16,s18)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseExp(){var s0,s1,s2,s3,s4,s5;return s0=peg$currPos,(s1=peg$parseLabelOrLabelList())!==peg$FAILED&&(s2=peg$parseSubexp())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c883,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c904(s1,s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseValidationKey(){var s0;return input.substr(peg$currPos,9)===peg$c905?(s0=peg$c905,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c906)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c907?(s0=peg$c907,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c908))),s0}function peg$parseValidationItem(){var s0,s1,s2,s3,s4;return s0=peg$currPos,(s1=peg$parseValidationKey())!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s2=peg$c881,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c883,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c909(s1,s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseValidationItems(){var s0,s1;if(s0=[],(s1=peg$parseValidationItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseValidationItem();else s0=peg$FAILED;return s0}function peg$parseConfigValidation(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c910?(s2=peg$c910,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c911)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c890,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?((s8=peg$parseValidationItems())===peg$FAILED&&(s8=null),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(input.substr(peg$currPos,2)===peg$c912?(s10=peg$c912,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c913)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c914(s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseGvizLayout(){var s0;return input.substr(peg$currPos,3)===peg$c915?(s0=peg$c915,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c916)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c917?(s0=peg$c917,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c918)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c919?(s0=peg$c919,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c920)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c921?(s0=peg$c921,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c922))))),s0}function peg$parseStateItemShapeKey(){var s0;return input.substr(peg$currPos,8)===peg$c923?(s0=peg$c923,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c924)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c925?(s0=peg$c925,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c926)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c927?(s0=peg$c927,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c928)))),s0}function peg$parseStateItemShape(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED&&(s2=peg$parseStateItemShapeKey())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseGvizShape())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c885(s2,s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseStateItems(){var s0,s1;if(s0=[],(s1=peg$parseStateItemShape())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseStateItemShape();else s0=peg$FAILED;return s0}function peg$parseConfigState(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,5)===peg$c929?(s2=peg$c929,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c930)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c890,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?((s8=peg$parseStateItems())===peg$FAILED&&(s8=null),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(input.substr(peg$currPos,2)===peg$c912?(s10=peg$c912,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c913)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c931(s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseActionKey(){var s0;return input.substr(peg$currPos,9)===peg$c905?(s0=peg$c905,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c906)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c907?(s0=peg$c907,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c908))),s0}function peg$parseActionItem(){var s0,s1,s2,s3,s4;return s0=peg$currPos,(s1=peg$parseActionKey())!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s2=peg$c881,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c883,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c932(s1,s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseActionItems(){var s0,s1;if(s0=[],(s1=peg$parseActionItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseActionItem();else s0=peg$FAILED;return s0}function peg$parseConfigAction(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,6)===peg$c933?(s2=peg$c933,peg$currPos+=6):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c934)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c890,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?((s8=peg$parseActionItems())===peg$FAILED&&(s8=null),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(input.substr(peg$currPos,2)===peg$c912?(s10=peg$c912,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c913)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c935(s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseTransitionKey(){var s0;return input.substr(peg$currPos,9)===peg$c905?(s0=peg$c905,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c906)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c907?(s0=peg$c907,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c908))),s0}function peg$parseTransitionItem(){var s0,s1,s2,s3,s4;return s0=peg$currPos,(s1=peg$parseTransitionKey())!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s2=peg$c881,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c883,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c936(s1,s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseTransitionItems(){var s0,s1;if((s0=peg$parseGraphDefaultEdgeColor())===peg$FAILED)if(s0=[],(s1=peg$parseTransitionItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseTransitionItem();else s0=peg$FAILED;return s0}function peg$parseGraphDefaultEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return peg$silentFails++,s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c887?(s2=peg$c887,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c888)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseColor())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c938(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c937)),s0}function peg$parseConfigTransition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c939?(s2=peg$c939,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c940)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c890,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?((s8=peg$parseTransitionItems())===peg$FAILED&&(s8=null),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(input.substr(peg$currPos,2)===peg$c912?(s10=peg$c912,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c913)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c941(s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfigGraphLayout(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,12)===peg$c942?(s2=peg$c942,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c943)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseGvizLayout())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c944(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfigStartNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,12)===peg$c945?(s2=peg$c945,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c946)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c947(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfigEndNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c948?(s2=peg$c948,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c949)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c950(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfigGraphBgColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,14)===peg$c951?(s2=peg$c951,peg$currPos+=14):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c952)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseColor())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c953(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfig(){var s0;return peg$silentFails++,(s0=peg$parseConfigGraphLayout())===peg$FAILED&&(s0=peg$parseConfigStartNodes())===peg$FAILED&&(s0=peg$parseConfigEndNodes())===peg$FAILED&&(s0=peg$parseConfigTransition())===peg$FAILED&&(s0=peg$parseConfigAction())===peg$FAILED&&(s0=peg$parseConfigState())===peg$FAILED&&(s0=peg$parseConfigValidation())===peg$FAILED&&(s0=peg$parseConfigGraphBgColor()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c954),s0}function peg$parseLicenseOrLabelOrList(){var s0;return input.substr(peg$currPos,3)===peg$c955?(s0=peg$c955,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c956)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c957?(s0=peg$c957,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c958)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c959?(s0=peg$c959,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c960)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c961?(s0=peg$c961,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c962)),s0===peg$FAILED&&(input.substr(peg$currPos,11)===peg$c963?(s0=peg$c963,peg$currPos+=11):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c964)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c965?(s0=peg$c965,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c966)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c967?(s0=peg$c967,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c968)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c969?(s0=peg$c969,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c970)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c971?(s0=peg$c971,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c972)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c973?(s0=peg$c973,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c974)),s0===peg$FAILED&&(s0=peg$parseLabel())===peg$FAILED&&(s0=peg$parseLabelList())))))))))),s0}function peg$parseStateColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,5)===peg$c975?(s2=peg$c975,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c976)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseColor())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c977(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseArbitraryStateQuality(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return peg$silentFails++,s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED&&(s2=peg$parseLabel())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabel())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c979(s2,s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c978)),s0}function peg$parseStateQuality(){var s0;return(s0=peg$parseStateColor())===peg$FAILED&&(s0=peg$parseArbitraryStateQuality()),s0}function peg$parseStateDef(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13;if(peg$silentFails++,s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED)if(input.substr(peg$currPos,5)===peg$c929?(s2=peg$c929,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c930)),s2!==peg$FAILED)if((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED)if((s4=peg$parseLabel())!==peg$FAILED)if((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED)if(91===input.charCodeAt(peg$currPos)?(s6=peg$c898,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c899)),s6!==peg$FAILED)if((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED){for(s8=[],s9=peg$parseStateQuality();s9!==peg$FAILED;)s8.push(s9),s9=peg$parseStateQuality();s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(93===input.charCodeAt(peg$currPos)?(s10=peg$c900,peg$currPos++):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c901)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s12=peg$c883,peg$currPos++):(s12=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s12!==peg$FAILED?((s13=peg$parseWS())===peg$FAILED&&(s13=null),s13!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c981(s4,s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(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;else peg$currPos=s0,s0=peg$FAILED;else peg$currPos=s0,s0=peg$FAILED;else peg$currPos=s0,s0=peg$FAILED;return peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c980)),s0}function peg$parseMachineAuthor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,14)===peg$c982?(s2=peg$c982,peg$currPos+=14):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c983)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelOrLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c984(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineContributor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,19)===peg$c985?(s2=peg$c985,peg$currPos+=19):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c986)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelOrLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c987(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineComment(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,15)===peg$c988?(s2=peg$c988,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c989)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelOrLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c990(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineDefinition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,18)===peg$c991?(s2=peg$c991,peg$currPos+=18):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c992)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseURL())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c993(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineName(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,12)===peg$c994?(s2=peg$c994,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c995)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabel())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c996(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,15)===peg$c1000?(s2=peg$c1000,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1001)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseSemVer())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1002(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineLicense(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,15)===peg$c1003?(s2=peg$c1003,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1004)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLicenseOrLabelOrList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1005(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseFslVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,11)===peg$c1006?(s2=peg$c1006,peg$currPos+=11):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1007)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseSemVer())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1008(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseStateGroupDef(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,5)===peg$c1009?(s2=peg$c1009,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1010)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED&&(s4=peg$parseLabel())!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s6=peg$c881,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED&&(s8=peg$parseLabelOrLabelList())!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s10=peg$c883,peg$currPos++):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1011(s4,s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseTerm(){var s0;return(s0=peg$parseExp())===peg$FAILED&&(s0=peg$parseStateDef())===peg$FAILED&&(s0=peg$parseFslVersion())===peg$FAILED&&(s0=peg$parseMachineName())===peg$FAILED&&(s0=peg$parseMachineAuthor())===peg$FAILED&&(s0=peg$parseMachineContributor())===peg$FAILED&&(s0=peg$parseMachineComment())===peg$FAILED&&(s0=peg$parseMachineDefinition())===peg$FAILED&&(s0=peg$parseMachineVersion())===peg$FAILED&&(s0=peg$parseMachineLicense())===peg$FAILED&&(s0=peg$parseStateGroupDef())===peg$FAILED&&(s0=peg$parseConfig()),s0}function peg$parseTermList(){var s0,s1;for(s0=[],s1=peg$parseTerm();s1!==peg$FAILED;)s0.push(s1),s1=peg$parseTerm();return s0}options=void 0!==options?options:{};var peg$result,peg$FAILED={},peg$startRuleFunctions={Document:peg$parseDocument},peg$startRuleFunction=peg$parseDocument,peg$c0=function(e){return e},peg$c1="square",peg$c2=peg$literalExpectation("square",!1),peg$c3="rectangle",peg$c4=peg$literalExpectation("rectangle",!1),peg$c5="circle",peg$c6=peg$literalExpectation("circle",!1),peg$c7=peg$otherExpectation("forward light arrow ->"),peg$c8="->",peg$c9=peg$literalExpectation("->",!1),peg$c10=peg$otherExpectation("two way light arrow <->"),peg$c11="<->",peg$c12=peg$literalExpectation("<->",!1),peg$c13=peg$otherExpectation("back light arrow <-"),peg$c14="<-",peg$c15=peg$literalExpectation("<-",!1),peg$c16=peg$otherExpectation("forward fat arrow =>"),peg$c17="=>",peg$c18=peg$literalExpectation("=>",!1),peg$c19=peg$otherExpectation("two way fat arrow <=>"),peg$c20="<=>",peg$c21=peg$literalExpectation("<=>",!1),peg$c22=peg$otherExpectation("back fat arrow <="),peg$c23="<=",peg$c24=peg$literalExpectation("<=",!1),peg$c25=peg$otherExpectation("forward tilde arrow ~>"),peg$c26="~>",peg$c27=peg$literalExpectation("~>",!1),peg$c28=peg$otherExpectation("two way tilde arrow <~>"),peg$c29="<~>",peg$c30=peg$literalExpectation("<~>",!1),peg$c31=peg$otherExpectation("back tilde arrow <~"),peg$c32="<~",peg$c33=peg$literalExpectation("<~",!1),peg$c34=peg$otherExpectation("light fat arrow <-=>"),peg$c35="<-=>",peg$c36=peg$literalExpectation("<-=>",!1),peg$c37=peg$otherExpectation("light tilde arrow <-~>"),peg$c38="<-~>",peg$c39=peg$literalExpectation("<-~>",!1),peg$c40=peg$otherExpectation("fat light arrow <=->"),peg$c41="<=->",peg$c42=peg$literalExpectation("<=->",!1),peg$c43=peg$otherExpectation("fat tilde arrow <=~>"),peg$c44="<=~>",peg$c45=peg$literalExpectation("<=~>",!1),peg$c46=peg$otherExpectation("tilde light arrow <~->"),peg$c47="<~->",peg$c48=peg$literalExpectation("<~->",!1),peg$c49=peg$otherExpectation("tilde fat arrow <~=>"),peg$c50="<~=>",peg$c51=peg$literalExpectation("<~=>",!1),peg$c52=peg$otherExpectation("light arrow"),peg$c53=peg$otherExpectation("fat arrow"),peg$c54=peg$otherExpectation("tilde arrow"),peg$c55=peg$otherExpectation("mixed arrow"),peg$c56=peg$otherExpectation("arrow"),peg$c57=/^[0-9a-fA-F]/,peg$c58=peg$classExpectation([["0","9"],["a","f"],["A","F"]],!1,!1),peg$c59='"',peg$c60=peg$literalExpectation('"',!1),peg$c61="\\",peg$c62=peg$literalExpectation("\\",!1),peg$c63="/",peg$c64=peg$literalExpectation("/",!1),peg$c65="b",peg$c66=peg$literalExpectation("b",!1),peg$c67=function(){return"\b"},peg$c68="f",peg$c69=peg$literalExpectation("f",!1),peg$c70=function(){return"\f"},peg$c71="n",peg$c72=peg$literalExpectation("n",!1),peg$c73=function(){return"\n"},peg$c74="r",peg$c75=peg$literalExpectation("r",!1),peg$c76=function(){return"\r"},peg$c77="t",peg$c78=peg$literalExpectation("t",!1),peg$c79=function(){return"\t"},peg$c80="v",peg$c81=peg$literalExpectation("v",!1),peg$c82=function(){return"\v"},peg$c83="u",peg$c84=peg$literalExpectation("u",!1),peg$c85=function(digits){return String.fromCharCode(parseInt(digits,16))},peg$c86=function(Sequence){return Sequence},peg$c87=/^[ -!#-[\]-\u10FFFF]/,peg$c88=peg$classExpectation([[" ","!"],["#","["],["]","ჿ"],"F","F"],!1,!1),peg$c89="'",peg$c90=peg$literalExpectation("'",!1),peg$c91=/^[ -&(-[\]-\u10FFFF]/,peg$c92=peg$classExpectation([[" ","&"],["(","["],["]","ჿ"],"F","F"],!1,!1),peg$c93=peg$otherExpectation("action label"),peg$c94=function(chars){return chars.join("")},peg$c95=/^[\n\r\u2028\u2029]/,peg$c96=peg$classExpectation(["\n","\r","\u2028","\u2029"],!1,!1),peg$c99=(peg$classExpectation([" ","\t","\n","\r","\v"],!1,!1),"*/"),peg$c100=peg$literalExpectation("*/",!1),peg$c101={type:"any"},peg$c102="/*",peg$c103=peg$literalExpectation("/*",!1),peg$c104="//",peg$c105=peg$literalExpectation("//",!1),peg$c106=/^[ \t\r\n\x0B]/,peg$c107=peg$classExpectation([" ","\t","\r","\n","\v"],!1,!1),peg$c108=peg$otherExpectation("string"),peg$c109=peg$otherExpectation("atom"),peg$c110=/^[0-9a-zA-Z.+_&()$#@!?,]/,peg$c111=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","_","&","(",")","$","#","@","!","?",","],!1,!1),peg$c112=function(text){return text.join("")},peg$c113=peg$otherExpectation("label"),peg$c114="0",peg$c115=peg$literalExpectation("0",!1),peg$c116=/^[0-9]/,peg$c117=peg$classExpectation([["0","9"]],!1,!1),peg$c118=/^[1-9]/,peg$c119=peg$classExpectation([["1","9"]],!1,!1),peg$c120=peg$otherExpectation("nonneg number"),peg$c121=".",peg$c122=peg$literalExpectation(".",!1),peg$c123=function(){return parseFloat(text())},peg$c124=function(major,minor,patch){return{major:parseInt(major,10),minor:parseInt(minor,10),patch:parseInt(patch,10),full:text()}},peg$c135=(peg$literalExpectation("^",!1),peg$literalExpectation("~",!1),peg$literalExpectation(">=",!1),peg$literalExpectation("<",!1),peg$literalExpectation(">",!1),"http://"),peg$c136=peg$literalExpectation("http://",!1),peg$c137="https://",peg$c138=peg$literalExpectation("https://",!1),peg$c139=/^[a-zA-Z0-9!*'():;@&=+$,\/?#[\]_.~\-]/,peg$c140=peg$classExpectation([["a","z"],["A","Z"],["0","9"],"!","*","'","(",")",":",";","@","&","=","+","$",",","/","?","#","[","]","_",".","~","-"],!1,!1),peg$c141=function(protocol){return text()},peg$c142="aliceblue",peg$c143=peg$literalExpectation("aliceblue",!1),peg$c144=function(){return"#f0f8ffff"},peg$c145="AliceBlue",peg$c146=peg$literalExpectation("AliceBlue",!1),peg$c147="antiquewhite",peg$c148=peg$literalExpectation("antiquewhite",!1),peg$c149=function(){return"#faebd7ff"},peg$c150="AntiqueWhite",peg$c151=peg$literalExpectation("AntiqueWhite",!1),peg$c152="aqua",peg$c153=peg$literalExpectation("aqua",!1),peg$c154=function(){return"#00ffffff"},peg$c155="Aqua",peg$c156=peg$literalExpectation("Aqua",!1),peg$c157="aquamarine",peg$c158=peg$literalExpectation("aquamarine",!1),peg$c159=function(){return"#7fffd4ff"},peg$c160="Aquamarine",peg$c161=peg$literalExpectation("Aquamarine",!1),peg$c162="azure",peg$c163=peg$literalExpectation("azure",!1),peg$c164=function(){return"#f0ffffff"},peg$c165="Azure",peg$c166=peg$literalExpectation("Azure",!1),peg$c167="beige",peg$c168=peg$literalExpectation("beige",!1),peg$c169=function(){return"#f5f5dcff"},peg$c170="Beige",peg$c171=peg$literalExpectation("Beige",!1),peg$c172="bisque",peg$c173=peg$literalExpectation("bisque",!1),peg$c174=function(){return"#ffe4c4ff"},peg$c175="Bisque",peg$c176=peg$literalExpectation("Bisque",!1),peg$c177="black",peg$c178=peg$literalExpectation("black",!1),peg$c179=function(){return"#000000ff"},peg$c180="Black",peg$c181=peg$literalExpectation("Black",!1),peg$c182="blanchedalmond",peg$c183=peg$literalExpectation("blanchedalmond",!1),peg$c184=function(){return"#ffebcdff"},peg$c185="BlanchedAlmond",peg$c186=peg$literalExpectation("BlanchedAlmond",!1),peg$c187="blue",peg$c188=peg$literalExpectation("blue",!1),peg$c189=function(){return"#0000ffff"},peg$c190="Blue",peg$c191=peg$literalExpectation("Blue",!1),peg$c192="blueviolet",peg$c193=peg$literalExpectation("blueviolet",!1),peg$c194=function(){return"#8a2be2ff"},peg$c195="BlueViolet",peg$c196=peg$literalExpectation("BlueViolet",!1),peg$c197="brown",peg$c198=peg$literalExpectation("brown",!1),peg$c199=function(){return"#a52a2aff"},peg$c200="Brown",peg$c201=peg$literalExpectation("Brown",!1),peg$c202="burlywood",peg$c203=peg$literalExpectation("burlywood",!1),peg$c204=function(){return"#deb887ff"},peg$c205="BurlyWood",peg$c206=peg$literalExpectation("BurlyWood",!1),peg$c207="cadetblue",peg$c208=peg$literalExpectation("cadetblue",!1),peg$c209=function(){return"#5f9ea0ff"},peg$c210="CadetBlue",peg$c211=peg$literalExpectation("CadetBlue",!1),peg$c212="chartreuse",peg$c213=peg$literalExpectation("chartreuse",!1),peg$c214=function(){return"#7fff00ff"},peg$c215="Chartreuse",peg$c216=peg$literalExpectation("Chartreuse",!1),peg$c217="chocolate",peg$c218=peg$literalExpectation("chocolate",!1),peg$c219=function(){return"#d2691eff"},peg$c220="Chocolate",peg$c221=peg$literalExpectation("Chocolate",!1),peg$c222="coral",peg$c223=peg$literalExpectation("coral",!1),peg$c224=function(){return"#ff7f50ff"},peg$c225="Coral",peg$c226=peg$literalExpectation("Coral",!1),peg$c227="cornflowerblue",peg$c228=peg$literalExpectation("cornflowerblue",!1),peg$c229=function(){return"#6495edff"},peg$c230="CornflowerBlue",peg$c231=peg$literalExpectation("CornflowerBlue",!1),peg$c232="cornsilk",peg$c233=peg$literalExpectation("cornsilk",!1),peg$c234=function(){return"#fff8dcff"},peg$c235="Cornsilk",peg$c236=peg$literalExpectation("Cornsilk",!1),peg$c237="crimson",peg$c238=peg$literalExpectation("crimson",!1),peg$c239=function(){return"#dc143cff"},peg$c240="Crimson",peg$c241=peg$literalExpectation("Crimson",!1),peg$c242="cyan",peg$c243=peg$literalExpectation("cyan",!1),peg$c244="Cyan",peg$c245=peg$literalExpectation("Cyan",!1),peg$c246="darkblue",peg$c247=peg$literalExpectation("darkblue",!1),peg$c248=function(){return"#00008bff"},peg$c249="DarkBlue",peg$c250=peg$literalExpectation("DarkBlue",!1),peg$c251="darkcyan",peg$c252=peg$literalExpectation("darkcyan",!1),peg$c253=function(){return"#008b8bff"},peg$c254="DarkCyan",peg$c255=peg$literalExpectation("DarkCyan",!1),peg$c256="darkgoldenrod",peg$c257=peg$literalExpectation("darkgoldenrod",!1),peg$c258=function(){return"#b8860bff"},peg$c259="DarkGoldenRod",peg$c260=peg$literalExpectation("DarkGoldenRod",!1),peg$c261="darkgray",peg$c262=peg$literalExpectation("darkgray",!1),peg$c263=function(){return"#a9a9a9ff"},peg$c264="DarkGray",peg$c265=peg$literalExpectation("DarkGray",!1),peg$c266="darkgrey",peg$c267=peg$literalExpectation("darkgrey",!1),peg$c268="DarkGrey",peg$c269=peg$literalExpectation("DarkGrey",!1),peg$c270="darkgreen",peg$c271=peg$literalExpectation("darkgreen",!1),peg$c272=function(){return"#006400ff"},peg$c273="DarkGreen",peg$c274=peg$literalExpectation("DarkGreen",!1),peg$c275="darkkhaki",peg$c276=peg$literalExpectation("darkkhaki",!1),peg$c277=function(){return"#bdb76bff"},peg$c278="DarkKhaki",peg$c279=peg$literalExpectation("DarkKhaki",!1),peg$c280="darkmagenta",peg$c281=peg$literalExpectation("darkmagenta",!1),peg$c282=function(){return"#8b008bff"},peg$c283="DarkMagenta",peg$c284=peg$literalExpectation("DarkMagenta",!1),peg$c285="darkolivegreen",peg$c286=peg$literalExpectation("darkolivegreen",!1),peg$c287=function(){return"#556b2fff"},peg$c288="DarkOliveGreen",peg$c289=peg$literalExpectation("DarkOliveGreen",!1),peg$c290="darkorange",peg$c291=peg$literalExpectation("darkorange",!1),peg$c292=function(){return"#ff8c00ff"},peg$c293="Darkorange",peg$c294=peg$literalExpectation("Darkorange",!1),peg$c295="darkorchid",peg$c296=peg$literalExpectation("darkorchid",!1),peg$c297=function(){return"#9932ccff"},peg$c298="DarkOrchid",peg$c299=peg$literalExpectation("DarkOrchid",!1),peg$c300="darkred",peg$c301=peg$literalExpectation("darkred",!1),peg$c302=function(){return"#8b0000ff"},peg$c303="DarkRed",peg$c304=peg$literalExpectation("DarkRed",!1),peg$c305="darksalmon",peg$c306=peg$literalExpectation("darksalmon",!1),peg$c307=function(){return"#e9967aff"},peg$c308="DarkSalmon",peg$c309=peg$literalExpectation("DarkSalmon",!1),peg$c310="darkseagreen",peg$c311=peg$literalExpectation("darkseagreen",!1),peg$c312=function(){return"#8fbc8fff"},peg$c313="DarkSeaGreen",peg$c314=peg$literalExpectation("DarkSeaGreen",!1),peg$c315="darkslateblue",peg$c316=peg$literalExpectation("darkslateblue",!1),peg$c317=function(){return"#483d8bff"},peg$c318="DarkSlateBlue",peg$c319=peg$literalExpectation("DarkSlateBlue",!1),peg$c320="darkslategray",peg$c321=peg$literalExpectation("darkslategray",!1),peg$c322=function(){return"#2f4f4fff"},peg$c323="DarkSlateGray",peg$c324=peg$literalExpectation("DarkSlateGray",!1),peg$c325="darkslategrey",peg$c326=peg$literalExpectation("darkslategrey",!1),peg$c327="DarkSlateGrey",peg$c328=peg$literalExpectation("DarkSlateGrey",!1),peg$c329="darkturquoise",peg$c330=peg$literalExpectation("darkturquoise",!1),peg$c331=function(){return"#00ced1ff"},peg$c332="DarkTurquoise",peg$c333=peg$literalExpectation("DarkTurquoise",!1),peg$c334="darkviolet",peg$c335=peg$literalExpectation("darkviolet",!1),peg$c336=function(){return"#9400d3ff"},peg$c337="DarkViolet",peg$c338=peg$literalExpectation("DarkViolet",!1),peg$c339="deeppink",peg$c340=peg$literalExpectation("deeppink",!1),peg$c341=function(){return"#ff1493ff"},peg$c342="DeepPink",peg$c343=peg$literalExpectation("DeepPink",!1),peg$c344="deepskyblue",peg$c345=peg$literalExpectation("deepskyblue",!1),peg$c346=function(){return"#00bfffff"},peg$c347="DeepSkyBlue",peg$c348=peg$literalExpectation("DeepSkyBlue",!1),peg$c349="dimgray",peg$c350=peg$literalExpectation("dimgray",!1),peg$c351=function(){return"#696969ff"},peg$c352="DimGray",peg$c353=peg$literalExpectation("DimGray",!1),peg$c354="dimgrey",peg$c355=peg$literalExpectation("dimgrey",!1),peg$c356="DimGrey",peg$c357=peg$literalExpectation("DimGrey",!1),peg$c358="dodgerblue",peg$c359=peg$literalExpectation("dodgerblue",!1),peg$c360=function(){return"#1e90ffff"},peg$c361="DodgerBlue",peg$c362=peg$literalExpectation("DodgerBlue",!1),peg$c363="firebrick",peg$c364=peg$literalExpectation("firebrick",!1),peg$c365=function(){return"#b22222ff"},peg$c366="FireBrick",peg$c367=peg$literalExpectation("FireBrick",!1),peg$c368="floralwhite",peg$c369=peg$literalExpectation("floralwhite",!1),peg$c370=function(){return"#fffaf0ff"},peg$c371="FloralWhite",peg$c372=peg$literalExpectation("FloralWhite",!1),peg$c373="forestgreen",peg$c374=peg$literalExpectation("forestgreen",!1),peg$c375=function(){return"#228b22ff"},peg$c376="ForestGreen",peg$c377=peg$literalExpectation("ForestGreen",!1),peg$c378="fuchsia",peg$c379=peg$literalExpectation("fuchsia",!1),peg$c380=function(){return"#ff00ffff"},peg$c381="Fuchsia",peg$c382=peg$literalExpectation("Fuchsia",!1),peg$c383="gainsboro",peg$c384=peg$literalExpectation("gainsboro",!1),peg$c385=function(){return"#dcdcdcff"},peg$c386="Gainsboro",peg$c387=peg$literalExpectation("Gainsboro",!1),peg$c388="ghostwhite",peg$c389=peg$literalExpectation("ghostwhite",!1),peg$c390=function(){return"#f8f8ffff"},peg$c391="GhostWhite",peg$c392=peg$literalExpectation("GhostWhite",!1),peg$c393="gold",peg$c394=peg$literalExpectation("gold",!1),peg$c395=function(){return"#ffd700ff"},peg$c396="Gold",peg$c397=peg$literalExpectation("Gold",!1),peg$c398="goldenrod",peg$c399=peg$literalExpectation("goldenrod",!1),peg$c400=function(){return"#daa520ff"},peg$c401="GoldenRod",peg$c402=peg$literalExpectation("GoldenRod",!1),peg$c403="gray",peg$c404=peg$literalExpectation("gray",!1),peg$c405=function(){return"#808080ff"},peg$c406="Gray",peg$c407=peg$literalExpectation("Gray",!1),peg$c408="grey",peg$c409=peg$literalExpectation("grey",!1),peg$c410="Grey",peg$c411=peg$literalExpectation("Grey",!1),peg$c412="green",peg$c413=peg$literalExpectation("green",!1),peg$c414=function(){return"#008000ff"},peg$c415="Green",peg$c416=peg$literalExpectation("Green",!1),peg$c417="greenyellow",peg$c418=peg$literalExpectation("greenyellow",!1),peg$c419=function(){return"#adff2fff"},peg$c420="GreenYellow",peg$c421=peg$literalExpectation("GreenYellow",!1),peg$c422="honeydew",peg$c423=peg$literalExpectation("honeydew",!1),peg$c424=function(){return"#f0fff0ff"},peg$c425="HoneyDew",peg$c426=peg$literalExpectation("HoneyDew",!1),peg$c427="hotpink",peg$c428=peg$literalExpectation("hotpink",!1),peg$c429=function(){return"#ff69b4ff"},peg$c430="HotPink",peg$c431=peg$literalExpectation("HotPink",!1),peg$c432="indianred",peg$c433=peg$literalExpectation("indianred",!1),peg$c434=function(){return"#cd5c5cff"},peg$c435="IndianRed",peg$c436=peg$literalExpectation("IndianRed",!1),peg$c437="indigo",peg$c438=peg$literalExpectation("indigo",!1),peg$c439=function(){return"#4b0082ff"},peg$c440="Indigo",peg$c441=peg$literalExpectation("Indigo",!1),peg$c442="ivory",peg$c443=peg$literalExpectation("ivory",!1),peg$c444=function(){return"#fffff0ff"},peg$c445="Ivory",peg$c446=peg$literalExpectation("Ivory",!1),peg$c447="khaki",peg$c448=peg$literalExpectation("khaki",!1),peg$c449=function(){return"#f0e68cff"},peg$c450="Khaki",peg$c451=peg$literalExpectation("Khaki",!1),peg$c452="lavender",peg$c453=peg$literalExpectation("lavender",!1),peg$c454=function(){return"#e6e6faff"},peg$c455="Lavender",peg$c456=peg$literalExpectation("Lavender",!1),peg$c457="lavenderblush",peg$c458=peg$literalExpectation("lavenderblush",!1),peg$c459=function(){return"#fff0f5ff"},peg$c460="LavenderBlush",peg$c461=peg$literalExpectation("LavenderBlush",!1),peg$c462="lawngreen",peg$c463=peg$literalExpectation("lawngreen",!1),peg$c464=function(){return"#7cfc00ff"},peg$c465="LawnGreen",peg$c466=peg$literalExpectation("LawnGreen",!1),peg$c467="lemonchiffon",peg$c468=peg$literalExpectation("lemonchiffon",!1),peg$c469=function(){return"#fffacdff"},peg$c470="LemonChiffon",peg$c471=peg$literalExpectation("LemonChiffon",!1),peg$c472="lightblue",peg$c473=peg$literalExpectation("lightblue",!1),peg$c474=function(){return"#add8e6ff"},peg$c475="LightBlue",peg$c476=peg$literalExpectation("LightBlue",!1),peg$c477="lightcoral",peg$c478=peg$literalExpectation("lightcoral",!1),peg$c479=function(){return"#f08080ff"},peg$c480="LightCoral",peg$c481=peg$literalExpectation("LightCoral",!1),peg$c482="lightcyan",peg$c483=peg$literalExpectation("lightcyan",!1),peg$c484=function(){return"#e0ffffff"},peg$c485="LightCyan",peg$c486=peg$literalExpectation("LightCyan",!1),peg$c487="lightgoldenrodyellow",peg$c488=peg$literalExpectation("lightgoldenrodyellow",!1),peg$c489=function(){return"#fafad2ff"},peg$c490="LightGoldenRodYellow",peg$c491=peg$literalExpectation("LightGoldenRodYellow",!1),peg$c492="lightgray",peg$c493=peg$literalExpectation("lightgray",!1),peg$c494=function(){return"#d3d3d3ff"},peg$c495="LightGray",peg$c496=peg$literalExpectation("LightGray",!1),peg$c497="lightgrey",peg$c498=peg$literalExpectation("lightgrey",!1),peg$c499="LightGrey",peg$c500=peg$literalExpectation("LightGrey",!1),peg$c501="lightgreen",peg$c502=peg$literalExpectation("lightgreen",!1),peg$c503=function(){return"#90ee90ff"},peg$c504="LightGreen",peg$c505=peg$literalExpectation("LightGreen",!1),peg$c506="lightpink",peg$c507=peg$literalExpectation("lightpink",!1),peg$c508=function(){return"#ffb6c1ff"},peg$c509="LightPink",peg$c510=peg$literalExpectation("LightPink",!1),peg$c511="lightsalmon",peg$c512=peg$literalExpectation("lightsalmon",!1),peg$c513=function(){return"#ffa07aff"},peg$c514="LightSalmon",peg$c515=peg$literalExpectation("LightSalmon",!1),peg$c516="lightseagreen",peg$c517=peg$literalExpectation("lightseagreen",!1),peg$c518=function(){return"#20b2aaff"},peg$c519="LightSeaGreen",peg$c520=peg$literalExpectation("LightSeaGreen",!1),peg$c521="lightskyblue",peg$c522=peg$literalExpectation("lightskyblue",!1),peg$c523=function(){return"#87cefaff"},peg$c524="LightSkyBlue",peg$c525=peg$literalExpectation("LightSkyBlue",!1),peg$c526="lightslategray",peg$c527=peg$literalExpectation("lightslategray",!1),peg$c528=function(){return"#778899ff"},peg$c529="LightSlateGray",peg$c530=peg$literalExpectation("LightSlateGray",!1),peg$c531="lightslategrey",peg$c532=peg$literalExpectation("lightslategrey",!1),peg$c533="LightSlateGrey",peg$c534=peg$literalExpectation("LightSlateGrey",!1),peg$c535="lightsteelblue",peg$c536=peg$literalExpectation("lightsteelblue",!1),peg$c537=function(){return"#b0c4deff"},peg$c538="LightSteelBlue",peg$c539=peg$literalExpectation("LightSteelBlue",!1),peg$c540="lightyellow",peg$c541=peg$literalExpectation("lightyellow",!1),peg$c542=function(){return"#ffffe0ff"},peg$c543="LightYellow",peg$c544=peg$literalExpectation("LightYellow",!1),peg$c545="lime",peg$c546=peg$literalExpectation("lime",!1),peg$c547=function(){return"#00ff00ff"},peg$c548="Lime",peg$c549=peg$literalExpectation("Lime",!1),peg$c550="limegreen",peg$c551=peg$literalExpectation("limegreen",!1),peg$c552=function(){return"#32cd32ff"},peg$c553="LimeGreen",peg$c554=peg$literalExpectation("LimeGreen",!1),peg$c555="linen",peg$c556=peg$literalExpectation("linen",!1),peg$c557=function(){return"#faf0e6ff"},peg$c558="Linen",peg$c559=peg$literalExpectation("Linen",!1),peg$c560="magenta",peg$c561=peg$literalExpectation("magenta",!1),peg$c562="Magenta",peg$c563=peg$literalExpectation("Magenta",!1),peg$c564="maroon",peg$c565=peg$literalExpectation("maroon",!1),peg$c566=function(){return"#800000ff"},peg$c567="Maroon",peg$c568=peg$literalExpectation("Maroon",!1),peg$c569="mediumaquamarine",peg$c570=peg$literalExpectation("mediumaquamarine",!1),peg$c571=function(){return"#66cdaaff"},peg$c572="MediumAquaMarine",peg$c573=peg$literalExpectation("MediumAquaMarine",!1),peg$c574="mediumblue",peg$c575=peg$literalExpectation("mediumblue",!1),peg$c576=function(){return"#0000cdff"},peg$c577="MediumBlue",peg$c578=peg$literalExpectation("MediumBlue",!1),peg$c579="mediumorchid",peg$c580=peg$literalExpectation("mediumorchid",!1),peg$c581=function(){return"#ba55d3ff"},peg$c582="MediumOrchid",peg$c583=peg$literalExpectation("MediumOrchid",!1),peg$c584="mediumpurple",peg$c585=peg$literalExpectation("mediumpurple",!1),peg$c586=function(){return"#9370d8ff"},peg$c587="MediumPurple",peg$c588=peg$literalExpectation("MediumPurple",!1),peg$c589="mediumseagreen",peg$c590=peg$literalExpectation("mediumseagreen",!1),peg$c591=function(){return"#3cb371ff"},peg$c592="MediumSeaGreen",peg$c593=peg$literalExpectation("MediumSeaGreen",!1),peg$c594="mediumslateblue",peg$c595=peg$literalExpectation("mediumslateblue",!1),peg$c596=function(){return"#7b68eeff"},peg$c597="MediumSlateBlue",peg$c598=peg$literalExpectation("MediumSlateBlue",!1),peg$c599="mediumspringgreen",peg$c600=peg$literalExpectation("mediumspringgreen",!1),peg$c601=function(){return"#00fa9aff"},peg$c602="MediumSpringGreen",peg$c603=peg$literalExpectation("MediumSpringGreen",!1),peg$c604="mediumturquoise",peg$c605=peg$literalExpectation("mediumturquoise",!1),peg$c606=function(){return"#48d1ccff"},peg$c607="MediumTurquoise",peg$c608=peg$literalExpectation("MediumTurquoise",!1),peg$c609="mediumvioletred",peg$c610=peg$literalExpectation("mediumvioletred",!1),peg$c611=function(){return"#c71585ff"},peg$c612="MediumVioletRed",peg$c613=peg$literalExpectation("MediumVioletRed",!1),peg$c614="midnightblue",peg$c615=peg$literalExpectation("midnightblue",!1),peg$c616=function(){return"#191970ff"},peg$c617="MidnightBlue",peg$c618=peg$literalExpectation("MidnightBlue",!1),peg$c619="mintcream",peg$c620=peg$literalExpectation("mintcream",!1),peg$c621=function(){return"#f5fffaff"},peg$c622="MintCream",peg$c623=peg$literalExpectation("MintCream",!1),peg$c624="mistyrose",peg$c625=peg$literalExpectation("mistyrose",!1),peg$c626=function(){return"#ffe4e1ff"},peg$c627="MistyRose",peg$c628=peg$literalExpectation("MistyRose",!1),peg$c629="moccasin",peg$c630=peg$literalExpectation("moccasin",!1),peg$c631=function(){return"#ffe4b5ff"},peg$c632="Moccasin",peg$c633=peg$literalExpectation("Moccasin",!1),peg$c634="navajowhite",peg$c635=peg$literalExpectation("navajowhite",!1),peg$c636=function(){return"#ffdeadff"},peg$c637="NavajoWhite",peg$c638=peg$literalExpectation("NavajoWhite",!1),peg$c639="navy",peg$c640=peg$literalExpectation("navy",!1),peg$c641=function(){return"#000080ff"},peg$c642="Navy",peg$c643=peg$literalExpectation("Navy",!1),peg$c644="oldlace",peg$c645=peg$literalExpectation("oldlace",!1),peg$c646=function(){return"#fdf5e6ff"},peg$c647="OldLace",peg$c648=peg$literalExpectation("OldLace",!1),peg$c649="olive",peg$c650=peg$literalExpectation("olive",!1),peg$c651=function(){return"#808000ff"},peg$c652="Olive",peg$c653=peg$literalExpectation("Olive",!1),peg$c654="olivedrab",peg$c655=peg$literalExpectation("olivedrab",!1),peg$c656=function(){return"#6b8e23ff"},peg$c657="OliveDrab",peg$c658=peg$literalExpectation("OliveDrab",!1),peg$c659="orange",peg$c660=peg$literalExpectation("orange",!1),peg$c661=function(){return"#ffa500ff"},peg$c662="Orange",peg$c663=peg$literalExpectation("Orange",!1),peg$c664="orangered",peg$c665=peg$literalExpectation("orangered",!1),peg$c666=function(){return"#ff4500ff"},peg$c667="OrangeRed",peg$c668=peg$literalExpectation("OrangeRed",!1),peg$c669="orchid",peg$c670=peg$literalExpectation("orchid",!1),peg$c671=function(){return"#da70d6ff"},peg$c672="Orchid",peg$c673=peg$literalExpectation("Orchid",!1),peg$c674="palegoldenrod",peg$c675=peg$literalExpectation("palegoldenrod",!1),peg$c676=function(){return"#eee8aaff"},peg$c677="PaleGoldenRod",peg$c678=peg$literalExpectation("PaleGoldenRod",!1),peg$c679="palegreen",peg$c680=peg$literalExpectation("palegreen",!1),peg$c681=function(){return"#98fb98ff"},peg$c682="PaleGreen",peg$c683=peg$literalExpectation("PaleGreen",!1),peg$c684="paleturquoise",peg$c685=peg$literalExpectation("paleturquoise",!1),peg$c686=function(){return"#afeeeeff"},peg$c687="PaleTurquoise",peg$c688=peg$literalExpectation("PaleTurquoise",!1),peg$c689="palevioletred",peg$c690=peg$literalExpectation("palevioletred",!1),peg$c691=function(){return"#d87093ff"},peg$c692="PaleVioletRed",peg$c693=peg$literalExpectation("PaleVioletRed",!1),peg$c694="papayawhip",peg$c695=peg$literalExpectation("papayawhip",!1),peg$c696=function(){return"#ffefd5ff"},peg$c697="PapayaWhip",peg$c698=peg$literalExpectation("PapayaWhip",!1),peg$c699="peachpuff",peg$c700=peg$literalExpectation("peachpuff",!1),peg$c701=function(){return"#ffdab9ff"},peg$c702="PeachPuff",peg$c703=peg$literalExpectation("PeachPuff",!1),peg$c704="peru",peg$c705=peg$literalExpectation("peru",!1),peg$c706=function(){return"#cd853fff"},peg$c707="Peru",peg$c708=peg$literalExpectation("Peru",!1),peg$c709="pink",peg$c710=peg$literalExpectation("pink",!1),peg$c711=function(){return"#ffc0cbff"},peg$c712="Pink",peg$c713=peg$literalExpectation("Pink",!1),peg$c714="plum",peg$c715=peg$literalExpectation("plum",!1),peg$c716=function(){return"#dda0ddff"},peg$c717="Plum",peg$c718=peg$literalExpectation("Plum",!1),peg$c719="powderblue",peg$c720=peg$literalExpectation("powderblue",!1),peg$c721=function(){return"#b0e0e6ff"},peg$c722="PowderBlue",peg$c723=peg$literalExpectation("PowderBlue",!1),peg$c724="purple",peg$c725=peg$literalExpectation("purple",!1),peg$c726=function(){return"#800080ff"},peg$c727="Purple",peg$c728=peg$literalExpectation("Purple",!1),peg$c729="red",peg$c730=peg$literalExpectation("red",!1),peg$c731=function(){return"#ff0000ff"},peg$c732="Red",peg$c733=peg$literalExpectation("Red",!1),peg$c734="rosybrown",peg$c735=peg$literalExpectation("rosybrown",!1),peg$c736=function(){return"#bc8f8fff"},peg$c737="RosyBrown",peg$c738=peg$literalExpectation("RosyBrown",!1),peg$c739="royalblue",peg$c740=peg$literalExpectation("royalblue",!1),peg$c741=function(){return"#4169e1ff"},peg$c742="RoyalBlue",peg$c743=peg$literalExpectation("RoyalBlue",!1),peg$c744="saddlebrown",peg$c745=peg$literalExpectation("saddlebrown",!1),peg$c746=function(){return"#8b4513ff"},peg$c747="SaddleBrown",peg$c748=peg$literalExpectation("SaddleBrown",!1),peg$c749="salmon",peg$c750=peg$literalExpectation("salmon",!1),peg$c751=function(){return"#fa8072ff"},peg$c752="Salmon",peg$c753=peg$literalExpectation("Salmon",!1),peg$c754="sandybrown",peg$c755=peg$literalExpectation("sandybrown",!1),peg$c756=function(){return"#f4a460ff"},peg$c757="SandyBrown",peg$c758=peg$literalExpectation("SandyBrown",!1),peg$c759="seagreen",peg$c760=peg$literalExpectation("seagreen",!1),peg$c761=function(){return"#2e8b57ff"},peg$c762="SeaGreen",peg$c763=peg$literalExpectation("SeaGreen",!1),peg$c764="seashell",peg$c765=peg$literalExpectation("seashell",!1),peg$c766=function(){return"#fff5eeff"},peg$c767="SeaShell",peg$c768=peg$literalExpectation("SeaShell",!1),peg$c769="sienna",peg$c770=peg$literalExpectation("sienna",!1),peg$c771=function(){return"#a0522dff"},peg$c772="Sienna",peg$c773=peg$literalExpectation("Sienna",!1),peg$c774="silver",peg$c775=peg$literalExpectation("silver",!1),peg$c776=function(){return"#c0c0c0ff"},peg$c777="Silver",peg$c778=peg$literalExpectation("Silver",!1),peg$c779="skyblue",peg$c780=peg$literalExpectation("skyblue",!1),peg$c781=function(){return"#87ceebff"},peg$c782="SkyBlue",peg$c783=peg$literalExpectation("SkyBlue",!1),peg$c784="slateblue",peg$c785=peg$literalExpectation("slateblue",!1),peg$c786=function(){return"#6a5acdff"},peg$c787="SlateBlue",peg$c788=peg$literalExpectation("SlateBlue",!1),peg$c789="slategray",peg$c790=peg$literalExpectation("slategray",!1),peg$c791=function(){return"#708090ff"},peg$c792="SlateGray",peg$c793=peg$literalExpectation("SlateGray",!1),peg$c794="slategrey",peg$c795=peg$literalExpectation("slategrey",!1),peg$c796="SlateGrey",peg$c797=peg$literalExpectation("SlateGrey",!1),peg$c798="snow",peg$c799=peg$literalExpectation("snow",!1),peg$c800=function(){return"#fffafaff"},peg$c801="Snow",peg$c802=peg$literalExpectation("Snow",!1),peg$c803="springgreen",peg$c804=peg$literalExpectation("springgreen",!1),peg$c805=function(){return"#00ff7fff"},peg$c806="SpringGreen",peg$c807=peg$literalExpectation("SpringGreen",!1),peg$c808="steelblue",peg$c809=peg$literalExpectation("steelblue",!1),peg$c810=function(){return"#4682b4ff"},peg$c811="SteelBlue",peg$c812=peg$literalExpectation("SteelBlue",!1),peg$c813="tan",peg$c814=peg$literalExpectation("tan",!1),peg$c815=function(){return"#d2b48cff"},peg$c816="Tan",peg$c817=peg$literalExpectation("Tan",!1),peg$c818="teal",peg$c819=peg$literalExpectation("teal",!1),peg$c820=function(){return"#008080ff"},peg$c821="Teal",peg$c822=peg$literalExpectation("Teal",!1),peg$c823="thistle",peg$c824=peg$literalExpectation("thistle",!1),peg$c825=function(){return"#d8bfd8ff"},peg$c826="Thistle",peg$c827=peg$literalExpectation("Thistle",!1),peg$c828="tomato",peg$c829=peg$literalExpectation("tomato",!1),peg$c830=function(){return"#ff6347ff"},peg$c831="Tomato",peg$c832=peg$literalExpectation("Tomato",!1),peg$c833="turquoise",peg$c834=peg$literalExpectation("turquoise",!1),peg$c835=function(){return"#40e0d0ff"},peg$c836="Turquoise",peg$c837=peg$literalExpectation("Turquoise",!1),peg$c838="violet",peg$c839=peg$literalExpectation("violet",!1),peg$c840=function(){return"#ee82eeff"},peg$c841="Violet",peg$c842=peg$literalExpectation("Violet",!1),peg$c843="wheat",peg$c844=peg$literalExpectation("wheat",!1),peg$c845=function(){return"#f5deb3ff"},peg$c846="Wheat",peg$c847=peg$literalExpectation("Wheat",!1),peg$c848="white",peg$c849=peg$literalExpectation("white",!1),peg$c850=function(){return"#ffffffff"},peg$c851="White",peg$c852=peg$literalExpectation("White",!1),peg$c853="whitesmoke",peg$c854=peg$literalExpectation("whitesmoke",!1),peg$c855=function(){return"#f5f5f5ff"},peg$c856="WhiteSmoke",peg$c857=peg$literalExpectation("WhiteSmoke",!1),peg$c858="yellow",peg$c859=peg$literalExpectation("yellow",!1),peg$c860=function(){return"#ffff00ff"},peg$c861="Yellow",peg$c862=peg$literalExpectation("Yellow",!1),peg$c863="yellowgreen",peg$c864=peg$literalExpectation("yellowgreen",!1),peg$c865=function(){return"#9acd32ff"},peg$c866="YellowGreen",peg$c867=peg$literalExpectation("YellowGreen",!1),peg$c868="#",peg$c869=peg$literalExpectation("#",!1),peg$c870=function(r,g,b){return""+r+r+g+g+b+b+"ff"},peg$c871=function(r1,r2,g1,g2,b1,b2){return""+r1+r2+g1+g2+b1+b2+"ff"},peg$c872=function(r,g,b,a){return""+r+r+g+g+b+b+a+a},peg$c873=function(r1,r2,g1,g2,b1,b2,a1,a2){return""+r1+r2+g1+g2+b1+b2+a1+a2},peg$c874=peg$otherExpectation("color"),peg$c875="arc_label",peg$c876=peg$literalExpectation("arc_label",!1),peg$c877="head_label",peg$c878=peg$literalExpectation("head_label",!1),peg$c879="tail_label",peg$c880=peg$literalExpectation("tail_label",!1),peg$c881=":",peg$c882=peg$literalExpectation(":",!1),peg$c883=";",peg$c884=peg$literalExpectation(";",!1),peg$c885=function(key,value){return{key:key,value:value}},peg$c886=peg$otherExpectation("single edge color"),peg$c887="edge_color",peg$c888=peg$literalExpectation("edge_color",!1),peg$c889=function(value){return{key:"single_edge_color",value:value}},peg$c890="{",peg$c891=peg$literalExpectation("{",!1),peg$c892="}",peg$c893=peg$literalExpectation("}",!1),peg$c894=function(items){return items},peg$c895="%",peg$c896=peg$literalExpectation("%",!1),peg$c897=function(value){return{key:"arrow probability",value:value}},peg$c898="[",peg$c899=peg$literalExpectation("[",!1),peg$c900="]",peg$c901=peg$literalExpectation("]",!1),peg$c902=function(names){return names.map(function(i){return i[0]})},peg$c903=function(r_action,r_prob,l_desc,arrow,r_desc,l_prob,l_action,label,tail){var base={kind:arrow,to:label};return tail&&tail!==[]&&(base.se=tail),l_desc&&(base.l_desc=l_desc),r_desc&&(base.r_desc=r_desc),l_action&&(base.l_action=l_action),r_action&&(base.r_action=r_action),l_prob&&(base.l_probability=l_prob.value),r_prob&&(base.r_probability=r_prob.value),base},peg$c904=function(label,se){var base={key:"transition",from:label};return se&&se!==[]&&(base.se=se),base},peg$c905="whargarbl",peg$c906=peg$literalExpectation("whargarbl",!1),peg$c907="todo",peg$c908=peg$literalExpectation("todo",!1),peg$c909=function(validationkey,value){return{key:validationkey,value:value}},peg$c910="validation",peg$c911=peg$literalExpectation("validation",!1),peg$c912="};",peg$c913=peg$literalExpectation("};",!1),peg$c914=function(validation_items){return{config_kind:"validation",config_items:validation_items||[]}},peg$c915="dot",peg$c916=peg$literalExpectation("dot",!1),peg$c917="circo",peg$c918=peg$literalExpectation("circo",!1),peg$c919="fdp",peg$c920=peg$literalExpectation("fdp",!1),peg$c921="neato",peg$c922=peg$literalExpectation("neato",!1),peg$c923="in_shape",peg$c924=peg$literalExpectation("in_shape",!1),peg$c925="out_shape",peg$c926=peg$literalExpectation("out_shape",!1),peg$c927="node_shape",peg$c928=peg$literalExpectation("node_shape",!1),peg$c929="state",peg$c930=peg$literalExpectation("state",!1),peg$c931=function(state_items){return{config_kind:"state",config_items:state_items||[]}},peg$c932=function(actionkey,value){return{key:actionkey,value:value}},peg$c933="action",peg$c934=peg$literalExpectation("action",!1),peg$c935=function(action_items){return{config_kind:"action",config_items:action_items||[]}},peg$c936=function(transitionkey,value){return{key:transitionkey,value:value}},peg$c937=peg$otherExpectation("graph default edge color"),peg$c938=function(value){return{key:"graph_default_edge_color",value:value}},peg$c939="transition",peg$c940=peg$literalExpectation("transition",!1),peg$c941=function(transition_items){return{config_kind:"transition",config_items:transition_items||[]}},peg$c942="graph_layout",peg$c943=peg$literalExpectation("graph_layout",!1),peg$c944=function(value){return{key:"graph_layout",value:value}},peg$c945="start_states",peg$c946=peg$literalExpectation("start_states",!1),peg$c947=function(value){return{key:"start_states",value:value}},peg$c948="end_states",peg$c949=peg$literalExpectation("end_states",!1),peg$c950=function(value){return{key:"end_states",value:value}},peg$c951="graph_bg_color",peg$c952=peg$literalExpectation("graph_bg_color",!1),peg$c953=function(value){return{key:"graph_bg_color",value:value}},peg$c954=peg$otherExpectation("configuration"),peg$c955="MIT",peg$c956=peg$literalExpectation("MIT",!1),peg$c957="BSD 2-clause",peg$c958=peg$literalExpectation("BSD 2-clause",!1),peg$c959="BSD 3-clause",peg$c960=peg$literalExpectation("BSD 3-clause",!1),peg$c961="Apache 2.0",peg$c962=peg$literalExpectation("Apache 2.0",!1),peg$c963="Mozilla 2.0",peg$c964=peg$literalExpectation("Mozilla 2.0",!1),peg$c965="Public domain",peg$c966=peg$literalExpectation("Public domain",!1),peg$c967="GPL v2",peg$c968=peg$literalExpectation("GPL v2",!1),peg$c969="GPL v3",peg$c970=peg$literalExpectation("GPL v3",!1),peg$c971="LGPL v2.1",peg$c972=peg$literalExpectation("LGPL v2.1",!1),peg$c973="LGPL v3.0",peg$c974=peg$literalExpectation("LGPL v3.0",!1),peg$c975="color",peg$c976=peg$literalExpectation("color",!1),peg$c977=function(value){return{key:"state color",value:value}},peg$c978=peg$otherExpectation("state quality"),peg$c979=function(name,value){return{key:"state quality",name:name,value:value}},peg$c980=peg$otherExpectation("state definition"),peg$c981=function(name,sq){return{key:"State qualities",value:sq}},peg$c982="machine_author",peg$c983=peg$literalExpectation("machine_author",!1),peg$c984=function(author){return{key:"machine_author",value:author}},peg$c985="machine_contributor",peg$c986=peg$literalExpectation("machine_contributor",!1),peg$c987=function(contributor){return{key:"machine_contributor",value:contributor}},peg$c988="machine_comment",peg$c989=peg$literalExpectation("machine_comment",!1),peg$c990=function(comment){return{key:"machine_comment",value:comment}},peg$c991="machine_definition",peg$c992=peg$literalExpectation("machine_definition",!1),peg$c993=function(definition){return{key:"machine_definition",value:definition}},peg$c994="machine_name",peg$c995=peg$literalExpectation("machine_name",!1),peg$c996=function(name){return{key:"machine_name",value:name}},peg$c1000=(peg$literalExpectation("machine_reference",!1),"machine_version"),peg$c1001=peg$literalExpectation("machine_version",!1),peg$c1002=function(version){return{key:"machine_version",value:version}},peg$c1003="machine_license",peg$c1004=peg$literalExpectation("machine_license",!1),peg$c1005=function(license){return{key:"machine_license",value:license}},peg$c1006="fsl_version",peg$c1007=peg$literalExpectation("fsl_version",!1),peg$c1008=function(fsl_version){return{key:"fsl_version",value:fsl_version}},peg$c1009="group",peg$c1010=peg$literalExpectation("group",!1),peg$c1011=function(name,nl){return{key:"group definition",value:{name:name,list:nl}}},peg$currPos=0,peg$savedPos=0,peg$posDetailsCache=[{line:1,column:1}],peg$maxFailPos=0,peg$maxFailExpected=[],peg$silentFails=0;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]}if((peg$result=peg$startRuleFunction())!==peg$FAILED&&peg$currPos===input.length)return peg$result;throw peg$result!==peg$FAILED&&peg$currPos1&&void 0!==arguments[1]?arguments[1]:"probability";if(!Array.isArray(options))throw new TypeError("options must be a non-empty array of objects");if("object"!==_typeof(options[0]))throw new TypeError("options must be a non-empty array of objects");for(var or_one=function(item){return void 0===item?1:item},rnd=function(cap){return Math.random()*cap}(options.reduce(function(acc,val){return acc+or_one(val[probability_property])},0)),cursor=0,cursor_sum=0;(cursor_sum+=or_one(options[cursor++][probability_property]))<=rnd;);return options[cursor-1]},seq=function(n){return new Array(n).fill(!0).map(function(_,i){return i})},histograph=function(a){return a.sort().reduce(function(m,v){return m.set(v,m.has(v)?m.get(v)+1:1),m},new Map)},weighted_sample_select=function(n,options,probability_property){return seq(n).map(function(i){return weighted_rand_select(options,probability_property)})};exports.seq=seq,exports.histograph=histograph,exports.weighted_histo_key=function(n,options,probability_property,extract){return histograph(weighted_sample_select(n,options,probability_property).map(function(s){return s[extract]}))},exports.weighted_rand_select=weighted_rand_select,exports.weighted_sample_select=weighted_sample_select},{}],jssm:[function(require,module,exports){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i":case"=>":case"~>":return"none";case"<-":case"<->":case"<-=>":case"<-~>":return"legal";case"<=":case"<=>":case"<=->":case"<=~>":return"main";case"<~":case"<~>":case"<~->":case"<~=>":return"forced";default:throw new Error("arrow_direction: unknown arrow type "+arrow)}}function arrow_right_kind(arrow){switch(String(arrow)){case"<-":case"<=":case"<~":return"none";case"->":case"<->":case"<=->":case"<~->":return"legal";case"=>":case"<=>":case"<-=>":case"<~=>":return"main";case"~>":case"<~>":case"<-~>":case"<=~>":return"forced";default:throw new Error("arrow_direction: unknown arrow type "+arrow)}}function compile_rule_transition_step(acc,from,to,this_se,next_se){var edges=[],uFrom=Array.isArray(from)?from:[from],uTo=Array.isArray(to)?to:[to];uFrom.map(function(f){uTo.map(function(t){var rk=arrow_right_kind(this_se.kind),lk=arrow_left_kind(this_se.kind),right={from:f,to:t,kind:rk,forced_only:"forced"===rk,main_path:"main"===rk};this_se.r_action&&(right.action=this_se.r_action),this_se.r_probability&&(right.probability=this_se.r_probability),"none"!==right.kind&&edges.push(right);var left={from:t,to:f,kind:lk,forced_only:"forced"===lk,main_path:"main"===lk};this_se.l_action&&(left.action=this_se.l_action),this_se.l_probability&&(left.probability=this_se.l_probability),"none"!==left.kind&&edges.push(left)})});var new_acc=acc.concat(edges);return next_se?compile_rule_transition_step(new_acc,to,next_se.to,next_se,next_se.se):new_acc}function compile_rule_handle_transition(rule){return compile_rule_transition_step([],rule.from,rule.se.to,rule.se,rule.se.se)}function compile_rule_handler(rule){if("transition"===rule.key)return{agg_as:"transition",val:compile_rule_handle_transition(rule)};if(["graph_layout","start_states","end_states","machine_name","machine_version","machine_comment","machine_author","machine_contributor","machine_definition","machine_reference","machine_license","fsl_version"].includes(rule.key))return{agg_as:rule.key,val:rule.value};throw new Error("compile_rule_handler: Unknown rule: "+JSON.stringify(rule))}function compile(tree){var _ref,results={graph_layout:[],transition:[],start_states:[],end_states:[],fsl_version:[],machine_author:[],machine_comment:[],machine_contributor:[],machine_definition:[],machine_license:[],machine_name:[],machine_reference:[],machine_version:[]};tree.map(function(tr){var rule=compile_rule_handler(tr),agg_as=rule.agg_as,val=rule.val;results[agg_as]=results[agg_as].concat(val)});var assembled_transitions=(_ref=[]).concat.apply(_ref,_toConsumableArray(results.transition)),result_cfg={start_states:results.start_states.length?results.start_states:[assembled_transitions[0].from],transitions:assembled_transitions};return["graph_layout","machine_name","machine_version","machine_comment","fsl_version","machine_license","machine_definition"].map(function(oneOnlyKey){if(results[oneOnlyKey].length>1)throw new Error("May only have one "+oneOnlyKey+" statement maximum: "+JSON.stringify(results[oneOnlyKey]));results[oneOnlyKey].length&&(result_cfg[oneOnlyKey]=results[oneOnlyKey][0])}),["machine_author","machine_contributor","machine_reference"].map(function(multiKey){results[multiKey].length&&(result_cfg[multiKey]=results[multiKey])}),result_cfg}function make(plan){return compile(parse(plan))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.weighted_histo_key=exports.weighted_sample_select=exports.histograph=exports.weighted_rand_select=exports.seq=exports.arrow_right_kind=exports.arrow_left_kind=exports.arrow_direction=exports.sm=exports.compile=exports.parse=exports.make=exports.Machine=exports.version=void 0;var _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:this.state();return{entrances:this.list_entrances(whichState),exits:this.list_exits(whichState)}}},{key:"list_entrances",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return(this._states.get(whichState)||{}).from||[]}},{key:"list_exits",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return(this._states.get(whichState)||{}).to||[]}},{key:"probable_exits_for",value:function(whichState){var _this2=this,wstate=this._states.get(whichState);if(!wstate)throw new Error("No such state "+JSON.stringify(whichState)+" in probable_exits_for");return wstate.to.map(function(ws){return _this2.lookup_transition_for(_this2.state(),ws)}).filter(Boolean)}},{key:"probabilistic_transition",value:function(){var selected=(0,_jssmUtil.weighted_rand_select)(this.probable_exits_for(this.state()));return this.transition(selected.to)}},{key:"probabilistic_walk",value:function(n){var _this3=this;return(0,_jssmUtil.seq)(n).map(function(){var state_was=_this3.state();return _this3.probabilistic_transition(),state_was}).concat([this.state()])}},{key:"probabilistic_histo_walk",value:function(n){return(0,_jssmUtil.histograph)(this.probabilistic_walk(n))}},{key:"actions",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state(),wstate=this._reverse_actions.get(whichState);if(wstate)return[].concat(_toConsumableArray(wstate.keys()));throw new Error("No such state "+JSON.stringify(whichState))}},{key:"list_states_having_action",value:function(whichState){var wstate=this._actions.get(whichState);if(wstate)return[].concat(_toConsumableArray(wstate.keys()));throw new Error("No such state "+JSON.stringify(whichState))}},{key:"list_exit_actions",value:function(){var _this4=this,whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state(),ra_base=this._reverse_actions.get(whichState);if(!ra_base)throw new Error("No such state "+JSON.stringify(whichState));return[].concat(_toConsumableArray(ra_base.values())).map(function(edgeId){return _this4._edges[edgeId]}).filter(function(o){return o.from===whichState}).map(function(filtered){return filtered.action})}},{key:"probable_action_exits",value:function(){var _this5=this,whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state(),ra_base=this._reverse_actions.get(whichState);if(!ra_base)throw new Error("No such state "+JSON.stringify(whichState));return[].concat(_toConsumableArray(ra_base.values())).map(function(edgeId){return _this5._edges[edgeId]}).filter(function(o){return o.from===whichState}).map(function(filtered){return{action:filtered.action,probability:filtered.probability}})}},{key:"is_unenterable",value:function(whichState){return 0===this.list_entrances(whichState).length}},{key:"has_unenterables",value:function(){var _this6=this;return this.states().some(function(x){return _this6.is_unenterable(x)})}},{key:"is_terminal",value:function(){return this.state_is_terminal(this.state())}},{key:"state_is_terminal",value:function(whichState){return 0===this.list_exits(whichState).length}},{key:"has_terminals",value:function(){var _this7=this;return this.states().some(function(x){return _this7.state_is_terminal(x)})}},{key:"is_complete",value:function(){return this.state_is_complete(this.state())}},{key:"state_is_complete",value:function(whichState){var wstate=this._states.get(whichState);if(wstate)return wstate.complete;throw new Error("No such state "+JSON.stringify(whichState))}},{key:"has_completes",value:function(){var _this8=this;return this.states().some(function(x){return _this8.state_is_complete(x)})}},{key:"action",value:function(name,newData){if(this.valid_action(name,newData)){var edge=this.current_action_edge_for(name);return this._state=edge.to,!0}return!1}},{key:"transition",value:function(newState,newData){return!!this.valid_transition(newState,newData)&&(this._state=newState,!0)}},{key:"force_transition",value:function(newState,newData){return!!this.valid_force_transition(newState,newData)&&(this._state=newState,!0)}},{key:"current_action_for",value:function(action){var action_base=this._actions.get(action);return action_base?action_base.get(this.state()):void 0}},{key:"current_action_edge_for",value:function(action){var idx=this.current_action_for(action);if(void 0===idx||null===idx)throw new Error("No such action "+JSON.stringify(action));return this._edges[idx]}},{key:"valid_action",value:function(action,_newData){return void 0!==this.current_action_for(action)}},{key:"valid_transition",value:function(newState,_newData){var transition_for=this.lookup_transition_for(this.state(),newState);return!!transition_for&&!transition_for.forced_only}},{key:"valid_force_transition",value:function(newState,_newData){return void 0!==this.lookup_transition_for(this.state(),newState)}}]),Machine}();exports.version="5.7.0",exports.Machine=Machine,exports.make=make,exports.parse=parse,exports.compile=compile,exports.sm=function(template_strings){var _arguments=arguments;return new Machine(make(template_strings.reduce(function(acc,val,idx){return""+acc+_arguments[idx]+val})))},exports.arrow_direction=function(arrow){switch(String(arrow)){case"->":case"=>":case"~>":return"right";case"<-":case"<=":case"<~":return"left";case"<->":case"<-=>":case"<-~>":case"<=>":case"<=->":case"<=~>":case"<~>":case"<~->":case"<~=>":return"both";default:throw new Error("arrow_direction: unknown arrow type "+arrow)}},exports.arrow_left_kind=arrow_left_kind,exports.arrow_right_kind=arrow_right_kind,exports.seq=_jssmUtil.seq,exports.weighted_rand_select=_jssmUtil.weighted_rand_select,exports.histograph=_jssmUtil.histograph,exports.weighted_sample_select=_jssmUtil.weighted_sample_select,exports.weighted_histo_key=_jssmUtil.weighted_histo_key},{"./jssm-dot.js":1,"./jssm-util.js":2}]},{},[]); \ No newline at end of file diff --git a/build/jssm.es5.js b/build/jssm.es5.js index f5030af1..9003ab88 100644 --- a/build/jssm.es5.js +++ b/build/jssm.es5.js @@ -17,7 +17,7 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr var parse = require('./jssm-dot.js').parse; // eslint-disable-line flowtype/no-weak-types // todo whargarbl remove any -var version = '5.6.0'; // replaced from package.js in build +var version = '5.7.0'; // replaced from package.js in build function arrow_direction(arrow) { @@ -184,6 +184,7 @@ function compile(tree) { machine_definition: [], machine_license: [], machine_name: [], + machine_reference: [], machine_version: [] }; @@ -203,7 +204,7 @@ function compile(tree) { transitions: assembled_transitions }; - var oneOnlyKeys = ['graph_layout', 'machine_name', 'machine_version', 'machine_comment', 'fsl_version', 'machine_license']; + var oneOnlyKeys = ['graph_layout', 'machine_name', 'machine_version', 'machine_comment', 'fsl_version', 'machine_license', 'machine_definition']; oneOnlyKeys.map(function (oneOnlyKey) { if (results[oneOnlyKey].length > 1) { @@ -215,7 +216,7 @@ function compile(tree) { } }); - ['machine_author'].map(function (multiKey) { + ['machine_author', 'machine_contributor', 'machine_reference'].map(function (multiKey) { if (results[multiKey].length) { result_cfg[multiKey] = results[multiKey]; } @@ -238,6 +239,14 @@ var Machine = function () { _ref2$complete = _ref2.complete, complete = _ref2$complete === undefined ? [] : _ref2$complete, transitions = _ref2.transitions, + machine_author = _ref2.machine_author, + machine_comment = _ref2.machine_comment, + machine_contributor = _ref2.machine_contributor, + machine_definition = _ref2.machine_definition, + machine_license = _ref2.machine_license, + machine_name = _ref2.machine_name, + machine_version = _ref2.machine_version, + fsl_version = _ref2.fsl_version, _ref2$graph_layout = _ref2.graph_layout, graph_layout = _ref2$graph_layout === undefined ? 'dot' : _ref2$graph_layout; @@ -252,6 +261,15 @@ var Machine = function () { this._reverse_actions = new Map(); this._reverse_action_targets = new Map(); // todo + this._machine_author = machine_author; + this._machine_comment = machine_comment; + this._machine_contributor = machine_contributor; + this._machine_definition = machine_definition; + this._machine_license = machine_license; + this._machine_name = machine_name; + this._machine_version = machine_version; + this._fsl_version = fsl_version; + this._graph_layout = graph_layout; transitions.map(function (tr) { @@ -395,7 +413,47 @@ var Machine = function () { }, { key: 'graph_layout', value: function graph_layout() { - return String(this._graph_layout); + return this._graph_layout; + } + }, { + key: 'machine_author', + value: function machine_author() { + return this._machine_author; + } + }, { + key: 'machine_comment', + value: function machine_comment() { + return this._machine_comment; + } + }, { + key: 'machine_contributor', + value: function machine_contributor() { + return this._machine_contributor; + } + }, { + key: 'machine_definition', + value: function machine_definition() { + return this._machine_definition; + } + }, { + key: 'machine_license', + value: function machine_license() { + return this._machine_license; + } + }, { + key: 'machine_name', + value: function machine_name() { + return this._machine_name; + } + }, { + key: 'machine_version', + value: function machine_version() { + return this._machine_version; + } + }, { + key: 'fsl_version', + value: function fsl_version() { + return this._fsl_version; } }, { key: 'machine_state', @@ -800,4 +858,4 @@ exports.weighted_rand_select = _jssmUtil.weighted_rand_select; exports.histograph = _jssmUtil.histograph; exports.weighted_sample_select = _jssmUtil.weighted_sample_select; exports.weighted_histo_key = _jssmUtil.weighted_histo_key; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9qcy9qc3NtLmpzIl0sIm5hbWVzIjpbInBhcnNlIiwicmVxdWlyZSIsInZlcnNpb24iLCJhcnJvd19kaXJlY3Rpb24iLCJhcnJvdyIsIlN0cmluZyIsIkVycm9yIiwiYXJyb3dfbGVmdF9raW5kIiwiYXJyb3dfcmlnaHRfa2luZCIsImNvbXBpbGVfcnVsZV90cmFuc2l0aW9uX3N0ZXAiLCJhY2MiLCJmcm9tIiwidG8iLCJ0aGlzX3NlIiwibmV4dF9zZSIsImVkZ2VzIiwidUZyb20iLCJBcnJheSIsImlzQXJyYXkiLCJ1VG8iLCJtYXAiLCJmIiwidCIsInJrIiwia2luZCIsImxrIiwicmlnaHQiLCJmb3JjZWRfb25seSIsIm1haW5fcGF0aCIsInJfYWN0aW9uIiwiYWN0aW9uIiwicl9wcm9iYWJpbGl0eSIsInByb2JhYmlsaXR5IiwicHVzaCIsImxlZnQiLCJsX2FjdGlvbiIsImxfcHJvYmFiaWxpdHkiLCJuZXdfYWNjIiwiY29uY2F0Iiwic2UiLCJjb21waWxlX3J1bGVfaGFuZGxlX3RyYW5zaXRpb24iLCJydWxlIiwiY29tcGlsZV9ydWxlX2hhbmRsZXIiLCJrZXkiLCJhZ2dfYXMiLCJ2YWwiLCJ0YXV0b2xvZ2llcyIsImluY2x1ZGVzIiwidmFsdWUiLCJKU09OIiwic3RyaW5naWZ5IiwiY29tcGlsZSIsInRyZWUiLCJyZXN1bHRzIiwiZ3JhcGhfbGF5b3V0IiwidHJhbnNpdGlvbiIsInN0YXJ0X3N0YXRlcyIsImVuZF9zdGF0ZXMiLCJmc2xfdmVyc2lvbiIsIm1hY2hpbmVfYXV0aG9yIiwibWFjaGluZV9jb21tZW50IiwibWFjaGluZV9jb250cmlidXRvciIsIm1hY2hpbmVfZGVmaW5pdGlvbiIsIm1hY2hpbmVfbGljZW5zZSIsIm1hY2hpbmVfbmFtZSIsIm1hY2hpbmVfdmVyc2lvbiIsInRyIiwiYXNzZW1ibGVkX3RyYW5zaXRpb25zIiwicmVzdWx0X2NmZyIsImxlbmd0aCIsInRyYW5zaXRpb25zIiwib25lT25seUtleXMiLCJvbmVPbmx5S2V5IiwibXVsdGlLZXkiLCJtYWtlIiwicGxhbiIsIk1hY2hpbmUiLCJjb21wbGV0ZSIsIl9zdGF0ZSIsIl9zdGF0ZXMiLCJNYXAiLCJfZWRnZXMiLCJfZWRnZV9tYXAiLCJfbmFtZWRfdHJhbnNpdGlvbnMiLCJfYWN0aW9ucyIsIl9yZXZlcnNlX2FjdGlvbnMiLCJfcmV2ZXJzZV9hY3Rpb25fdGFyZ2V0cyIsIl9ncmFwaF9sYXlvdXQiLCJ1bmRlZmluZWQiLCJjdXJzb3JfZnJvbSIsImdldCIsIm5hbWUiLCJoYXMiLCJfbmV3X3N0YXRlIiwiY3Vyc29yX3RvIiwidGhpc0VkZ2VJZCIsInNldCIsImZyb21fbWFwcGluZyIsImFjdGlvbk1hcCIsInJBY3Rpb25NYXAiLCJzdGF0ZV9jb25maWciLCJ3aGljaFN0YXRlIiwic3RhdGVfaXNfdGVybWluYWwiLCJzdGF0ZV9pc19jb21wbGV0ZSIsInN0YXRlX2lzX2ZpbmFsIiwic3RhdGUiLCJpbnRlcm5hbF9zdGF0ZV9pbXBsX3ZlcnNpb24iLCJhY3Rpb25zIiwiZWRnZV9tYXAiLCJuYW1lZF90cmFuc2l0aW9ucyIsInJldmVyc2VfYWN0aW9ucyIsInN0YXRlcyIsImtleXMiLCJlbWciLCJpZCIsImdldF90cmFuc2l0aW9uX2J5X3N0YXRlX25hbWVzIiwiZW50cmFuY2VzIiwibGlzdF9lbnRyYW5jZXMiLCJleGl0cyIsImxpc3RfZXhpdHMiLCJ3c3RhdGUiLCJ3c3RhdGVfdG8iLCJ3dGYiLCJ3cyIsImxvb2t1cF90cmFuc2l0aW9uX2ZvciIsImZpbHRlciIsIkJvb2xlYW4iLCJzZWxlY3RlZCIsInByb2JhYmxlX2V4aXRzX2ZvciIsIm4iLCJzdGF0ZV93YXMiLCJwcm9iYWJpbGlzdGljX3RyYW5zaXRpb24iLCJwcm9iYWJpbGlzdGljX3dhbGsiLCJyYV9iYXNlIiwidmFsdWVzIiwiZWRnZUlkIiwibyIsImZpbHRlcmVkIiwic29tZSIsIngiLCJpc191bmVudGVyYWJsZSIsIm5ld0RhdGEiLCJ2YWxpZF9hY3Rpb24iLCJlZGdlIiwiY3VycmVudF9hY3Rpb25fZWRnZV9mb3IiLCJuZXdTdGF0ZSIsInZhbGlkX3RyYW5zaXRpb24iLCJ2YWxpZF9mb3JjZV90cmFuc2l0aW9uIiwiYWN0aW9uX2Jhc2UiLCJpZHgiLCJjdXJyZW50X2FjdGlvbl9mb3IiLCJfbmV3RGF0YSIsInRyYW5zaXRpb25fZm9yIiwic20iLCJ0ZW1wbGF0ZV9zdHJpbmdzIiwicmVkdWNlIiwic2VxIiwid2VpZ2h0ZWRfcmFuZF9zZWxlY3QiLCJoaXN0b2dyYXBoIiwid2VpZ2h0ZWRfc2FtcGxlX3NlbGVjdCIsIndlaWdodGVkX2hpc3RvX2tleSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBcUJBOzs7Ozs7QUFwQkE7O0FBc0JBLElBQU1BLFFBQWdEQyxRQUFRLGVBQVIsRUFBeUJELEtBQS9FLEMsQ0FBdUY7O0FBRXZGLElBQU1FLFVBQWlCLElBQXZCLEMsQ0FBNkI7OztBQU03QixTQUFTQyxlQUFULENBQXlCQyxLQUF6QixFQUFpRTs7QUFFL0QsVUFBU0MsT0FBT0QsS0FBUCxDQUFUOztBQUVFLFNBQUssSUFBTCxDQUFhLEtBQUssSUFBTCxDQUFjLEtBQUssSUFBTDtBQUN6QixhQUFPLE9BQVA7O0FBRUYsU0FBSyxJQUFMLENBQWEsS0FBSyxJQUFMLENBQWMsS0FBSyxJQUFMO0FBQ3pCLGFBQU8sTUFBUDs7QUFFRixTQUFLLEtBQUwsQ0FBYSxLQUFLLE1BQUwsQ0FBYyxLQUFLLE1BQUw7QUFDM0IsU0FBSyxLQUFMLENBQWEsS0FBSyxNQUFMLENBQWMsS0FBSyxNQUFMO0FBQzNCLFNBQUssS0FBTCxDQUFhLEtBQUssTUFBTCxDQUFjLEtBQUssTUFBTDtBQUN6QixhQUFPLE1BQVA7O0FBRUY7QUFDRSxZQUFNLElBQUlFLEtBQUosMENBQWlERixLQUFqRCxDQUFOOztBQWRKO0FBa0JEOztBQU1ELFNBQVNHLGVBQVQsQ0FBeUJILEtBQXpCLEVBQTREOztBQUUxRCxVQUFTQyxPQUFPRCxLQUFQLENBQVQ7O0FBRUUsU0FBSyxJQUFMLENBQVksS0FBSyxJQUFMLENBQWEsS0FBSyxJQUFMO0FBQ3ZCLGFB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QUFDQTtBQUNBO0FBQ0E7O0FBRUEsU0FBTyxJQUFJOUUsT0FBSixDQUFZRixLQUFLZ0YsaUJBQWlCQyxNQUFqQjs7QUFFdEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsWUFBQ2pKLEdBQUQsRUFBTW1DLEdBQU4sRUFBV3dHLEdBQVg7QUFBQSxnQkFBK0IzSSxHQUEvQixHQUFxQyxXQUFVMkksR0FBVixDQUFyQyxHQUFzRHhHLEdBQXREO0FBQUEsR0FQc0IsQ0FPdUM7QUFDN0Q7QUFDQTs7QUFUc0IsR0FBTCxDQUFaLENBQVA7QUFhSDs7UUFRQzNDLE8sR0FBQUEsTztRQUVBMEUsTyxHQUFBQSxPO1FBRUFGLEksR0FBQUEsSTtRQUNFMUUsSyxHQUFBQSxLO1FBQ0FtRCxPLEdBQUFBLE87UUFFRnNHLEUsR0FBQUEsRTtRQUVBdEosZSxHQUFBQSxlO1FBQ0FJLGUsR0FBQUEsZTtRQUNBQyxnQixHQUFBQSxnQjtRQUdBb0osRztRQUFLQyxvQjtRQUFzQkMsVTtRQUFZQyxzQjtRQUF3QkMsa0IiLCJmaWxlIjoianNzbS5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gd2hhcmdhcmJsIGxvdHMgb2YgdGhlc2UgcmV0dXJuIGFycmF5cyBjb3VsZC9zaG91bGQgYmUgc2V0c1xuXG4vLyBAZmxvd1xuXG5pbXBvcnQgdHlwZSB7XG5cbiAgSnNzbUdlbmVyaWNTdGF0ZSwgSnNzbUdlbmVyaWNDb25maWcsXG4gIEpzc21UcmFuc2l0aW9uLCBKc3NtVHJhbnNpdGlvbkxpc3QsXG4gIEpzc21NYWNoaW5lSW50ZXJuYWxTdGF0ZSxcbiAgSnNzbVBhcnNlVHJlZSxcbiAgSnNzbUNvbXBpbGVTZSwgSnNzbUNvbXBpbGVTZVN0YXJ0LCBKc3NtQ29tcGlsZVJ1bGUsXG4gIEpzc21BcnJvdywgSnNzbUFycm93RGlyZWN0aW9uLCBKc3NtQXJyb3dLaW5kLFxuICBKc3NtTGF5b3V0XG5cbn0gZnJvbSAnLi9qc3NtLXR5cGVzJztcblxuXG5cblxuXG5pbXBvcnQgeyBzZXEsIHdlaWdodGVkX3JhbmRfc2VsZWN0LCB3ZWlnaHRlZF9zYW1wbGVfc2VsZWN0LCBoaXN0b2dyYXBoLCB3ZWlnaHRlZF9oaXN0b19rZXkgfSBmcm9tICcuL2pzc20tdXRpbC5qcyc7XG5cbmNvbnN0IHBhcnNlIDogPE5ULCBEVD4oc3RyaW5nKSA9PiBKc3NtUGFyc2VUcmVlPE5UPiA9IHJlcXVpcmUoJy4vanNzbS1kb3QuanMnKS5wYXJzZTsgIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgZmxvd3R5cGUvbm8td2Vhay10eXBlcyAvLyB0b2RvIHdoYXJnYXJibCByZW1vdmUgYW55XG5cbmNvbnN0IHZlcnNpb24gOiBudWxsID0gbnVsbDsgLy8gcmVwbGFjZWQgZnJvbSBwYWNrYWdlLmpzIGluIGJ1aWxkXG5cblxuXG5cblxuZnVuY3Rpb24gYXJyb3dfZGlyZWN0aW9uKGFycm93IDogSnNzbUFycm93KSA6IEpzc21BcnJvd0RpcmVjdGlvbiB7XG5cbiAgc3dpdGNoICggU3RyaW5nKGFycm93KSApIHtcblxuICAgIGNhc2UgJy0+JyA6ICBjYXNlICc9PicgIDogIGNhc2UgJ34+JyAgOlxuICAgICAgcmV0dXJuICdyaWdodCc7XG5cbiAgICBjYXNlICc8LScgOiAgY2FzZSAnPD0nICA6ICBjYXNlICc8ficgIDpcbiAgICAgIHJldHVybiAnbGVmdCc7XG5cbiAgICBjYXNlICc8LT4nOiAgY2FzZSAnPC09Pic6ICBjYXNlICc8LX4+JzpcbiAgICBjYXNlICc8PT4nOiAgY2FzZSAnPD0tPic6ICBjYXNlICc8PX4+JzpcbiAgICBjYXNlICc8fj4nOiAgY2FzZSAnPH4tPic6ICBjYXNlICc8fj0+JzpcbiAgICAgIHJldHVybiAnYm90aCc7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBhcnJvd19kaXJlY3Rpb246IHVua25vd24gYXJyb3cgdHlwZSAke2Fycm93fWApO1xuXG4gIH1cblxufVxuXG5cblxuXG5cbmZ1bmN0aW9uIGFycm93X2xlZnRfa2luZChhcnJvdyA6IEpzc21BcnJvdykgOiBKc3NtQXJyb3dLaW5kIHtcblxuICBzd2l0Y2ggKCBTdHJpbmcoYXJyb3cpICkge1xuXG4gICAgY2FzZSAnLT4nOiAgY2FzZSAnPT4nIDogIGNhc2UgJ34+JzpcbiAgICAgIHJldHVybiAnbm9uZSc7XG5cbiAgICBjYXNlICc8LSc6ICBjYXNlICc8LT4nOiAgY2FzZSAnPC09Pic6ICBjYXNlICc8LX4+JzpcbiAgICAgIHJldHVybiAnbGVnYWwnO1xuXG4gICAgY2FzZSAnPD0nOiAgY2FzZSAnPD0+JzogIGNhc2UgJzw9LT4nOiAgY2FzZSAnPD1+Pic6XG4gICAgICByZXR1cm4gJ21haW4nO1xuXG4gICAgY2FzZSAnPH4nOiAgY2FzZSAnPH4+JzogIGNhc2UgJzx+LT4nOiAgY2FzZSAnPH49Pic6XG4gICAgICByZXR1cm4gJ2ZvcmNlZCc7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBhcnJvd19kaXJlY3Rpb246IHVua25vd24gYXJyb3cgdHlwZSAke2Fycm93fWApO1xuXG4gIH1cblxufVxuXG5cblxuXG5cbmZ1bmN0aW9uIGFycm93X3JpZ2h0X2tpbmQoYXJyb3cgOiBKc3NtQXJyb3cpIDogSnNzbUFycm93S2luZCB7XG5cbiAgc3dpdGNoICggU3RyaW5nKGFycm93KSApIHtcblxuICAgIGNhc2UgJzwtJzogIGNhc2UgJzw9JyA6ICBjYXNlICc8fic6XG4gICAgICByZXR1cm4gJ25vbmUnO1xuXG4gICAgY2FzZSAnLT4nOiAgY2FzZSAnPC0+JzogIGNhc2UgJzw9LT4nOiAgY2FzZSAnPH4tPic6XG4gICAgICByZXR1cm4gJ2xlZ2FsJztcblxuICAgIGNhc2UgJz0+JzogIGNhc2UgJzw9Pic6ICBjYXNlICc8LT0+JzogIGNhc2UgJzx+PT4nOlxuICAgICAgcmV0dXJuICdtYWluJztcblxuICAgIGNhc2UgJ34+JzogIGNhc2UgJzx+Pic6ICBjYXNlICc8LX4+JzogIGNhc2UgJzw9fj4nOlxuICAgICAgcmV0dXJuICdmb3JjZWQnO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgYXJyb3dfZGlyZWN0aW9uOiB1bmtub3duIGFycm93IHR5cGUgJHthcnJvd31gKTtcblxuICB9XG5cbn1cblxuXG5cblxuXG5mdW5jdGlvbiBjb21waWxlX3J1bGVfdHJhbnNpdGlvbl9zdGVwPG1OVCwgbURUPihcbiAgICAgICAgICAgICBhY2MgICAgIDogQXJyYXk8IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA+LFxuICAgICAgICAgICAgIGZyb20gICAgOiBtTlQsXG4gICAgICAgICAgICAgdG8gICAgICA6IG1OVCxcbiAgICAgICAgICAgICB0aGlzX3NlIDogSnNzbUNvbXBpbGVTZTxtTlQ+LFxuICAgICAgICAgICAgIG5leHRfc2UgOiBKc3NtQ29tcGlsZVNlPG1OVD5cbiAgICAgICAgICkgOiBBcnJheTwgSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID4geyAvLyB0b2RvIGZsb3cgZGVzY3JpYmUgdGhlIHBhcnNlciByZXByZXNlbnRhdGlvbiBvZiBhIHRyYW5zaXRpb24gc3RlcCBleHRlbnNpb25cblxuICBjb25zdCBlZGdlcyA6IEFycmF5PCBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPiA9IFtdO1xuXG4gIGNvbnN0IHVGcm9tIDogQXJyYXk8IG1OVCA+ID0gKEFycmF5LmlzQXJyYXkoZnJvbSk/IGZyb20gOiBbZnJvbV0pLFxuICAgICAgICB1VG8gICA6IEFycmF5PCBtTlQgPiA9IChBcnJheS5pc0FycmF5KHRvKT8gICB0byAgIDogW3RvXSAgKTtcblxuICB1RnJvbS5tYXAoIChmOm1OVCkgPT4ge1xuICAgIHVUby5tYXAoICh0Om1OVCkgPT4ge1xuXG4gICAgICBjb25zdCByayA6IEpzc21BcnJvd0tpbmQgPSBhcnJvd19yaWdodF9raW5kKHRoaXNfc2Uua2luZCksXG4gICAgICAgICAgICBsayA6IEpzc21BcnJvd0tpbmQgPSBhcnJvd19sZWZ0X2tpbmQodGhpc19zZS5raW5kKTtcblxuXG4gICAgICBjb25zdCByaWdodCA6IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA9IHtcbiAgICAgICAgZnJvbSAgICAgICAgOiBmLFxuICAgICAgICB0byAgICAgICAgICA6IHQsXG4gICAgICAgIGtpbmQgICAgICAgIDogcmssXG4gICAgICAgIGZvcmNlZF9vbmx5IDogcmsgPT09ICdmb3JjZWQnLFxuICAgICAgICBtYWluX3BhdGggICA6IHJrID09PSAnbWFpbidcbiAgICAgIH07XG5cbiAgICAgIGlmICh0aGlzX3NlLnJfYWN0aW9uKSAgICAgIHsgcmlnaHQuYWN0aW9uICAgICAgPSB0aGlzX3NlLnJfYWN0aW9uOyAgICAgIH1cbiAgICAgIGlmICh0aGlzX3NlLnJfcHJvYmFiaWxpdHkpIHsgcmlnaHQucHJvYmFiaWxpdHkgPSB0aGlzX3NlLnJfcHJvYmFiaWxpdHk7IH1cbiAgICAgIGlmIChyaWdodC5raW5kICE9PSAnbm9uZScpIHsgZWRnZXMucHVzaChyaWdodCk7IH1cblxuXG4gICAgICBjb25zdCBsZWZ0IDogSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID0ge1xuICAgICAgICBmcm9tICAgICAgICA6IHQsXG4gICAgICAgIHRvICAgICAgICAgIDogZixcbiAgICAgICAga2luZCAgICAgICAgOiBsayxcbiAgICAgICAgZm9yY2VkX29ubHkgOiBsayA9PT0gJ2ZvcmNlZCcsXG4gICAgICAgIG1haW5fcGF0aCAgIDogbGsgPT09ICdtYWluJ1xuICAgICAgfTtcblxuICAgICAgaWYgKHRoaXNfc2UubF9hY3Rpb24pICAgICAgeyBsZWZ0LmFjdGlvbiAgICAgID0gdGhpc19zZS5sX2FjdGlvbjsgICAgICB9XG4gICAgICBpZiAodGhpc19zZS5sX3Byb2JhYmlsaXR5KSB7IGxlZnQucHJvYmFiaWxpdHkgPSB0aGlzX3NlLmxfcHJvYmFiaWxpdHk7IH1cbiAgICAgIGlmIChsZWZ0LmtpbmQgIT09ICdub25lJykgIHsgZWRnZXMucHVzaChsZWZ0KTsgfVxuXG4gICAgfSk7XG4gIH0pO1xuXG4gIGNvbnN0IG5ld19hY2MgOiBBcnJheTwgSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID4gPSBhY2MuY29uY2F0KGVkZ2VzKTtcblxuICBpZiAobmV4dF9zZSkge1xuICAgIHJldHVybiBjb21waWxlX3J1bGVfdHJhbnNpdGlvbl9zdGVwKG5ld19hY2MsIHRvLCBuZXh0X3NlLnRvLCBuZXh0X3NlLCBuZXh0X3NlLnNlKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbmV3X2FjYztcbiAgfVxuXG59XG5cblxuXG5mdW5jdGlvbiBjb21waWxlX3J1bGVfaGFuZGxlX3RyYW5zaXRpb248bU5UPihydWxlIDogSnNzbUNvbXBpbGVTZVN0YXJ0PG1OVD4pIDogbWl4ZWQgeyAvLyB0b2RvIGZsb3cgZGVzY3JpYmUgdGhlIHBhcnNlciByZXByZXNlbnRhdGlvbiBvZiBhIHRyYW5zaXRpb25cbiAgcmV0dXJuIGNvbXBpbGVfcnVsZV90cmFuc2l0aW9uX3N0ZXAoW10sIHJ1bGUuZnJvbSwgcnVsZS5zZS50bywgcnVsZS5zZSwgcnVsZS5zZS5zZSk7XG59XG5cblxuXG5mdW5jdGlvbiBjb21waWxlX3J1bGVfaGFuZGxlcjxtTlQ+KHJ1bGUgOiBKc3NtQ29tcGlsZVNlU3RhcnQ8bU5UPikgOiBKc3NtQ29tcGlsZVJ1bGUgeyAvLyB0b2RvIGZsb3cgZGVzY3JpYmUgdGhlIG91dHB1dCBvZiB0aGUgcGFyc2VyXG5cbiAgaWYgKHJ1bGUua2V5ID09PSAndHJhbnNpdGlvbicpIHsgcmV0dXJuIHsgYWdnX2FzOiAndHJhbnNpdGlvbicsIHZhbDogY29tcGlsZV9ydWxlX2hhbmRsZV90cmFuc2l0aW9uKHJ1bGUpIH07IH1cblxuICBjb25zdCB0YXV0b2xvZ2llcyA6IEFycmF5PHN0cmluZz4gPSBbXG4gICAgJ2dyYXBoX2xheW91dCcsICdzdGFydF9zdGF0ZXMnLCAnZW5kX3N0YXRlcycsICdtYWNoaW5lX25hbWUnLCAnbWFjaGluZV92ZXJzaW9uJyxcbiAgICAnbWFjaGluZV9jb21tZW50JywgJ21hY2hpbmVfYXV0aG9yJywgJ21hY2hpbmVfY29udHJpYnV0b3InLCAnbWFjaGluZV9kZWZpbml0aW9uJyxcbiAgICAnbWFjaGluZV9yZWZlcmVuY2UnLCAnbWFjaGluZV9saWNlbnNlJywgJ2ZzbF92ZXJzaW9uJ1xuICBdO1xuXG4gIGlmICh0YXV0b2xvZ2llcy5pbmNsdWRlcyhydWxlLmtleSkpIHtcbiAgICByZXR1cm4geyBhZ2dfYXM6IHJ1bGUua2V5LCB2YWw6IHJ1bGUudmFsdWUgfTtcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcihgY29tcGlsZV9ydWxlX2hhbmRsZXI6IFVua25vd24gcnVsZTogJHtKU09OLnN0cmluZ2lmeShydWxlKX1gKTtcblxufVxuXG5cblxuZnVuY3Rpb24gY29tcGlsZTxtTlQsIG1EVD4odHJlZSA6IEpzc21QYXJzZVRyZWU8bU5UPikgOiBKc3NtR2VuZXJpY0NvbmZpZzxtTlQsIG1EVD4geyAgLy8gdG9kbyBmbG93IGRlc2NyaWJlIHRoZSBvdXRwdXQgb2YgdGhlIHBhcnNlclxuXG4gIGNvbnN0IHJlc3VsdHMgOiB7XG4gICAgZ3JhcGhfbGF5b3V0ICAgICAgICA6IEFycmF5PCBKc3NtTGF5b3V0ID4sXG4gICAgdHJhbnNpdGlvbiAgICAgICAgICA6IEFycmF5PCBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPixcbiAgICBzdGFydF9zdGF0ZXMgICAgICAgIDogQXJyYXk8IG1OVCA+LFxuICAgIGVuZF9zdGF0ZXMgICAgICAgICAgOiBBcnJheTwgbU5UID4sXG4gICAgZnNsX3ZlcnNpb24gICAgICAgICA6IEFycmF5PCBzdHJpbmcgPixcbiAgICBtYWNoaW5lX2F1dGhvciAgICAgIDogQXJyYXk8IHN0cmluZyA+LFxuICAgIG1hY2hpbmVfY29tbWVudCAgICAgOiBBcnJheTwgc3RyaW5nID4sXG4gICAgbWFjaGluZV9jb250cmlidXRvciA6IEFycmF5PCBzdHJpbmcgPixcbiAgICBtYWNoaW5lX2RlZmluaXRpb24gIDogQXJyYXk8IHN0cmluZyA+LFxuICAgIG1hY2hpbmVfbGljZW5zZSAgICAgOiBBcnJheTwgc3RyaW5nID4sXG4gICAgbWFjaGluZV9uYW1lICAgICAgICA6IEFycmF5PCBzdHJpbmcgPixcbiAgICBtYWNoaW5lX3ZlcnNpb24gICAgIDogQXJyYXk8IHN0cmluZyA+IC8vIHNlbXZlclxuICB9ID0ge1xuICAgIGdyYXBoX2xheW91dCAgICAgICAgOiBbXSxcbiAgICB0cmFuc2l0aW9uICAgICAgICAgIDogW10sXG4gICAgc3RhcnRfc3RhdGVzICAgICAgICA6IFtdLFxuICAgIGVuZF9zdGF0ZXMgICAgICAgICAgOiBbXSxcbiAgICBmc2xfdmVyc2lvbiAgICAgICAgIDogW10sXG4gICAgbWFjaGluZV9hdXRob3IgICAgICA6IFtdLFxuICAgIG1hY2hpbmVfY29tbWVudCAgICAgOiBbXSxcbiAgICBtYWNoaW5lX2NvbnRyaWJ1dG9yIDogW10sXG4gICAgbWFjaGluZV9kZWZpbml0aW9uICA6IFtdLFxuICAgIG1hY2hpbmVfbGljZW5zZSAgICAgOiBbXSxcbiAgICBtYWNoaW5lX25hbWUgICAgICAgIDogW10sXG4gICAgbWFjaGluZV92ZXJzaW9uICAgICA6IFtdXG4gIH07XG5cbiAgdHJlZS5tYXAoICh0ciA6IEpzc21Db21waWxlU2VTdGFydDxtTlQ+KSA9PiB7XG5cbiAgICBjb25zdCBydWxlICAgOiBKc3NtQ29tcGlsZVJ1bGUgPSBjb21waWxlX3J1bGVfaGFuZGxlcih0ciksXG4gICAgICAgICAgYWdnX2FzIDogc3RyaW5nICAgICAgICAgID0gcnVsZS5hZ2dfYXMsXG4gICAgICAgICAgdmFsICAgIDogbWl4ZWQgICAgICAgICAgID0gcnVsZS52YWw7ICAgICAgICAgICAgICAgICAgLy8gdG9kbyBiZXR0ZXIgdHlwZXNcblxuICAgIHJlc3VsdHNbYWdnX2FzXSA9IHJlc3VsdHNbYWdnX2FzXS5jb25jYXQodmFsKTtcblxuICB9KTtcblxuICBjb25zdCBhc3NlbWJsZWRfdHJhbnNpdGlvbnMgOiBBcnJheTwgSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID4gPSBbXS5jb25jYXQoLi4uIHJlc3VsdHNbJ3RyYW5zaXRpb24nXSk7XG5cbiAgY29uc3QgcmVzdWx0X2NmZyA6IEpzc21HZW5lcmljQ29uZmlnPG1OVCwgbURUPiA9IHtcbiAgICBzdGFydF9zdGF0ZXMgOiByZXN1bHRzLnN0YXJ0X3N0YXRlcy5sZW5ndGg/IHJlc3VsdHMuc3RhcnRfc3RhdGVzIDogW2Fzc2VtYmxlZF90cmFuc2l0aW9uc1swXS5mcm9tXSxcbiAgICB0cmFuc2l0aW9ucyAgOiBhc3NlbWJsZWRfdHJhbnNpdGlvbnNcbiAgfTtcblxuICBjb25zdCBvbmVPbmx5S2V5cyA6IEFycmF5PHN0cmluZz4gPSBbXG4gICAgJ2dyYXBoX2xheW91dCcsICdtYWNoaW5lX25hbWUnLCAnbWFjaGluZV92ZXJzaW9uJywgJ21hY2hpbmVfY29tbWVudCcsICdmc2xfdmVyc2lvbicsICdtYWNoaW5lX2xpY2Vuc2UnXG4gIF07XG5cbiAgb25lT25seUtleXMubWFwKCAob25lT25seUtleSA6IHN0cmluZykgPT4ge1xuICAgIGlmIChyZXN1bHRzW29uZU9ubHlLZXldLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWF5IG9ubHkgaGF2ZSBvbmUgJHtvbmVPbmx5S2V5fSBzdGF0ZW1lbnQgbWF4aW11bTogJHtKU09OLnN0cmluZ2lmeShyZXN1bHRzW29uZU9ubHlLZXldKX1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHJlc3VsdHNbb25lT25seUtleV0ubGVuZ3RoKSB7XG4gICAgICAgIHJlc3VsdF9jZmdbb25lT25seUtleV0gPSByZXN1bHRzW29uZU9ubHlLZXldWzBdO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgWydtYWNoaW5lX2F1dGhvciddLm1hcCggKG11bHRpS2V5IDogc3RyaW5nKSA9PiB7XG4gICAgaWYgKHJlc3VsdHNbbXVsdGlLZXldLmxlbmd0aCkge1xuICAgICAgcmVzdWx0X2NmZ1ttdWx0aUtleV0gPSByZXN1bHRzW211bHRpS2V5XTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiByZXN1bHRfY2ZnO1xuXG59XG5cblxuXG5mdW5jdGlvbiBtYWtlPG1OVCwgbURUPihwbGFuIDogc3RyaW5nKSA6IEpzc21HZW5lcmljQ29uZmlnPG1OVCwgbURUPiB7XG4gIHJldHVybiBjb21waWxlKHBhcnNlKHBsYW4pKTtcbn1cblxuXG5cblxuXG5jbGFzcyBNYWNoaW5lPG1OVCwgbURUPiB7XG5cblxuICBfc3RhdGUgICAgICAgICAgICAgICAgICA6IG1OVDtcbiAgX3N0YXRlcyAgICAgICAgICAgICAgICAgOiBNYXA8bU5ULCBKc3NtR2VuZXJpY1N0YXRlPG1OVD4+O1xuICBfZWRnZXMgICAgICAgICAgICAgICAgICA6IEFycmF5PEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPj47XG4gIF9lZGdlX21hcCAgICAgICAgICAgICAgIDogTWFwPG1OVCwgTWFwPG1OVCwgbnVtYmVyPj47XG4gIF9uYW1lZF90cmFuc2l0aW9ucyAgICAgIDogTWFwPG1OVCwgbnVtYmVyPjtcbiAgX2FjdGlvbnMgICAgICAgICAgICAgICAgOiBNYXA8bU5ULCBNYXA8bU5ULCBudW1iZXI+PjtcbiAgX3JldmVyc2VfYWN0aW9ucyAgICAgICAgOiBNYXA8bU5ULCBNYXA8bU5ULCBudW1iZXI+PjtcbiAgX3JldmVyc2VfYWN0aW9uX3RhcmdldHMgOiBNYXA8bU5ULCBNYXA8bU5ULCBudW1iZXI+PjtcbiAgX2F1dGhvciAgICAgICAgICAgICAgICAgOiBBcnJheTxzdHJpbmc+O1xuICBfY29udHJpYnV0b3IgICAgICAgICAgICA6IEFycmF5PHN0cmluZz47XG5cbiAgX2dyYXBoX2xheW91dCAgICAgICAgICAgOiBKc3NtTGF5b3V0O1xuXG4gIC8vIHdoYXJnYXJibCB0aGlzIGJhZGx5IG5lZWRzIHRvIGJlIGJyb2tlbiB1cCwgbW9ub2xpdGggbWFzdGVyXG4gIGNvbnN0cnVjdG9yKHsgc3RhcnRfc3RhdGVzLCBjb21wbGV0ZT1bXSwgdHJhbnNpdGlvbnMsIGdyYXBoX2xheW91dCA9ICdkb3QnIH0gOiBKc3NtR2VuZXJpY0NvbmZpZzxtTlQsIG1EVD4pIHtcblxuICAgIHRoaXMuX3N0YXRlICAgICAgICAgICAgICAgICAgPSBzdGFydF9zdGF0ZXNbMF07XG4gICAgdGhpcy5fc3RhdGVzICAgICAgICAgICAgICAgICA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLl9lZGdlcyAgICAgICAgICAgICAgICAgID0gW107XG4gICAgdGhpcy5fZWRnZV9tYXAgICAgICAgICAgICAgICA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLl9uYW1lZF90cmFuc2l0aW9ucyAgICAgID0gbmV3IE1hcCgpO1xuICAgIHRoaXMuX2FjdGlvbnMgICAgICAgICAgICAgICAgPSBuZXcgTWFwKCk7XG4gICAgdGhpcy5fcmV2ZXJzZV9hY3Rpb25zICAgICAgICA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLl9yZXZlcnNlX2FjdGlvbl90YXJnZXRzID0gbmV3IE1hcCgpOyAgIC8vIHRvZG9cblxuICAgIHRoaXMuX2dyYXBoX2xheW91dCAgICAgICAgICAgPSBncmFwaF9sYXlvdXQ7XG5cbiAgICB0cmFuc2l0aW9ucy5tYXAoICh0cjpKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4pID0+IHtcblxuICAgICAgaWYgKHRyLmZyb20gPT09IHVuZGVmaW5lZCkgeyB0aHJvdyBuZXcgRXJyb3IoYHRyYW5zaXRpb24gbXVzdCBkZWZpbmUgJ2Zyb20nOiAke0pTT04uc3RyaW5naWZ5KHRyKX1gKTsgfVxuICAgICAgaWYgKHRyLnRvICAgPT09IHVuZGVmaW5lZCkgeyB0aHJvdyBuZXcgRXJyb3IoYHRyYW5zaXRpb24gbXVzdCBkZWZpbmUgJ3RvJzogJHsgIEpTT04uc3RyaW5naWZ5KHRyKX1gKTsgfVxuXG4gICAgICAvLyBnZXQgdGhlIGN1cnNvcnMuICB3aGF0IGEgbWVzc1xuICAgICAgY29uc3QgY3Vyc29yX2Zyb20gOiBKc3NtR2VuZXJpY1N0YXRlPG1OVD5cbiAgICAgICAgICA9IHRoaXMuX3N0YXRlcy5nZXQodHIuZnJvbSlcbiAgICAgICAgIHx8IHsgbmFtZTogdHIuZnJvbSwgZnJvbTogW10sIHRvOiBbXSwgY29tcGxldGU6IGNvbXBsZXRlLmluY2x1ZGVzKHRyLmZyb20pIH07XG5cbiAgICAgIGlmICghKHRoaXMuX3N0YXRlcy5oYXModHIuZnJvbSkpKSB7XG4gICAgICAgIHRoaXMuX25ld19zdGF0ZShjdXJzb3JfZnJvbSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGN1cnNvcl90byA6IEpzc21HZW5lcmljU3RhdGU8bU5UPlxuICAgICAgICAgID0gdGhpcy5fc3RhdGVzLmdldCh0ci50bylcbiAgICAgICAgIHx8IHtuYW1lOiB0ci50bywgZnJvbTogW10sIHRvOiBbXSwgY29tcGxldGU6IGNvbXBsZXRlLmluY2x1ZGVzKHRyLnRvKSB9O1xuXG4gICAgICBpZiAoISh0aGlzLl9zdGF0ZXMuaGFzKHRyLnRvKSkpIHtcbiAgICAgICAgdGhpcy5fbmV3X3N0YXRlKGN1cnNvcl90byk7XG4gICAgICB9XG5cbiAgICAgIC8vIGd1YXJkIGFnYWluc3QgZXhpc3RpbmcgY29ubmVjdGlvbnMgYmVpbmcgcmUtYWRkZWRcbiAgICAgIGlmIChjdXJzb3JfZnJvbS50by5pbmNsdWRlcyh0ci50bykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBhbHJlYWR5IGhhcyAke0pTT04uc3RyaW5naWZ5KHRyLmZyb20pfSB0byAke0pTT04uc3RyaW5naWZ5KHRyLnRvKX1gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGN1cnNvcl9mcm9tLnRvLnB1c2godHIudG8pO1xuICAgICAgICBjdXJzb3JfdG8uZnJvbS5wdXNoKHRyLmZyb20pO1xuICAgICAgfVxuXG4gICAgICAvLyBhZGQgdGhlIGVkZ2U7IG5vdGUgaXRzIGlkXG4gICAgICB0aGlzLl9lZGdlcy5wdXNoKHRyKTtcbiAgICAgIGNvbnN0IHRoaXNFZGdlSWQgOiBudW1iZXIgPSB0aGlzLl9lZGdlcy5sZW5ndGggLSAxO1xuXG4gICAgICAvLyBndWFyZCBhZ2FpbnN0IHJlcGVhdGluZyBhIHRyYW5zaXRpb24gbmFtZVxuICAgICAgaWYgKHRyLm5hbWUpIHtcbiAgICAgICAgaWYgKHRoaXMuX25hbWVkX3RyYW5zaXRpb25zLmhhcyh0ci5uYW1lKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgbmFtZWQgdHJhbnNpdGlvbiBcIiR7SlNPTi5zdHJpbmdpZnkodHIubmFtZSl9XCIgYWxyZWFkeSBjcmVhdGVkYCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fbmFtZWRfdHJhbnNpdGlvbnMuc2V0KHRyLm5hbWUsIHRoaXNFZGdlSWQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIHNldCB1cCB0aGUgbWFwcGluZywgc28gdGhhdCBlZGdlcyBjYW4gYmUgbG9va2VkIHVwIGJ5IGVuZHBvaW50IHBhaXJzXG4gICAgICBjb25zdCBmcm9tX21hcHBpbmcgOiBNYXA8bU5ULCBudW1iZXI+ID0gdGhpcy5fZWRnZV9tYXAuZ2V0KHRyLmZyb20pIHx8IG5ldyBNYXAoKTtcbiAgICAgIGlmICghKHRoaXMuX2VkZ2VfbWFwLmhhcyh0ci5mcm9tKSkpIHtcbiAgICAgICAgdGhpcy5fZWRnZV9tYXAuc2V0KHRyLmZyb20sIGZyb21fbWFwcGluZyk7XG4gICAgICB9XG5cbi8vICAgIGNvbnN0IHRvX21hcHBpbmcgPSBmcm9tX21hcHBpbmcuZ2V0KHRyLnRvKTtcbiAgICAgIGZyb21fbWFwcGluZy5zZXQodHIudG8sIHRoaXNFZGdlSWQpOyAvLyBhbHJlYWR5IGNoZWNrZWQgdGhhdCB0aGlzIG1hcHBpbmcgZG9lc24ndCBleGlzdCwgYWJvdmVcblxuICAgICAgLy8gc2V0IHVwIHRoZSBhY3Rpb24gbWFwcGluZywgc28gdGhhdCBhY3Rpb25zIGNhbiBiZSBsb29rZWQgdXAgYnkgb3JpZ2luXG4gICAgICBpZiAodHIuYWN0aW9uKSB7XG5cblxuICAgICAgICAvLyBmb3J3YXJkIG1hcHBpbmcgZmlyc3QgYnkgYWN0aW9uIG5hbWVcbiAgICAgICAgbGV0IGFjdGlvbk1hcCA6ID9NYXA8bU5ULCBudW1iZXI+ID0gdGhpcy5fYWN0aW9ucy5nZXQodHIuYWN0aW9uKTtcbiAgICAgICAgaWYgKCEoYWN0aW9uTWFwKSkge1xuICAgICAgICAgIGFjdGlvbk1hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgICB0aGlzLl9hY3Rpb25zLnNldCh0ci5hY3Rpb24sIGFjdGlvbk1hcCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYWN0aW9uTWFwLmhhcyh0ci5mcm9tKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgYWN0aW9uICR7SlNPTi5zdHJpbmdpZnkodHIuYWN0aW9uKX0gYWxyZWFkeSBhdHRhY2hlZCB0byBvcmlnaW4gJHtKU09OLnN0cmluZ2lmeSh0ci5mcm9tKX1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhY3Rpb25NYXAuc2V0KHRyLmZyb20sIHRoaXNFZGdlSWQpO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyByZXZlcnNlIG1hcHBpbmcgZmlyc3QgYnkgc3RhdGUgb3JpZ2luIG5hbWVcbiAgICAgICAgbGV0IHJBY3Rpb25NYXAgOiA/TWFwPG1OVCwgbnVtYmVyPiA9IHRoaXMuX3JldmVyc2VfYWN0aW9ucy5nZXQodHIuZnJvbSk7XG4gICAgICAgIGlmICghKHJBY3Rpb25NYXApKSB7XG4gICAgICAgICAgckFjdGlvbk1hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgICB0aGlzLl9yZXZlcnNlX2FjdGlvbnMuc2V0KHRyLmZyb20sIHJBY3Rpb25NYXApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gbm8gbmVlZCB0byB0ZXN0IGZvciByZXZlcnNlIG1hcHBpbmcgcHJlLXByZXNlbmNlO1xuICAgICAgICAvLyBmb3J3YXJkIG1hcHBpbmcgYWxyZWFkeSBjb3ZlcnMgY29sbGlzaW9uc1xuICAgICAgICByQWN0aW9uTWFwLnNldCh0ci5hY3Rpb24sIHRoaXNFZGdlSWQpO1xuXG5cbiAgICAgICAgLy8gcmV2ZXJzZSBtYXBwaW5nIGZpcnN0IGJ5IHN0YXRlIHRhcmdldCBuYW1lXG4gICAgICAgIGlmICghKHRoaXMuX3JldmVyc2VfYWN0aW9uX3RhcmdldHMuaGFzKHRyLnRvKSkpIHtcbiAgICAgICAgICB0aGlzLl9yZXZlcnNlX2FjdGlvbl90YXJnZXRzLnNldCh0ci50bywgbmV3IE1hcCgpKTtcbiAgICAgICAgfVxuXG4vKiB0b2RvIGNvbWViYWNrXG4gICBmdW5kYW1lbnRhbCBwcm9ibGVtIGlzIHJvQWN0aW9uTWFwIG5lZWRzIHRvIGJlIGEgbXVsdGltYXBcbiAgICAgICAgY29uc3Qgcm9BY3Rpb25NYXAgPSB0aGlzLl9yZXZlcnNlX2FjdGlvbl90YXJnZXRzLmdldCh0ci50byk7ICAvLyB3YXN0ZWZ1bCAtIGFscmVhZHkgZGlkIGhhcyAtIHJlZmFjdG9yXG4gICAgICAgIGlmIChyb0FjdGlvbk1hcCkge1xuICAgICAgICAgIGlmIChyb0FjdGlvbk1hcC5oYXModHIuYWN0aW9uKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGByby1hY3Rpb24gJHt0ci50b30gYWxyZWFkeSBhdHRhY2hlZCB0byBhY3Rpb24gJHt0ci5hY3Rpb259YCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJvQWN0aW9uTWFwLnNldCh0ci5hY3Rpb24sIHRoaXNFZGdlSWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Nob3VsZCBiZSBpbXBvc3NpYmxlIC0gZmxvdyBkb2VzblxcJ3Qga25vdyAuc2V0IHByZWNlZGVzIC5nZXQgeWV0IGFnYWluLiAgc2V2ZXJlIGVycm9yPycpO1xuICAgICAgICB9XG4qL1xuICAgICAgfVxuXG4gICAgfSk7XG5cbiAgfVxuXG4gIF9uZXdfc3RhdGUoc3RhdGVfY29uZmlnIDogSnNzbUdlbmVyaWNTdGF0ZTxtTlQ+KSA6IG1OVCB7IC8vIHdoYXJnYXJibCBnZXQgdGhhdCBzdGF0ZV9jb25maWcgYW55IHVuZGVyIGNvbnRyb2xcblxuICAgIGlmICh0aGlzLl9zdGF0ZXMuaGFzKHN0YXRlX2NvbmZpZy5uYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBzdGF0ZSAke0pTT04uc3RyaW5naWZ5KHN0YXRlX2NvbmZpZy5uYW1lKX0gYWxyZWFkeSBleGlzdHNgKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0ZXMuc2V0KHN0YXRlX2NvbmZpZy5uYW1lLCBzdGF0ZV9jb25maWcpO1xuICAgIHJldHVybiBzdGF0ZV9jb25maWcubmFtZTtcblxuICB9XG5cblxuXG4gIHN0YXRlKCkgOiBtTlQge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgfVxuXG4vKiB3aGFyZ2FyYmwgdG9kbyBtYWpvclxuICAgd2hlbiB3ZSByZWltcGxlbWVudCB0aGlzLCByZWludHJvZHVjZSB0aGlzIGNoYW5nZSB0byB0aGUgaXNfZmluYWwgY2FsbFxuXG4gIGlzX2NoYW5naW5nKCkgOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTsgLy8gdG9kbyB3aGFyZ2FyYmxcbiAgfVxuKi9cblxuXG4gIHN0YXRlX2lzX2ZpbmFsKHdoaWNoU3RhdGUgOiBtTlQpIDogYm9vbGVhbiB7XG4gICAgcmV0dXJuICggKHRoaXMuc3RhdGVfaXNfdGVybWluYWwod2hpY2hTdGF0ZSkpICYmICh0aGlzLnN0YXRlX2lzX2NvbXBsZXRlKHdoaWNoU3RhdGUpKSApO1xuICB9XG5cbiAgaXNfZmluYWwoKSA6IGJvb2xlYW4ge1xuLy8gIHJldHVybiAoKCF0aGlzLmlzX2NoYW5naW5nKCkpICYmIHRoaXMuc3RhdGVfaXNfZmluYWwodGhpcy5zdGF0ZSgpKSk7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVfaXNfZmluYWwodGhpcy5zdGF0ZSgpKTtcbiAgfVxuXG4gIGdyYXBoX2xheW91dCgpIDogc3RyaW5nIHtcbiAgICByZXR1cm4gU3RyaW5nKHRoaXMuX2dyYXBoX2xheW91dCk7XG4gIH1cblxuXG5cbiAgbWFjaGluZV9zdGF0ZSgpIDogSnNzbU1hY2hpbmVJbnRlcm5hbFN0YXRlPG1OVCwgbURUPiB7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaW50ZXJuYWxfc3RhdGVfaW1wbF92ZXJzaW9uIDogMSxcblxuICAgICAgYWN0aW9ucyAgICAgICAgICAgICAgICA6IHRoaXMuX2FjdGlvbnMsXG4gICAgICBlZGdlX21hcCAgICAgICAgICAgICAgIDogdGhpcy5fZWRnZV9tYXAsXG4gICAgICBlZGdlcyAgICAgICAgICAgICAgICAgIDogdGhpcy5fZWRnZXMsXG4gICAgICBuYW1lZF90cmFuc2l0aW9ucyAgICAgIDogdGhpcy5fbmFtZWRfdHJhbnNpdGlvbnMsXG4gICAgICByZXZlcnNlX2FjdGlvbnMgICAgICAgIDogdGhpcy5fcmV2ZXJzZV9hY3Rpb25zLFxuLy8gICAgcmV2ZXJzZV9hY3Rpb25fdGFyZ2V0cyA6IHRoaXMuX3JldmVyc2VfYWN0aW9uX3RhcmdldHMsXG4gICAgICBzdGF0ZSAgICAgICAgICAgICAgICAgIDogdGhpcy5fc3RhdGUsXG4gICAgICBzdGF0ZXMgICAgICAgICAgICAgICAgIDogdGhpcy5fc3RhdGVzXG4gICAgfTtcblxuICB9XG5cbi8qXG4gIGxvYWRfbWFjaGluZV9zdGF0ZSgpIDogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlOyAvLyB0b2RvIHdoYXJnYXJibFxuICB9XG4qL1xuXG5cbiAgc3RhdGVzKCkgOiBBcnJheTxtTlQ+IHtcbiAgICByZXR1cm4gWy4uLiB0aGlzLl9zdGF0ZXMua2V5cygpXTtcbiAgfVxuXG4gIHN0YXRlX2Zvcih3aGljaFN0YXRlIDogbU5UKSA6IEpzc21HZW5lcmljU3RhdGU8bU5UPiB7XG4gICAgY29uc3Qgc3RhdGUgOiA/SnNzbUdlbmVyaWNTdGF0ZTxtTlQ+ID0gdGhpcy5fc3RhdGVzLmdldCh3aGljaFN0YXRlKTtcbiAgICBpZiAoc3RhdGUpIHsgcmV0dXJuIHN0YXRlOyB9XG4gICAgZWxzZSAgICAgICB7IHRocm93IG5ldyBFcnJvcihgbm8gc3VjaCBzdGF0ZSAke0pTT04uc3RyaW5naWZ5KHN0YXRlKX1gKTsgfVxuICB9XG5cblxuXG4gIGxpc3RfZWRnZXMoKSA6IEFycmF5PCBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPiB7XG4gICAgcmV0dXJuIHRoaXMuX2VkZ2VzO1xuICB9XG5cbiAgbGlzdF9uYW1lZF90cmFuc2l0aW9ucygpIDogTWFwPG1OVCwgbnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuX25hbWVkX3RyYW5zaXRpb25zO1xuICB9XG5cbiAgbGlzdF9hY3Rpb25zKCkgOiBBcnJheTxtTlQ+IHtcbiAgICByZXR1cm4gWy4uLiB0aGlzLl9hY3Rpb25zLmtleXMoKV07XG4gIH1cblxuXG5cbiAgZ2V0X3RyYW5zaXRpb25fYnlfc3RhdGVfbmFtZXMoZnJvbTogbU5ULCB0bzogbU5UKSA6ID9udW1iZXIge1xuXG4gICAgY29uc3QgZW1nIDogP01hcDxtTlQsIG51bWJlcj4gPSB0aGlzLl9lZGdlX21hcC5nZXQoZnJvbSk7XG5cbiAgICBpZiAoZW1nKSB7XG4gICAgICByZXR1cm4gZW1nLmdldCh0byk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gIH1cblxuXG5cbiAgbG9va3VwX3RyYW5zaXRpb25fZm9yKGZyb206IG1OVCwgdG86IG1OVCkgOiA/SnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+IHtcbiAgICBjb25zdCBpZCA6ID9udW1iZXIgPSB0aGlzLmdldF90cmFuc2l0aW9uX2J5X3N0YXRlX25hbWVzKGZyb20sIHRvKTtcbiAgICByZXR1cm4gKChpZCA9PT0gdW5kZWZpbmVkKSB8fCAoaWQgPT09IG51bGwpKT8gdW5kZWZpbmVkIDogdGhpcy5fZWRnZXNbaWRdO1xuICB9XG5cblxuXG4gIGxpc3RfdHJhbnNpdGlvbnMod2hpY2hTdGF0ZSA6IG1OVCA9IHRoaXMuc3RhdGUoKSkgOiBKc3NtVHJhbnNpdGlvbkxpc3Q8bU5UPiB7XG4gICAgcmV0dXJuIHtlbnRyYW5jZXM6IHRoaXMubGlzdF9lbnRyYW5jZXMod2hpY2hTdGF0ZSksIGV4aXRzOiB0aGlzLmxpc3RfZXhpdHMod2hpY2hTdGF0ZSl9O1xuICB9XG5cbiAgbGlzdF9lbnRyYW5jZXMod2hpY2hTdGF0ZSA6IG1OVCA9IHRoaXMuc3RhdGUoKSkgOiBBcnJheTxtTlQ+IHtcbiAgICByZXR1cm4gKHRoaXMuX3N0YXRlcy5nZXQod2hpY2hTdGF0ZSkgfHwge30pLmZyb20gfHwgW107XG4gIH1cblxuICBsaXN0X2V4aXRzKHdoaWNoU3RhdGUgOiBtTlQgPSB0aGlzLnN0YXRlKCkpIDogQXJyYXk8bU5UPiB7XG4gICAgcmV0dXJuICh0aGlzLl9zdGF0ZXMuZ2V0KHdoaWNoU3RhdGUpIHx8IHt9KS50byAgIHx8IFtdO1xuICB9XG5cblxuXG4gIHByb2JhYmxlX2V4aXRzX2Zvcih3aGljaFN0YXRlIDogbU5UKSA6IEFycmF5PCBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPiB7XG5cbiAgICBjb25zdCB3c3RhdGUgOiA/SnNzbUdlbmVyaWNTdGF0ZTxtTlQ+ID0gdGhpcy5fc3RhdGVzLmdldCh3aGljaFN0YXRlKTtcbiAgICBpZiAoISh3c3RhdGUpKSB7IHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBzdGF0ZSAke0pTT04uc3RyaW5naWZ5KHdoaWNoU3RhdGUpfSBpbiBwcm9iYWJsZV9leGl0c19mb3JgKTsgfVxuXG4gICAgY29uc3Qgd3N0YXRlX3RvIDogQXJyYXk8IG1OVCA+ID0gd3N0YXRlLnRvLFxuXG4gICAgICAgICAgd3RmICAgICAgIDogQXJyYXk8IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA+IC8vIHdzdGF0ZV90b19maWx0ZXJlZCAtPiB3dGZcbiAgICAgICAgICAgICAgICAgICAgPSB3c3RhdGVfdG9cbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoICh3cykgOiA/SnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID0+IHRoaXMubG9va3VwX3RyYW5zaXRpb25fZm9yKHRoaXMuc3RhdGUoKSwgd3MpKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKTtcblxuICAgIHJldHVybiB3dGY7XG5cbiAgfVxuXG4gIHByb2JhYmlsaXN0aWNfdHJhbnNpdGlvbigpIDogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgOiBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPSB3ZWlnaHRlZF9yYW5kX3NlbGVjdCh0aGlzLnByb2JhYmxlX2V4aXRzX2Zvcih0aGlzLnN0YXRlKCkpKTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2l0aW9uKCBzZWxlY3RlZC50byApO1xuICB9XG5cbiAgcHJvYmFiaWxpc3RpY193YWxrKG4gOiBudW1iZXIpIDogQXJyYXk8bU5UPiB7XG4gICAgcmV0dXJuIHNlcShuKVxuICAgICAgICAgIC5tYXAoKCkgOiBtTlQgPT4ge1xuICAgICAgICAgICAgIGNvbnN0IHN0YXRlX3dhcyA6IG1OVCA9IHRoaXMuc3RhdGUoKTtcbiAgICAgICAgICAgICB0aGlzLnByb2JhYmlsaXN0aWNfdHJhbnNpdGlvbigpO1xuICAgICAgICAgICAgIHJldHVybiBzdGF0ZV93YXM7XG4gICAgICAgICAgIH0pXG4gICAgICAgICAgLmNvbmNhdChbdGhpcy5zdGF0ZSgpXSk7XG4gIH1cblxuICBwcm9iYWJpbGlzdGljX2hpc3RvX3dhbGsobiA6IG51bWJlcikgOiBNYXA8bU5ULCBudW1iZXI+IHtcbiAgICByZXR1cm4gaGlzdG9ncmFwaCh0aGlzLnByb2JhYmlsaXN0aWNfd2FsayhuKSk7XG4gIH1cblxuXG5cbiAgYWN0aW9ucyh3aGljaFN0YXRlIDogbU5UID0gdGhpcy5zdGF0ZSgpICkgOiBBcnJheTxtTlQ+IHtcbiAgICBjb25zdCB3c3RhdGUgOiA/TWFwPG1OVCwgbnVtYmVyPiA9IHRoaXMuX3JldmVyc2VfYWN0aW9ucy5nZXQod2hpY2hTdGF0ZSk7XG4gICAgaWYgKHdzdGF0ZSkgeyByZXR1cm4gWy4uLiB3c3RhdGUua2V5cygpXTsgfVxuICAgIGVsc2UgICAgICAgIHsgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIHN0YXRlICR7SlNPTi5zdHJpbmdpZnkod2hpY2hTdGF0ZSl9YCk7IH1cbiAgfVxuXG4gIGxpc3Rfc3RhdGVzX2hhdmluZ19hY3Rpb24od2hpY2hTdGF0ZSA6IG1OVCkgOiBBcnJheTxtTlQ+IHtcbiAgICBjb25zdCB3c3RhdGUgOiA/TWFwPG1OVCwgbnVtYmVyPiA9IHRoaXMuX2FjdGlvbnMuZ2V0KHdoaWNoU3RhdGUpO1xuICAgIGlmICh3c3RhdGUpIHsgcmV0dXJuIFsuLi4gd3N0YXRlLmtleXMoKV07IH1cbiAgICBlbHNlICAgICAgICB7IHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBzdGF0ZSAke0pTT04uc3RyaW5naWZ5KHdoaWNoU3RhdGUpfWApOyB9XG4gIH1cblxuLy8gY29tZWJhY2tcbi8qXG4gIGxpc3RfZW50cmFuY2VfYWN0aW9ucyh3aGljaFN0YXRlIDogbU5UID0gdGhpcy5zdGF0ZSgpICkgOiBBcnJheTxtTlQ+IHtcbiAgICByZXR1cm4gWy4uLiAodGhpcy5fcmV2ZXJzZV9hY3Rpb25fdGFyZ2V0cy5nZXQod2hpY2hTdGF0ZSkgfHwgbmV3IE1hcCgpKS52YWx1ZXMoKV0gLy8gd2FzdGVmdWxcbiAgICAgICAgICAgLm1hcCggKGVkZ2VJZDphbnkpID0+ICh0aGlzLl9lZGdlc1tlZGdlSWRdIDogYW55KSkgLy8gd2hhcmdhcmJsIGJ1cm4gb3V0IGFueVxuICAgICAgICAgICAuZmlsdGVyKCAobzphbnkpID0+IG8udG8gPT09IHdoaWNoU3RhdGUpXG4gICAgICAgICAgIC5tYXAoIGZpbHRlcmVkID0+IGZpbHRlcmVkLmZyb20gKTtcbiAgfVxuKi9cbiAgbGlzdF9leGl0X2FjdGlvbnMod2hpY2hTdGF0ZSA6IG1OVCA9IHRoaXMuc3RhdGUoKSApIDogQXJyYXk8P21OVD4geyAvLyB0aGVzZSBhcmUgbU5ULCBub3QgP21OVFxuICAgIGNvbnN0IHJhX2Jhc2UgOiA/TWFwPG1OVCwgbnVtYmVyPiA9IHRoaXMuX3JldmVyc2VfYWN0aW9ucy5nZXQod2hpY2hTdGF0ZSk7XG4gICAgaWYgKCEocmFfYmFzZSkpIHsgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIHN0YXRlICR7SlNPTi5zdHJpbmdpZnkod2hpY2hTdGF0ZSl9YCk7IH1cblxuICAgIHJldHVybiBbLi4uIHJhX2Jhc2UudmFsdWVzKCldXG4gICAgICAgICAgIC5tYXAgICAgKCAoZWRnZUlkOm51bWJlcikgICAgICAgICAgICAgIDogSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID0+IHRoaXMuX2VkZ2VzW2VkZ2VJZF0gICApXG4gICAgICAgICAgIC5maWx0ZXIgKCAobzpKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4pIDogYm9vbGVhbiAgICAgICAgICAgICAgICAgID0+IG8uZnJvbSA9PT0gd2hpY2hTdGF0ZSApXG4gICAgICAgICAgIC5tYXAgICAgKCAoZmlsdGVyZWQgOiBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4pIDogP21OVCAgICAgICAgICAgID0+IGZpbHRlcmVkLmFjdGlvbiAgICAgICApO1xuICB9XG5cbiAgcHJvYmFibGVfYWN0aW9uX2V4aXRzKHdoaWNoU3RhdGUgOiBtTlQgPSB0aGlzLnN0YXRlKCkgKSA6IEFycmF5PG1peGVkPiB7IC8vIHRoZXNlIGFyZSBtTlRcbiAgICBjb25zdCByYV9iYXNlIDogP01hcDxtTlQsIG51bWJlcj4gPSB0aGlzLl9yZXZlcnNlX2FjdGlvbnMuZ2V0KHdoaWNoU3RhdGUpO1xuICAgIGlmICghKHJhX2Jhc2UpKSB7IHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBzdGF0ZSAke0pTT04uc3RyaW5naWZ5KHdoaWNoU3RhdGUpfWApOyB9XG5cbiAgICByZXR1cm4gWy4uLiByYV9iYXNlLnZhbHVlcygpXVxuICAgICAgICAgICAubWFwICAgICggKGVkZ2VJZDpudW1iZXIpIDogSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID0+IHRoaXMuX2VkZ2VzW2VkZ2VJZF0gICApXG4gICAgICAgICAgIC5maWx0ZXIgKCAobzpKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4pIDogYm9vbGVhbiAgICAgPT4gby5mcm9tID09PSB3aGljaFN0YXRlIClcbiAgICAgICAgICAgLm1hcCAgICAoIChmaWx0ZXJlZCkgOiBtaXhlZCAgICAgICAgICAgICAgICAgICAgICAgICA9PiAoIHsgYWN0aW9uICAgICAgOiBmaWx0ZXJlZC5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2JhYmlsaXR5IDogZmlsdGVyZWQucHJvYmFiaWxpdHkgfSApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgfVxuXG5cblxuICBpc191bmVudGVyYWJsZSh3aGljaFN0YXRlIDogbU5UKSA6IGJvb2xlYW4ge1xuICAgIC8vIHdoYXJnYXJibCBzaG91bGQgdGhyb3cgb24gdW5rbm93biBzdGF0ZVxuICAgIHJldHVybiB0aGlzLmxpc3RfZW50cmFuY2VzKHdoaWNoU3RhdGUpLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIGhhc191bmVudGVyYWJsZXMoKSA6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlcygpLnNvbWUoICh4KSA6IGJvb2xlYW4gPT4gdGhpcy5pc191bmVudGVyYWJsZSh4KSk7XG4gIH1cblxuXG5cbiAgaXNfdGVybWluYWwoKSA6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlX2lzX3Rlcm1pbmFsKHRoaXMuc3RhdGUoKSk7XG4gIH1cblxuICBzdGF0ZV9pc190ZXJtaW5hbCh3aGljaFN0YXRlIDogbU5UKSA6IGJvb2xlYW4ge1xuICAgIC8vIHdoYXJnYXJibCBzaG91bGQgdGhyb3cgb24gdW5rbm93biBzdGF0ZVxuICAgIHJldHVybiB0aGlzLmxpc3RfZXhpdHMod2hpY2hTdGF0ZSkubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgaGFzX3Rlcm1pbmFscygpIDogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVzKCkuc29tZSggKHgpIDogYm9vbGVhbiA9PiB0aGlzLnN0YXRlX2lzX3Rlcm1pbmFsKHgpKTtcbiAgfVxuXG5cblxuICBpc19jb21wbGV0ZSgpIDogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVfaXNfY29tcGxldGUodGhpcy5zdGF0ZSgpKTtcbiAgfVxuXG4gIHN0YXRlX2lzX2NvbXBsZXRlKHdoaWNoU3RhdGUgOiBtTlQpIDogYm9vbGVhbiB7XG4gICAgY29uc3Qgd3N0YXRlIDogP0pzc21HZW5lcmljU3RhdGU8bU5UPiA9IHRoaXMuX3N0YXRlcy5nZXQod2hpY2hTdGF0ZSk7XG4gICAgaWYgKHdzdGF0ZSkgeyByZXR1cm4gd3N0YXRlLmNvbXBsZXRlOyB9XG4gICAgZWxzZSAgICAgICAgeyB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggc3RhdGUgJHtKU09OLnN0cmluZ2lmeSh3aGljaFN0YXRlKX1gKTsgfVxuICB9XG5cbiAgaGFzX2NvbXBsZXRlcygpIDogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVzKCkuc29tZSggKHgpIDogYm9vbGVhbiA9PiB0aGlzLnN0YXRlX2lzX2NvbXBsZXRlKHgpICk7XG4gIH1cblxuXG5cbiAgYWN0aW9uKG5hbWUgOiBtTlQsIG5ld0RhdGE/IDogbURUKSA6IGJvb2xlYW4ge1xuICAgIC8vIHRvZG8gd2hhcmdhcmJsIGltcGxlbWVudCBob29rc1xuICAgIC8vIHRvZG8gd2hhcmdhcmJsIGltcGxlbWVudCBkYXRhIHN0dWZmXG4gICAgLy8gdG9kbyBtYWpvciBpbmNvbXBsZXRlIHdoYXJnYXJibCBjb21lYmFja1xuICAgIGlmICh0aGlzLnZhbGlkX2FjdGlvbihuYW1lLCBuZXdEYXRhKSkge1xuICAgICAgY29uc3QgZWRnZSA6IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA9IHRoaXMuY3VycmVudF9hY3Rpb25fZWRnZV9mb3IobmFtZSk7XG4gICAgICB0aGlzLl9zdGF0ZSA9IGVkZ2UudG87XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHRyYW5zaXRpb24obmV3U3RhdGUgOiBtTlQsIG5ld0RhdGE/IDogbURUKSA6IGJvb2xlYW4ge1xuICAgIC8vIHRvZG8gd2hhcmdhcmJsIGltcGxlbWVudCBob29rc1xuICAgIC8vIHRvZG8gd2hhcmdhcmJsIGltcGxlbWVudCBkYXRhIHN0dWZmXG4gICAgLy8gdG9kbyBtYWpvciBpbmNvbXBsZXRlIHdoYXJnYXJibCBjb21lYmFja1xuICAgIGlmICh0aGlzLnZhbGlkX3RyYW5zaXRpb24obmV3U3RhdGUsIG5ld0RhdGEpKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvLyBjYW4gbGVhdmUgbWFjaGluZSBpbiBpbmNvbnNpc3RlbnQgc3RhdGUuICBnZW5lcmFsbHkgZG8gbm90IHVzZVxuICBmb3JjZV90cmFuc2l0aW9uKG5ld1N0YXRlIDogbU5ULCBuZXdEYXRhPyA6IG1EVCkgOiBib29sZWFuIHtcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgaG9va3NcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgZGF0YSBzdHVmZlxuICAgIC8vIHRvZG8gbWFqb3IgaW5jb21wbGV0ZSB3aGFyZ2FyYmwgY29tZWJhY2tcbiAgICBpZiAodGhpcy52YWxpZF9mb3JjZV90cmFuc2l0aW9uKG5ld1N0YXRlLCBuZXdEYXRhKSkge1xuICAgICAgdGhpcy5fc3RhdGUgPSBuZXdTdGF0ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cblxuXG4gIGN1cnJlbnRfYWN0aW9uX2ZvcihhY3Rpb24gOiBtTlQpIDogbnVtYmVyIHwgdm9pZCB7XG4gICAgY29uc3QgYWN0aW9uX2Jhc2UgOiA/TWFwPG1OVCwgbnVtYmVyPiA9IHRoaXMuX2FjdGlvbnMuZ2V0KGFjdGlvbik7XG4gICAgcmV0dXJuIGFjdGlvbl9iYXNlPyBhY3Rpb25fYmFzZS5nZXQodGhpcy5zdGF0ZSgpKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGN1cnJlbnRfYWN0aW9uX2VkZ2VfZm9yKGFjdGlvbiA6IG1OVCkgOiBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4ge1xuICAgIGNvbnN0IGlkeCA6ID9udW1iZXIgPSB0aGlzLmN1cnJlbnRfYWN0aW9uX2ZvcihhY3Rpb24pO1xuICAgIGlmICgoaWR4ID09PSB1bmRlZmluZWQpIHx8IChpZHggPT09IG51bGwpKSB7IHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBhY3Rpb24gJHtKU09OLnN0cmluZ2lmeShhY3Rpb24pfWApOyB9XG4gICAgcmV0dXJuIHRoaXMuX2VkZ2VzW2lkeF07XG4gIH1cblxuICB2YWxpZF9hY3Rpb24oYWN0aW9uIDogbU5ULCBfbmV3RGF0YT8gOiBtRFQpIDogYm9vbGVhbiB7ICAvLyB0b2RvIGNvbWViYWNrIHVuaWdub3JlIG5ld0RhdGFcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgaG9va3NcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgZGF0YSBzdHVmZlxuICAgIC8vIHRvZG8gbWFqb3IgaW5jb21wbGV0ZSB3aGFyZ2FyYmwgY29tZWJhY2tcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50X2FjdGlvbl9mb3IoYWN0aW9uKSAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgdmFsaWRfdHJhbnNpdGlvbihuZXdTdGF0ZSA6IG1OVCwgX25ld0RhdGE/IDogbURUKSA6IGJvb2xlYW4geyAgLy8gdG9kbyBjb21lYmFjayB1bmlnbm9yZSBuZXdEYXRhXG4gICAgLy8gdG9kbyB3aGFyZ2FyYmwgaW1wbGVtZW50IGhvb2tzXG4gICAgLy8gdG9kbyB3aGFyZ2FyYmwgaW1wbGVtZW50IGRhdGEgc3R1ZmZcbiAgICAvLyB0b2RvIG1ham9yIGluY29tcGxldGUgd2hhcmdhcmJsIGNvbWViYWNrXG4gICAgY29uc3QgdHJhbnNpdGlvbl9mb3IgOiA/SnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID0gdGhpcy5sb29rdXBfdHJhbnNpdGlvbl9mb3IodGhpcy5zdGF0ZSgpLCBuZXdTdGF0ZSk7XG5cbiAgICBpZiAoISh0cmFuc2l0aW9uX2ZvcikpICAgICAgICAgIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgaWYgKHRyYW5zaXRpb25fZm9yLmZvcmNlZF9vbmx5KSB7IHJldHVybiBmYWxzZTsgfVxuXG4gICAgcmV0dXJuIHRydWU7XG5cbiAgfVxuXG4gIHZhbGlkX2ZvcmNlX3RyYW5zaXRpb24obmV3U3RhdGUgOiBtTlQsIF9uZXdEYXRhPyA6IG1EVCkgOiBib29sZWFuIHsgIC8vIHRvZG8gY29tZWJhY2sgdW5pZ25vcmUgbmV3RGF0YVxuICAgIC8vIHRvZG8gd2hhcmdhcmJsIGltcGxlbWVudCBob29rc1xuICAgIC8vIHRvZG8gd2hhcmdhcmJsIGltcGxlbWVudCBkYXRhIHN0dWZmXG4gICAgLy8gdG9kbyBtYWpvciBpbmNvbXBsZXRlIHdoYXJnYXJibCBjb21lYmFja1xuICAgIHJldHVybiAodGhpcy5sb29rdXBfdHJhbnNpdGlvbl9mb3IodGhpcy5zdGF0ZSgpLCBuZXdTdGF0ZSkgIT09IHVuZGVmaW5lZCk7XG4gIH1cblxuXG59XG5cblxuXG5cblxuZnVuY3Rpb24gc208bU5ULCBtRFQ+KHRlbXBsYXRlX3N0cmluZ3MgOiBBcnJheTxzdHJpbmc+IC8qICwgYXJndW1lbnRzICovKSA6IE1hY2hpbmU8bU5ULCBtRFQ+IHtcblxuICAgIC8vIGZvb2BhJHsxfWIkezJ9Y2Agd2lsbCBjb21lIGluIGFzIChbJ2EnLCdiJywnYyddLDEsMilcbiAgICAvLyB0aGlzIGluY2x1ZGVzIHdoZW4gYSBhbmQgYyBhcmUgZW1wdHkgc3RyaW5nc1xuICAgIC8vIHRoZXJlZm9yZSB0ZW1wbGF0ZV9zdHJpbmdzIHdpbGwgYWx3YXlzIGhhdmUgb25lIG1vcmUgZWwgdGhhbiB0ZW1wbGF0ZV9hcmdzXG4gICAgLy8gdGhlcmVmb3JlIG1hcCB0aGUgc21hbGxlciBjb250YWluZXIgYW5kIHRvc3MgdGhlIGxhc3Qgb25lIG9uIG9uIHRoZSB3YXkgb3V0XG5cbiAgICByZXR1cm4gbmV3IE1hY2hpbmUobWFrZSh0ZW1wbGF0ZV9zdHJpbmdzLnJlZHVjZShcblxuICAgICAgLy8gaW4gZ2VuZXJhbCBhdm9pZGluZyBgYXJndW1lbnRzYCBpcyBzbWFydC4gIGhvd2V2ZXIgd2l0aCB0aGUgdGVtcGxhdGVcbiAgICAgIC8vIHN0cmluZyBub3RhdGlvbiwgYXMgZGVzaWduZWQsIGl0J3Mgbm90IHJlYWxseSB3b3J0aCB0aGUgaGFzc2xlXG5cbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIGZwL25vLWFyZ3VtZW50cyAqL1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgcHJlZmVyLXJlc3QtcGFyYW1zICovXG4gICAgICAoYWNjLCB2YWwsIGlkeCkgOiBzdHJpbmcgPT4gYCR7YWNjfSR7YXJndW1lbnRzW2lkeF19JHt2YWx9YCAgLy8gYXJndW1lbnRzWzBdIGlzIG5ldmVyIGxvYWRlZCwgc28gYXJncyBkb2Vzbid0IG5lZWQgdG8gYmUgZ2F0ZWRcbiAgICAgIC8qIGVzbGludC1lbmFibGUgIHByZWZlci1yZXN0LXBhcmFtcyAqL1xuICAgICAgLyogZXNsaW50LWVuYWJsZSAgZnAvbm8tYXJndW1lbnRzICovXG5cbiAgICApKSk7XG5cbn1cblxuXG5cblxuXG5leHBvcnQge1xuXG4gIHZlcnNpb24sXG5cbiAgTWFjaGluZSxcblxuICBtYWtlLFxuICAgIHBhcnNlLFxuICAgIGNvbXBpbGUsXG5cbiAgc20sXG5cbiAgYXJyb3dfZGlyZWN0aW9uLFxuICBhcnJvd19sZWZ0X2tpbmQsXG4gIGFycm93X3JpZ2h0X2tpbmQsXG5cbiAgLy8gdG9kbyB3aGFyZ2FyYmwgdGhlc2Ugc2hvdWxkIGJlIGV4cG9ydGVkIHRvIGEgdXRpbGl0eSBsaWJyYXJ5XG4gIHNlcSwgd2VpZ2h0ZWRfcmFuZF9zZWxlY3QsIGhpc3RvZ3JhcGgsIHdlaWdodGVkX3NhbXBsZV9zZWxlY3QsIHdlaWdodGVkX2hpc3RvX2tleVxuXG59O1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9qcy9qc3NtLmpzIl0sIm5hbWVzIjpbInBhcnNlIiwicmVxdWlyZSIsInZlcnNpb24iLCJhcnJvd19kaXJlY3Rpb24iLCJhcnJvdyIsIlN0cmluZyIsIkVycm9yIiwiYXJyb3dfbGVmdF9raW5kIiwiYXJyb3dfcmlnaHRfa2luZCIsImNvbXBpbGVfcnVsZV90cmFuc2l0aW9uX3N0ZXAiLCJhY2MiLCJmcm9tIiwidG8iLCJ0aGlzX3NlIiwibmV4dF9zZSIsImVkZ2VzIiwidUZyb20iLCJBcnJheSIsImlzQXJyYXkiLCJ1VG8iLCJtYXAiLCJmIiwidCIsInJrIiwia2luZCIsImxrIiwicmlnaHQiLCJmb3JjZWRfb25seSIsIm1haW5fcGF0aCIsInJfYWN0aW9uIiwiYWN0aW9uIiwicl9wcm9iYWJpbGl0eSIsInByb2JhYmlsaXR5IiwicHVzaCIsImxlZnQiLCJsX2FjdGlvbiIsImxfcHJvYmFiaWxpdHkiLCJuZXdfYWNjIiwiY29uY2F0Iiwic2UiLCJjb21waWxlX3J1bGVfaGFuZGxlX3RyYW5zaXRpb24iLCJydWxlIiwiY29tcGlsZV9ydWxlX2hhbmRsZXIiLCJrZXkiLCJhZ2dfYXMiLCJ2YWwiLCJ0YXV0b2xvZ2llcyIsImluY2x1ZGVzIiwidmFsdWUiLCJKU09OIiwic3RyaW5naWZ5IiwiY29tcGlsZSIsInRyZWUiLCJyZXN1bHRzIiwiZ3JhcGhfbGF5b3V0IiwidHJhbnNpdGlvbiIsInN0YXJ0X3N0YXRlcyIsImVuZF9zdGF0ZXMiLCJmc2xfdmVyc2lvbiIsIm1hY2hpbmVfYXV0aG9yIiwibWFjaGluZV9jb21tZW50IiwibWFjaGluZV9jb250cmlidXRvciIsIm1hY2hpbmVfZGVmaW5pdGlvbiIsIm1hY2hpbmVfbGljZW5zZSIsIm1hY2hpbmVfbmFtZSIsIm1hY2hpbmVfcmVmZXJlbmNlIiwibWFjaGluZV92ZXJzaW9uIiwidHIiLCJhc3NlbWJsZWRfdHJhbnNpdGlvbnMiLCJyZXN1bHRfY2ZnIiwibGVuZ3RoIiwidHJhbnNpdGlvbnMiLCJvbmVPbmx5S2V5cyIsIm9uZU9ubHlLZXkiLCJtdWx0aUtleSIsIm1ha2UiLCJwbGFuIiwiTWFjaGluZSIsImNvbXBsZXRlIiwiX3N0YXRlIiwiX3N0YXRlcyIsIk1hcCIsIl9lZGdlcyIsIl9lZGdlX21hcCIsIl9uYW1lZF90cmFuc2l0aW9ucyIsIl9hY3Rpb25zIiwiX3JldmVyc2VfYWN0aW9ucyIsIl9yZXZlcnNlX2FjdGlvbl90YXJnZXRzIiwiX21hY2hpbmVfYXV0aG9yIiwiX21hY2hpbmVfY29tbWVudCIsIl9tYWNoaW5lX2NvbnRyaWJ1dG9yIiwiX21hY2hpbmVfZGVmaW5pdGlvbiIsIl9tYWNoaW5lX2xpY2Vuc2UiLCJfbWFjaGluZV9uYW1lIiwiX21hY2hpbmVfdmVyc2lvbiIsIl9mc2xfdmVyc2lvbiIsIl9ncmFwaF9sYXlvdXQiLCJ1bmRlZmluZWQiLCJjdXJzb3JfZnJvbSIsImdldCIsIm5hbWUiLCJoYXMiLCJfbmV3X3N0YXRlIiwiY3Vyc29yX3RvIiwidGhpc0VkZ2VJZCIsInNldCIsImZyb21fbWFwcGluZyIsImFjdGlvbk1hcCIsInJBY3Rpb25NYXAiLCJzdGF0ZV9jb25maWciLCJ3aGljaFN0YXRlIiwic3RhdGVfaXNfdGVybWluYWwiLCJzdGF0ZV9pc19jb21wbGV0ZSIsInN0YXRlX2lzX2ZpbmFsIiwic3RhdGUiLCJpbnRlcm5hbF9zdGF0ZV9pbXBsX3ZlcnNpb24iLCJhY3Rpb25zIiwiZWRnZV9tYXAiLCJuYW1lZF90cmFuc2l0aW9ucyIsInJldmVyc2VfYWN0aW9ucyIsInN0YXRlcyIsImtleXMiLCJlbWciLCJpZCIsImdldF90cmFuc2l0aW9uX2J5X3N0YXRlX25hbWVzIiwiZW50cmFuY2VzIiwibGlzdF9lbnRyYW5jZXMiLCJleGl0cyIsImxpc3RfZXhpdHMiLCJ3c3RhdGUiLCJ3c3RhdGVfdG8iLCJ3dGYiLCJ3cyIsImxvb2t1cF90cmFuc2l0aW9uX2ZvciIsImZpbHRlciIsIkJvb2xlYW4iLCJzZWxlY3RlZCIsInByb2JhYmxlX2V4aXRzX2ZvciIsIm4iLCJzdGF0ZV93YXMiLCJwcm9iYWJpbGlzdGljX3RyYW5zaXRpb24iLCJwcm9iYWJpbGlzdGljX3dhbGsiLCJyYV9iYXNlIiwidmFsdWVzIiwiZWRnZUlkIiwibyIsImZpbHRlcmVkIiwic29tZSIsIngiLCJpc191bmVudGVyYWJsZSIsIm5ld0RhdGEiLCJ2YWxpZF9hY3Rpb24iLCJlZGdlIiwiY3VycmVudF9hY3Rpb25fZWRnZV9mb3IiLCJuZXdTdGF0ZSIsInZhbGlkX3RyYW5zaXRpb24iLCJ2YWxpZF9mb3JjZV90cmFuc2l0aW9uIiwiYWN0aW9uX2Jhc2UiLCJpZHgiLCJjdXJyZW50X2FjdGlvbl9mb3IiLCJfbmV3RGF0YSIsInRyYW5zaXRpb25fZm9yIiwic20iLCJ0ZW1wbGF0ZV9zdHJpbmdzIiwicmVkdWNlIiwic2VxIiwid2VpZ2h0ZWRfcmFuZF9zZWxlY3QiLCJoaXN0b2dyYXBoIiwid2VpZ2h0ZWRfc2FtcGxlX3NlbGVjdCIsIndlaWdodGVkX2hpc3RvX2tleSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBcUJBOzs7Ozs7QUFwQkE7O0FBc0JBLElBQU1BLFFBQWdEQyxRQUFRLGVBQVIsRUFBeUJELEtBQS9FLEMsQ0FBdUY7O0FBRXZGLElBQU1FLFVBQWlCLElBQXZCLEMsQ0FBNkI7OztBQU03QixTQUFTQyxlQUFULENBQXlCQyxLQUF6QixFQUFpRTs7QUFFL0QsVUFBU0MsT0FBT0QsS0FBUCxDQUFUOztBQUVFLFNBQUssSUFBTCxDQUFhLEtBQUssSUFBTCxDQUFjLEtBQUssSUFBTDtBQUN6QixhQUFPLE9BQVA7O0FBRUYsU0FBSyxJQUFMLENBQWEsS0FBSyxJQUFMLENBQWMsS0FBSyxJQUFMO0FBQ3pCLGFBQU8sTUFBUDs7QUFFRixTQUFLLEtBQUwsQ0FBYSxLQUFLLE1BQUwsQ0FBYyxLQUFLLE1BQUw7QUFDM0IsU0FBSyxLQUFMLENBQWEsS0FBSyxNQUFMLENBQWMsS0FBSyxNQUFMO0FBQzNCLFNBQUssS0FBTCxDQUFhLEtBQUssTUFBTCxDQUFjLEtBQUssTUFBTDtBQUN6QixhQUFPLE1BQVA7O0FBRUY7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Q0EsYUFBUSxLQUFLM0IscUJBQUwsQ0FBMkIsS0FBS25CLEtBQUwsRUFBM0IsRUFBeUN3QyxRQUF6QyxNQUF1RHpELFNBQS9EO0FBQ0Q7Ozs7OztBQVNILFNBQVNpRSxFQUFULENBQXNCQyxnQkFBdEIsQ0FBdUQsaUJBQXZELEVBQThGO0FBQUE7OztBQUUxRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFPLElBQUl0RixPQUFKLENBQVlGLEtBQUt3RixpQkFBaUJDLE1BQWpCOztBQUV0QjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFDMUosR0FBRCxFQUFNbUMsR0FBTixFQUFXaUgsR0FBWDtBQUFBLGdCQUErQnBKLEdBQS9CLEdBQXFDLFdBQVVvSixHQUFWLENBQXJDLEdBQXNEakgsR0FBdEQ7QUFBQSxHQVBzQixDQU91QztBQUM3RDtBQUNBOztBQVRzQixHQUFMLENBQVosQ0FBUDtBQWFIOztRQVFDM0MsTyxHQUFBQSxPO1FBRUEyRSxPLEdBQUFBLE87UUFFQUYsSSxHQUFBQSxJO1FBQ0UzRSxLLEdBQUFBLEs7UUFDQW1ELE8sR0FBQUEsTztRQUVGK0csRSxHQUFBQSxFO1FBRUEvSixlLEdBQUFBLGU7UUFDQUksZSxHQUFBQSxlO1FBQ0FDLGdCLEdBQUFBLGdCO1FBR0E2SixHO1FBQUtDLG9CO1FBQXNCQyxVO1FBQVlDLHNCO1FBQXdCQyxrQiIsImZpbGUiOiJqc3NtLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyB3aGFyZ2FyYmwgbG90cyBvZiB0aGVzZSByZXR1cm4gYXJyYXlzIGNvdWxkL3Nob3VsZCBiZSBzZXRzXG5cbi8vIEBmbG93XG5cbmltcG9ydCB0eXBlIHtcblxuICBKc3NtR2VuZXJpY1N0YXRlLCBKc3NtR2VuZXJpY0NvbmZpZyxcbiAgSnNzbVRyYW5zaXRpb24sIEpzc21UcmFuc2l0aW9uTGlzdCxcbiAgSnNzbU1hY2hpbmVJbnRlcm5hbFN0YXRlLFxuICBKc3NtUGFyc2VUcmVlLFxuICBKc3NtQ29tcGlsZVNlLCBKc3NtQ29tcGlsZVNlU3RhcnQsIEpzc21Db21waWxlUnVsZSxcbiAgSnNzbUFycm93LCBKc3NtQXJyb3dEaXJlY3Rpb24sIEpzc21BcnJvd0tpbmQsXG4gIEpzc21MYXlvdXRcblxufSBmcm9tICcuL2pzc20tdHlwZXMnO1xuXG5cblxuXG5cbmltcG9ydCB7IHNlcSwgd2VpZ2h0ZWRfcmFuZF9zZWxlY3QsIHdlaWdodGVkX3NhbXBsZV9zZWxlY3QsIGhpc3RvZ3JhcGgsIHdlaWdodGVkX2hpc3RvX2tleSB9IGZyb20gJy4vanNzbS11dGlsLmpzJztcblxuY29uc3QgcGFyc2UgOiA8TlQsIERUPihzdHJpbmcpID0+IEpzc21QYXJzZVRyZWU8TlQ+ID0gcmVxdWlyZSgnLi9qc3NtLWRvdC5qcycpLnBhcnNlOyAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBmbG93dHlwZS9uby13ZWFrLXR5cGVzIC8vIHRvZG8gd2hhcmdhcmJsIHJlbW92ZSBhbnlcblxuY29uc3QgdmVyc2lvbiA6IG51bGwgPSBudWxsOyAvLyByZXBsYWNlZCBmcm9tIHBhY2thZ2UuanMgaW4gYnVpbGRcblxuXG5cblxuXG5mdW5jdGlvbiBhcnJvd19kaXJlY3Rpb24oYXJyb3cgOiBKc3NtQXJyb3cpIDogSnNzbUFycm93RGlyZWN0aW9uIHtcblxuICBzd2l0Y2ggKCBTdHJpbmcoYXJyb3cpICkge1xuXG4gICAgY2FzZSAnLT4nIDogIGNhc2UgJz0+JyAgOiAgY2FzZSAnfj4nICA6XG4gICAgICByZXR1cm4gJ3JpZ2h0JztcblxuICAgIGNhc2UgJzwtJyA6ICBjYXNlICc8PScgIDogIGNhc2UgJzx+JyAgOlxuICAgICAgcmV0dXJuICdsZWZ0JztcblxuICAgIGNhc2UgJzwtPic6ICBjYXNlICc8LT0+JzogIGNhc2UgJzwtfj4nOlxuICAgIGNhc2UgJzw9Pic6ICBjYXNlICc8PS0+JzogIGNhc2UgJzw9fj4nOlxuICAgIGNhc2UgJzx+Pic6ICBjYXNlICc8fi0+JzogIGNhc2UgJzx+PT4nOlxuICAgICAgcmV0dXJuICdib3RoJztcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGFycm93X2RpcmVjdGlvbjogdW5rbm93biBhcnJvdyB0eXBlICR7YXJyb3d9YCk7XG5cbiAgfVxuXG59XG5cblxuXG5cblxuZnVuY3Rpb24gYXJyb3dfbGVmdF9raW5kKGFycm93IDogSnNzbUFycm93KSA6IEpzc21BcnJvd0tpbmQge1xuXG4gIHN3aXRjaCAoIFN0cmluZyhhcnJvdykgKSB7XG5cbiAgICBjYXNlICctPic6ICBjYXNlICc9PicgOiAgY2FzZSAnfj4nOlxuICAgICAgcmV0dXJuICdub25lJztcblxuICAgIGNhc2UgJzwtJzogIGNhc2UgJzwtPic6ICBjYXNlICc8LT0+JzogIGNhc2UgJzwtfj4nOlxuICAgICAgcmV0dXJuICdsZWdhbCc7XG5cbiAgICBjYXNlICc8PSc6ICBjYXNlICc8PT4nOiAgY2FzZSAnPD0tPic6ICBjYXNlICc8PX4+JzpcbiAgICAgIHJldHVybiAnbWFpbic7XG5cbiAgICBjYXNlICc8fic6ICBjYXNlICc8fj4nOiAgY2FzZSAnPH4tPic6ICBjYXNlICc8fj0+JzpcbiAgICAgIHJldHVybiAnZm9yY2VkJztcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGFycm93X2RpcmVjdGlvbjogdW5rbm93biBhcnJvdyB0eXBlICR7YXJyb3d9YCk7XG5cbiAgfVxuXG59XG5cblxuXG5cblxuZnVuY3Rpb24gYXJyb3dfcmlnaHRfa2luZChhcnJvdyA6IEpzc21BcnJvdykgOiBKc3NtQXJyb3dLaW5kIHtcblxuICBzd2l0Y2ggKCBTdHJpbmcoYXJyb3cpICkge1xuXG4gICAgY2FzZSAnPC0nOiAgY2FzZSAnPD0nIDogIGNhc2UgJzx+JzpcbiAgICAgIHJldHVybiAnbm9uZSc7XG5cbiAgICBjYXNlICctPic6ICBjYXNlICc8LT4nOiAgY2FzZSAnPD0tPic6ICBjYXNlICc8fi0+JzpcbiAgICAgIHJldHVybiAnbGVnYWwnO1xuXG4gICAgY2FzZSAnPT4nOiAgY2FzZSAnPD0+JzogIGNhc2UgJzwtPT4nOiAgY2FzZSAnPH49Pic6XG4gICAgICByZXR1cm4gJ21haW4nO1xuXG4gICAgY2FzZSAnfj4nOiAgY2FzZSAnPH4+JzogIGNhc2UgJzwtfj4nOiAgY2FzZSAnPD1+Pic6XG4gICAgICByZXR1cm4gJ2ZvcmNlZCc7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBhcnJvd19kaXJlY3Rpb246IHVua25vd24gYXJyb3cgdHlwZSAke2Fycm93fWApO1xuXG4gIH1cblxufVxuXG5cblxuXG5cbmZ1bmN0aW9uIGNvbXBpbGVfcnVsZV90cmFuc2l0aW9uX3N0ZXA8bU5ULCBtRFQ+KFxuICAgICAgICAgICAgIGFjYyAgICAgOiBBcnJheTwgSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID4sXG4gICAgICAgICAgICAgZnJvbSAgICA6IG1OVCxcbiAgICAgICAgICAgICB0byAgICAgIDogbU5ULFxuICAgICAgICAgICAgIHRoaXNfc2UgOiBKc3NtQ29tcGlsZVNlPG1OVD4sXG4gICAgICAgICAgICAgbmV4dF9zZSA6IEpzc21Db21waWxlU2U8bU5UPlxuICAgICAgICAgKSA6IEFycmF5PCBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPiB7IC8vIHRvZG8gZmxvdyBkZXNjcmliZSB0aGUgcGFyc2VyIHJlcHJlc2VudGF0aW9uIG9mIGEgdHJhbnNpdGlvbiBzdGVwIGV4dGVuc2lvblxuXG4gIGNvbnN0IGVkZ2VzIDogQXJyYXk8IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA+ID0gW107XG5cbiAgY29uc3QgdUZyb20gOiBBcnJheTwgbU5UID4gPSAoQXJyYXkuaXNBcnJheShmcm9tKT8gZnJvbSA6IFtmcm9tXSksXG4gICAgICAgIHVUbyAgIDogQXJyYXk8IG1OVCA+ID0gKEFycmF5LmlzQXJyYXkodG8pPyAgIHRvICAgOiBbdG9dICApO1xuXG4gIHVGcm9tLm1hcCggKGY6bU5UKSA9PiB7XG4gICAgdVRvLm1hcCggKHQ6bU5UKSA9PiB7XG5cbiAgICAgIGNvbnN0IHJrIDogSnNzbUFycm93S2luZCA9IGFycm93X3JpZ2h0X2tpbmQodGhpc19zZS5raW5kKSxcbiAgICAgICAgICAgIGxrIDogSnNzbUFycm93S2luZCA9IGFycm93X2xlZnRfa2luZCh0aGlzX3NlLmtpbmQpO1xuXG5cbiAgICAgIGNvbnN0IHJpZ2h0IDogSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID0ge1xuICAgICAgICBmcm9tICAgICAgICA6IGYsXG4gICAgICAgIHRvICAgICAgICAgIDogdCxcbiAgICAgICAga2luZCAgICAgICAgOiByayxcbiAgICAgICAgZm9yY2VkX29ubHkgOiByayA9PT0gJ2ZvcmNlZCcsXG4gICAgICAgIG1haW5fcGF0aCAgIDogcmsgPT09ICdtYWluJ1xuICAgICAgfTtcblxuICAgICAgaWYgKHRoaXNfc2Uucl9hY3Rpb24pICAgICAgeyByaWdodC5hY3Rpb24gICAgICA9IHRoaXNfc2Uucl9hY3Rpb247ICAgICAgfVxuICAgICAgaWYgKHRoaXNfc2Uucl9wcm9iYWJpbGl0eSkgeyByaWdodC5wcm9iYWJpbGl0eSA9IHRoaXNfc2Uucl9wcm9iYWJpbGl0eTsgfVxuICAgICAgaWYgKHJpZ2h0LmtpbmQgIT09ICdub25lJykgeyBlZGdlcy5wdXNoKHJpZ2h0KTsgfVxuXG5cbiAgICAgIGNvbnN0IGxlZnQgOiBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPSB7XG4gICAgICAgIGZyb20gICAgICAgIDogdCxcbiAgICAgICAgdG8gICAgICAgICAgOiBmLFxuICAgICAgICBraW5kICAgICAgICA6IGxrLFxuICAgICAgICBmb3JjZWRfb25seSA6IGxrID09PSAnZm9yY2VkJyxcbiAgICAgICAgbWFpbl9wYXRoICAgOiBsayA9PT0gJ21haW4nXG4gICAgICB9O1xuXG4gICAgICBpZiAodGhpc19zZS5sX2FjdGlvbikgICAgICB7IGxlZnQuYWN0aW9uICAgICAgPSB0aGlzX3NlLmxfYWN0aW9uOyAgICAgIH1cbiAgICAgIGlmICh0aGlzX3NlLmxfcHJvYmFiaWxpdHkpIHsgbGVmdC5wcm9iYWJpbGl0eSA9IHRoaXNfc2UubF9wcm9iYWJpbGl0eTsgfVxuICAgICAgaWYgKGxlZnQua2luZCAhPT0gJ25vbmUnKSAgeyBlZGdlcy5wdXNoKGxlZnQpOyB9XG5cbiAgICB9KTtcbiAgfSk7XG5cbiAgY29uc3QgbmV3X2FjYyA6IEFycmF5PCBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPiA9IGFjYy5jb25jYXQoZWRnZXMpO1xuXG4gIGlmIChuZXh0X3NlKSB7XG4gICAgcmV0dXJuIGNvbXBpbGVfcnVsZV90cmFuc2l0aW9uX3N0ZXAobmV3X2FjYywgdG8sIG5leHRfc2UudG8sIG5leHRfc2UsIG5leHRfc2Uuc2UpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBuZXdfYWNjO1xuICB9XG5cbn1cblxuXG5cbmZ1bmN0aW9uIGNvbXBpbGVfcnVsZV9oYW5kbGVfdHJhbnNpdGlvbjxtTlQ+KHJ1bGUgOiBKc3NtQ29tcGlsZVNlU3RhcnQ8bU5UPikgOiBtaXhlZCB7IC8vIHRvZG8gZmxvdyBkZXNjcmliZSB0aGUgcGFyc2VyIHJlcHJlc2VudGF0aW9uIG9mIGEgdHJhbnNpdGlvblxuICByZXR1cm4gY29tcGlsZV9ydWxlX3RyYW5zaXRpb25fc3RlcChbXSwgcnVsZS5mcm9tLCBydWxlLnNlLnRvLCBydWxlLnNlLCBydWxlLnNlLnNlKTtcbn1cblxuXG5cbmZ1bmN0aW9uIGNvbXBpbGVfcnVsZV9oYW5kbGVyPG1OVD4ocnVsZSA6IEpzc21Db21waWxlU2VTdGFydDxtTlQ+KSA6IEpzc21Db21waWxlUnVsZSB7IC8vIHRvZG8gZmxvdyBkZXNjcmliZSB0aGUgb3V0cHV0IG9mIHRoZSBwYXJzZXJcblxuICBpZiAocnVsZS5rZXkgPT09ICd0cmFuc2l0aW9uJykgeyByZXR1cm4geyBhZ2dfYXM6ICd0cmFuc2l0aW9uJywgdmFsOiBjb21waWxlX3J1bGVfaGFuZGxlX3RyYW5zaXRpb24ocnVsZSkgfTsgfVxuXG4gIGNvbnN0IHRhdXRvbG9naWVzIDogQXJyYXk8c3RyaW5nPiA9IFtcbiAgICAnZ3JhcGhfbGF5b3V0JywgJ3N0YXJ0X3N0YXRlcycsICdlbmRfc3RhdGVzJywgJ21hY2hpbmVfbmFtZScsICdtYWNoaW5lX3ZlcnNpb24nLFxuICAgICdtYWNoaW5lX2NvbW1lbnQnLCAnbWFjaGluZV9hdXRob3InLCAnbWFjaGluZV9jb250cmlidXRvcicsICdtYWNoaW5lX2RlZmluaXRpb24nLFxuICAgICdtYWNoaW5lX3JlZmVyZW5jZScsICdtYWNoaW5lX2xpY2Vuc2UnLCAnZnNsX3ZlcnNpb24nXG4gIF07XG5cbiAgaWYgKHRhdXRvbG9naWVzLmluY2x1ZGVzKHJ1bGUua2V5KSkge1xuICAgIHJldHVybiB7IGFnZ19hczogcnVsZS5rZXksIHZhbDogcnVsZS52YWx1ZSB9O1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKGBjb21waWxlX3J1bGVfaGFuZGxlcjogVW5rbm93biBydWxlOiAke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWApO1xuXG59XG5cblxuXG5cblxuZnVuY3Rpb24gY29tcGlsZTxtTlQsIG1EVD4odHJlZSA6IEpzc21QYXJzZVRyZWU8bU5UPikgOiBKc3NtR2VuZXJpY0NvbmZpZzxtTlQsIG1EVD4geyAgLy8gdG9kbyBmbG93IGRlc2NyaWJlIHRoZSBvdXRwdXQgb2YgdGhlIHBhcnNlclxuXG4gIGNvbnN0IHJlc3VsdHMgOiB7XG4gICAgZ3JhcGhfbGF5b3V0ICAgICAgICA6IEFycmF5PCBKc3NtTGF5b3V0ID4sXG4gICAgdHJhbnNpdGlvbiAgICAgICAgICA6IEFycmF5PCBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPixcbiAgICBzdGFydF9zdGF0ZXMgICAgICAgIDogQXJyYXk8IG1OVCA+LFxuICAgIGVuZF9zdGF0ZXMgICAgICAgICAgOiBBcnJheTwgbU5UID4sXG4gICAgZnNsX3ZlcnNpb24gICAgICAgICA6IEFycmF5PCBzdHJpbmcgPixcbiAgICBtYWNoaW5lX2F1dGhvciAgICAgIDogQXJyYXk8IHN0cmluZyA+LFxuICAgIG1hY2hpbmVfY29tbWVudCAgICAgOiBBcnJheTwgc3RyaW5nID4sXG4gICAgbWFjaGluZV9jb250cmlidXRvciA6IEFycmF5PCBzdHJpbmcgPixcbiAgICBtYWNoaW5lX2RlZmluaXRpb24gIDogQXJyYXk8IHN0cmluZyA+LFxuICAgIG1hY2hpbmVfbGljZW5zZSAgICAgOiBBcnJheTwgc3RyaW5nID4sXG4gICAgbWFjaGluZV9uYW1lICAgICAgICA6IEFycmF5PCBzdHJpbmcgPixcbiAgICBtYWNoaW5lX3JlZmVyZW5jZSAgIDogQXJyYXk8IHN0cmluZyA+LFxuICAgIG1hY2hpbmVfdmVyc2lvbiAgICAgOiBBcnJheTwgc3RyaW5nID4gLy8gc2VtdmVyXG4gIH0gPSB7XG4gICAgZ3JhcGhfbGF5b3V0ICAgICAgICA6IFtdLFxuICAgIHRyYW5zaXRpb24gICAgICAgICAgOiBbXSxcbiAgICBzdGFydF9zdGF0ZXMgICAgICAgIDogW10sXG4gICAgZW5kX3N0YXRlcyAgICAgICAgICA6IFtdLFxuICAgIGZzbF92ZXJzaW9uICAgICAgICAgOiBbXSxcbiAgICBtYWNoaW5lX2F1dGhvciAgICAgIDogW10sXG4gICAgbWFjaGluZV9jb21tZW50ICAgICA6IFtdLFxuICAgIG1hY2hpbmVfY29udHJpYnV0b3IgOiBbXSxcbiAgICBtYWNoaW5lX2RlZmluaXRpb24gIDogW10sXG4gICAgbWFjaGluZV9saWNlbnNlICAgICA6IFtdLFxuICAgIG1hY2hpbmVfbmFtZSAgICAgICAgOiBbXSxcbiAgICBtYWNoaW5lX3JlZmVyZW5jZSAgIDogW10sXG4gICAgbWFjaGluZV92ZXJzaW9uICAgICA6IFtdXG4gIH07XG5cbiAgdHJlZS5tYXAoICh0ciA6IEpzc21Db21waWxlU2VTdGFydDxtTlQ+KSA9PiB7XG5cbiAgICBjb25zdCBydWxlICAgOiBKc3NtQ29tcGlsZVJ1bGUgPSBjb21waWxlX3J1bGVfaGFuZGxlcih0ciksXG4gICAgICAgICAgYWdnX2FzIDogc3RyaW5nICAgICAgICAgID0gcnVsZS5hZ2dfYXMsXG4gICAgICAgICAgdmFsICAgIDogbWl4ZWQgICAgICAgICAgID0gcnVsZS52YWw7ICAgICAgICAgICAgICAgICAgLy8gdG9kbyBiZXR0ZXIgdHlwZXNcblxuICAgIHJlc3VsdHNbYWdnX2FzXSA9IHJlc3VsdHNbYWdnX2FzXS5jb25jYXQodmFsKTtcblxuICB9KTtcblxuICBjb25zdCBhc3NlbWJsZWRfdHJhbnNpdGlvbnMgOiBBcnJheTwgSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID4gPSBbXS5jb25jYXQoLi4uIHJlc3VsdHNbJ3RyYW5zaXRpb24nXSk7XG5cbiAgY29uc3QgcmVzdWx0X2NmZyA6IEpzc21HZW5lcmljQ29uZmlnPG1OVCwgbURUPiA9IHtcbiAgICBzdGFydF9zdGF0ZXMgOiByZXN1bHRzLnN0YXJ0X3N0YXRlcy5sZW5ndGg/IHJlc3VsdHMuc3RhcnRfc3RhdGVzIDogW2Fzc2VtYmxlZF90cmFuc2l0aW9uc1swXS5mcm9tXSxcbiAgICB0cmFuc2l0aW9ucyAgOiBhc3NlbWJsZWRfdHJhbnNpdGlvbnNcbiAgfTtcblxuICBjb25zdCBvbmVPbmx5S2V5cyA6IEFycmF5PHN0cmluZz4gPSBbXG4gICAgJ2dyYXBoX2xheW91dCcsICdtYWNoaW5lX25hbWUnLCAnbWFjaGluZV92ZXJzaW9uJywgJ21hY2hpbmVfY29tbWVudCcsICdmc2xfdmVyc2lvbicsICdtYWNoaW5lX2xpY2Vuc2UnLFxuICAgICdtYWNoaW5lX2RlZmluaXRpb24nXG4gIF07XG5cbiAgb25lT25seUtleXMubWFwKCAob25lT25seUtleSA6IHN0cmluZykgPT4ge1xuICAgIGlmIChyZXN1bHRzW29uZU9ubHlLZXldLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWF5IG9ubHkgaGF2ZSBvbmUgJHtvbmVPbmx5S2V5fSBzdGF0ZW1lbnQgbWF4aW11bTogJHtKU09OLnN0cmluZ2lmeShyZXN1bHRzW29uZU9ubHlLZXldKX1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHJlc3VsdHNbb25lT25seUtleV0ubGVuZ3RoKSB7XG4gICAgICAgIHJlc3VsdF9jZmdbb25lT25seUtleV0gPSByZXN1bHRzW29uZU9ubHlLZXldWzBdO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgWydtYWNoaW5lX2F1dGhvcicsICdtYWNoaW5lX2NvbnRyaWJ1dG9yJywgJ21hY2hpbmVfcmVmZXJlbmNlJ10ubWFwKCAobXVsdGlLZXkgOiBzdHJpbmcpID0+IHtcbiAgICBpZiAocmVzdWx0c1ttdWx0aUtleV0ubGVuZ3RoKSB7XG4gICAgICByZXN1bHRfY2ZnW211bHRpS2V5XSA9IHJlc3VsdHNbbXVsdGlLZXldO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdF9jZmc7XG5cbn1cblxuXG5cblxuXG5mdW5jdGlvbiBtYWtlPG1OVCwgbURUPihwbGFuIDogc3RyaW5nKSA6IEpzc21HZW5lcmljQ29uZmlnPG1OVCwgbURUPiB7XG4gIHJldHVybiBjb21waWxlKHBhcnNlKHBsYW4pKTtcbn1cblxuXG5cblxuXG5jbGFzcyBNYWNoaW5lPG1OVCwgbURUPiB7XG5cblxuICBfc3RhdGUgICAgICAgICAgICAgICAgICA6IG1OVDtcbiAgX3N0YXRlcyAgICAgICAgICAgICAgICAgOiBNYXA8bU5ULCBKc3NtR2VuZXJpY1N0YXRlPG1OVD4+O1xuICBfZWRnZXMgICAgICAgICAgICAgICAgICA6IEFycmF5PEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPj47XG4gIF9lZGdlX21hcCAgICAgICAgICAgICAgIDogTWFwPG1OVCwgTWFwPG1OVCwgbnVtYmVyPj47XG4gIF9uYW1lZF90cmFuc2l0aW9ucyAgICAgIDogTWFwPG1OVCwgbnVtYmVyPjtcbiAgX2FjdGlvbnMgICAgICAgICAgICAgICAgOiBNYXA8bU5ULCBNYXA8bU5ULCBudW1iZXI+PjtcbiAgX3JldmVyc2VfYWN0aW9ucyAgICAgICAgOiBNYXA8bU5ULCBNYXA8bU5ULCBudW1iZXI+PjtcbiAgX3JldmVyc2VfYWN0aW9uX3RhcmdldHMgOiBNYXA8bU5ULCBNYXA8bU5ULCBudW1iZXI+PjtcblxuICBfbWFjaGluZV9hdXRob3IgICAgICAgICA6ID9BcnJheTxzdHJpbmc+O1xuICBfbWFjaGluZV9jb21tZW50ICAgICAgICA6ID9zdHJpbmc7XG4gIF9tYWNoaW5lX2NvbnRyaWJ1dG9yICAgIDogP0FycmF5PHN0cmluZz47XG4gIF9tYWNoaW5lX2RlZmluaXRpb24gICAgIDogP3N0cmluZztcbiAgX21hY2hpbmVfbGljZW5zZSAgICAgICAgOiA/c3RyaW5nO1xuICBfbWFjaGluZV9uYW1lICAgICAgICAgICA6ID9zdHJpbmc7XG4gIF9tYWNoaW5lX3ZlcnNpb24gICAgICAgIDogP3N0cmluZztcbiAgX2ZzbF92ZXJzaW9uICAgICAgICAgICAgOiA/c3RyaW5nO1xuXG4gIF9ncmFwaF9sYXlvdXQgICAgICAgICAgIDogSnNzbUxheW91dDtcblxuXG4gIC8vIHdoYXJnYXJibCB0aGlzIGJhZGx5IG5lZWRzIHRvIGJlIGJyb2tlbiB1cCwgbW9ub2xpdGggbWFzdGVyXG4gIGNvbnN0cnVjdG9yKHtcbiAgICBzdGFydF9zdGF0ZXMsXG4gICAgY29tcGxldGUgICAgICAgID0gW10sXG4gICAgdHJhbnNpdGlvbnMsXG4gICAgbWFjaGluZV9hdXRob3IsXG4gICAgbWFjaGluZV9jb21tZW50LFxuICAgIG1hY2hpbmVfY29udHJpYnV0b3IsXG4gICAgbWFjaGluZV9kZWZpbml0aW9uLFxuICAgIG1hY2hpbmVfbGljZW5zZSxcbiAgICBtYWNoaW5lX25hbWUsXG4gICAgbWFjaGluZV92ZXJzaW9uLFxuICAgIGZzbF92ZXJzaW9uLFxuICAgIGdyYXBoX2xheW91dCA9ICdkb3QnXG4gIH0gOiBKc3NtR2VuZXJpY0NvbmZpZzxtTlQsIG1EVD4pIHtcblxuICAgIHRoaXMuX3N0YXRlICAgICAgICAgICAgICAgICAgPSBzdGFydF9zdGF0ZXNbMF07XG4gICAgdGhpcy5fc3RhdGVzICAgICAgICAgICAgICAgICA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLl9lZGdlcyAgICAgICAgICAgICAgICAgID0gW107XG4gICAgdGhpcy5fZWRnZV9tYXAgICAgICAgICAgICAgICA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLl9uYW1lZF90cmFuc2l0aW9ucyAgICAgID0gbmV3IE1hcCgpO1xuICAgIHRoaXMuX2FjdGlvbnMgICAgICAgICAgICAgICAgPSBuZXcgTWFwKCk7XG4gICAgdGhpcy5fcmV2ZXJzZV9hY3Rpb25zICAgICAgICA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLl9yZXZlcnNlX2FjdGlvbl90YXJnZXRzID0gbmV3IE1hcCgpOyAgIC8vIHRvZG9cblxuICAgIHRoaXMuX21hY2hpbmVfYXV0aG9yICAgICAgICAgPSBtYWNoaW5lX2F1dGhvcjtcbiAgICB0aGlzLl9tYWNoaW5lX2NvbW1lbnQgICAgICAgID0gbWFjaGluZV9jb21tZW50O1xuICAgIHRoaXMuX21hY2hpbmVfY29udHJpYnV0b3IgICAgPSBtYWNoaW5lX2NvbnRyaWJ1dG9yO1xuICAgIHRoaXMuX21hY2hpbmVfZGVmaW5pdGlvbiAgICAgPSBtYWNoaW5lX2RlZmluaXRpb247XG4gICAgdGhpcy5fbWFjaGluZV9saWNlbnNlICAgICAgICA9IG1hY2hpbmVfbGljZW5zZTtcbiAgICB0aGlzLl9tYWNoaW5lX25hbWUgICAgICAgICAgID0gbWFjaGluZV9uYW1lO1xuICAgIHRoaXMuX21hY2hpbmVfdmVyc2lvbiAgICAgICAgPSBtYWNoaW5lX3ZlcnNpb247XG4gICAgdGhpcy5fZnNsX3ZlcnNpb24gICAgICAgICAgICA9IGZzbF92ZXJzaW9uO1xuXG4gICAgdGhpcy5fZ3JhcGhfbGF5b3V0ICAgICAgICAgICA9IGdyYXBoX2xheW91dDtcblxuICAgIHRyYW5zaXRpb25zLm1hcCggKHRyOkpzc21UcmFuc2l0aW9uPG1OVCwgbURUPikgPT4ge1xuXG4gICAgICBpZiAodHIuZnJvbSA9PT0gdW5kZWZpbmVkKSB7IHRocm93IG5ldyBFcnJvcihgdHJhbnNpdGlvbiBtdXN0IGRlZmluZSAnZnJvbSc6ICR7SlNPTi5zdHJpbmdpZnkodHIpfWApOyB9XG4gICAgICBpZiAodHIudG8gICA9PT0gdW5kZWZpbmVkKSB7IHRocm93IG5ldyBFcnJvcihgdHJhbnNpdGlvbiBtdXN0IGRlZmluZSAndG8nOiAkeyAgSlNPTi5zdHJpbmdpZnkodHIpfWApOyB9XG5cbiAgICAgIC8vIGdldCB0aGUgY3Vyc29ycy4gIHdoYXQgYSBtZXNzXG4gICAgICBjb25zdCBjdXJzb3JfZnJvbSA6IEpzc21HZW5lcmljU3RhdGU8bU5UPlxuICAgICAgICAgID0gdGhpcy5fc3RhdGVzLmdldCh0ci5mcm9tKVxuICAgICAgICAgfHwgeyBuYW1lOiB0ci5mcm9tLCBmcm9tOiBbXSwgdG86IFtdLCBjb21wbGV0ZTogY29tcGxldGUuaW5jbHVkZXModHIuZnJvbSkgfTtcblxuICAgICAgaWYgKCEodGhpcy5fc3RhdGVzLmhhcyh0ci5mcm9tKSkpIHtcbiAgICAgICAgdGhpcy5fbmV3X3N0YXRlKGN1cnNvcl9mcm9tKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY3Vyc29yX3RvIDogSnNzbUdlbmVyaWNTdGF0ZTxtTlQ+XG4gICAgICAgICAgPSB0aGlzLl9zdGF0ZXMuZ2V0KHRyLnRvKVxuICAgICAgICAgfHwge25hbWU6IHRyLnRvLCBmcm9tOiBbXSwgdG86IFtdLCBjb21wbGV0ZTogY29tcGxldGUuaW5jbHVkZXModHIudG8pIH07XG5cbiAgICAgIGlmICghKHRoaXMuX3N0YXRlcy5oYXModHIudG8pKSkge1xuICAgICAgICB0aGlzLl9uZXdfc3RhdGUoY3Vyc29yX3RvKTtcbiAgICAgIH1cblxuICAgICAgLy8gZ3VhcmQgYWdhaW5zdCBleGlzdGluZyBjb25uZWN0aW9ucyBiZWluZyByZS1hZGRlZFxuICAgICAgaWYgKGN1cnNvcl9mcm9tLnRvLmluY2x1ZGVzKHRyLnRvKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGFscmVhZHkgaGFzICR7SlNPTi5zdHJpbmdpZnkodHIuZnJvbSl9IHRvICR7SlNPTi5zdHJpbmdpZnkodHIudG8pfWApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY3Vyc29yX2Zyb20udG8ucHVzaCh0ci50byk7XG4gICAgICAgIGN1cnNvcl90by5mcm9tLnB1c2godHIuZnJvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIGFkZCB0aGUgZWRnZTsgbm90ZSBpdHMgaWRcbiAgICAgIHRoaXMuX2VkZ2VzLnB1c2godHIpO1xuICAgICAgY29uc3QgdGhpc0VkZ2VJZCA6IG51bWJlciA9IHRoaXMuX2VkZ2VzLmxlbmd0aCAtIDE7XG5cbiAgICAgIC8vIGd1YXJkIGFnYWluc3QgcmVwZWF0aW5nIGEgdHJhbnNpdGlvbiBuYW1lXG4gICAgICBpZiAodHIubmFtZSkge1xuICAgICAgICBpZiAodGhpcy5fbmFtZWRfdHJhbnNpdGlvbnMuaGFzKHRyLm5hbWUpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBuYW1lZCB0cmFuc2l0aW9uIFwiJHtKU09OLnN0cmluZ2lmeSh0ci5uYW1lKX1cIiBhbHJlYWR5IGNyZWF0ZWRgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9uYW1lZF90cmFuc2l0aW9ucy5zZXQodHIubmFtZSwgdGhpc0VkZ2VJZCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gc2V0IHVwIHRoZSBtYXBwaW5nLCBzbyB0aGF0IGVkZ2VzIGNhbiBiZSBsb29rZWQgdXAgYnkgZW5kcG9pbnQgcGFpcnNcbiAgICAgIGNvbnN0IGZyb21fbWFwcGluZyA6IE1hcDxtTlQsIG51bWJlcj4gPSB0aGlzLl9lZGdlX21hcC5nZXQodHIuZnJvbSkgfHwgbmV3IE1hcCgpO1xuICAgICAgaWYgKCEodGhpcy5fZWRnZV9tYXAuaGFzKHRyLmZyb20pKSkge1xuICAgICAgICB0aGlzLl9lZGdlX21hcC5zZXQodHIuZnJvbSwgZnJvbV9tYXBwaW5nKTtcbiAgICAgIH1cblxuLy8gICAgY29uc3QgdG9fbWFwcGluZyA9IGZyb21fbWFwcGluZy5nZXQodHIudG8pO1xuICAgICAgZnJvbV9tYXBwaW5nLnNldCh0ci50bywgdGhpc0VkZ2VJZCk7IC8vIGFscmVhZHkgY2hlY2tlZCB0aGF0IHRoaXMgbWFwcGluZyBkb2Vzbid0IGV4aXN0LCBhYm92ZVxuXG4gICAgICAvLyBzZXQgdXAgdGhlIGFjdGlvbiBtYXBwaW5nLCBzbyB0aGF0IGFjdGlvbnMgY2FuIGJlIGxvb2tlZCB1cCBieSBvcmlnaW5cbiAgICAgIGlmICh0ci5hY3Rpb24pIHtcblxuXG4gICAgICAgIC8vIGZvcndhcmQgbWFwcGluZyBmaXJzdCBieSBhY3Rpb24gbmFtZVxuICAgICAgICBsZXQgYWN0aW9uTWFwIDogP01hcDxtTlQsIG51bWJlcj4gPSB0aGlzLl9hY3Rpb25zLmdldCh0ci5hY3Rpb24pO1xuICAgICAgICBpZiAoIShhY3Rpb25NYXApKSB7XG4gICAgICAgICAgYWN0aW9uTWFwID0gbmV3IE1hcCgpO1xuICAgICAgICAgIHRoaXMuX2FjdGlvbnMuc2V0KHRyLmFjdGlvbiwgYWN0aW9uTWFwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhY3Rpb25NYXAuaGFzKHRyLmZyb20pKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBhY3Rpb24gJHtKU09OLnN0cmluZ2lmeSh0ci5hY3Rpb24pfSBhbHJlYWR5IGF0dGFjaGVkIHRvIG9yaWdpbiAke0pTT04uc3RyaW5naWZ5KHRyLmZyb20pfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjdGlvbk1hcC5zZXQodHIuZnJvbSwgdGhpc0VkZ2VJZCk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIHJldmVyc2UgbWFwcGluZyBmaXJzdCBieSBzdGF0ZSBvcmlnaW4gbmFtZVxuICAgICAgICBsZXQgckFjdGlvbk1hcCA6ID9NYXA8bU5ULCBudW1iZXI+ID0gdGhpcy5fcmV2ZXJzZV9hY3Rpb25zLmdldCh0ci5mcm9tKTtcbiAgICAgICAgaWYgKCEockFjdGlvbk1hcCkpIHtcbiAgICAgICAgICByQWN0aW9uTWFwID0gbmV3IE1hcCgpO1xuICAgICAgICAgIHRoaXMuX3JldmVyc2VfYWN0aW9ucy5zZXQodHIuZnJvbSwgckFjdGlvbk1hcCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBubyBuZWVkIHRvIHRlc3QgZm9yIHJldmVyc2UgbWFwcGluZyBwcmUtcHJlc2VuY2U7XG4gICAgICAgIC8vIGZvcndhcmQgbWFwcGluZyBhbHJlYWR5IGNvdmVycyBjb2xsaXNpb25zXG4gICAgICAgIHJBY3Rpb25NYXAuc2V0KHRyLmFjdGlvbiwgdGhpc0VkZ2VJZCk7XG5cblxuICAgICAgICAvLyByZXZlcnNlIG1hcHBpbmcgZmlyc3QgYnkgc3RhdGUgdGFyZ2V0IG5hbWVcbiAgICAgICAgaWYgKCEodGhpcy5fcmV2ZXJzZV9hY3Rpb25fdGFyZ2V0cy5oYXModHIudG8pKSkge1xuICAgICAgICAgIHRoaXMuX3JldmVyc2VfYWN0aW9uX3RhcmdldHMuc2V0KHRyLnRvLCBuZXcgTWFwKCkpO1xuICAgICAgICB9XG5cbi8qIHRvZG8gY29tZWJhY2tcbiAgIGZ1bmRhbWVudGFsIHByb2JsZW0gaXMgcm9BY3Rpb25NYXAgbmVlZHMgdG8gYmUgYSBtdWx0aW1hcFxuICAgICAgICBjb25zdCByb0FjdGlvbk1hcCA9IHRoaXMuX3JldmVyc2VfYWN0aW9uX3RhcmdldHMuZ2V0KHRyLnRvKTsgIC8vIHdhc3RlZnVsIC0gYWxyZWFkeSBkaWQgaGFzIC0gcmVmYWN0b3JcbiAgICAgICAgaWYgKHJvQWN0aW9uTWFwKSB7XG4gICAgICAgICAgaWYgKHJvQWN0aW9uTWFwLmhhcyh0ci5hY3Rpb24pKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHJvLWFjdGlvbiAke3RyLnRvfSBhbHJlYWR5IGF0dGFjaGVkIHRvIGFjdGlvbiAke3RyLmFjdGlvbn1gKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcm9BY3Rpb25NYXAuc2V0KHRyLmFjdGlvbiwgdGhpc0VkZ2VJZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignc2hvdWxkIGJlIGltcG9zc2libGUgLSBmbG93IGRvZXNuXFwndCBrbm93IC5zZXQgcHJlY2VkZXMgLmdldCB5ZXQgYWdhaW4uICBzZXZlcmUgZXJyb3I/Jyk7XG4gICAgICAgIH1cbiovXG4gICAgICB9XG5cbiAgICB9KTtcblxuICB9XG5cbiAgX25ld19zdGF0ZShzdGF0ZV9jb25maWcgOiBKc3NtR2VuZXJpY1N0YXRlPG1OVD4pIDogbU5UIHsgLy8gd2hhcmdhcmJsIGdldCB0aGF0IHN0YXRlX2NvbmZpZyBhbnkgdW5kZXIgY29udHJvbFxuXG4gICAgaWYgKHRoaXMuX3N0YXRlcy5oYXMoc3RhdGVfY29uZmlnLm5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHN0YXRlICR7SlNPTi5zdHJpbmdpZnkoc3RhdGVfY29uZmlnLm5hbWUpfSBhbHJlYWR5IGV4aXN0c2ApO1xuICAgIH1cblxuICAgIHRoaXMuX3N0YXRlcy5zZXQoc3RhdGVfY29uZmlnLm5hbWUsIHN0YXRlX2NvbmZpZyk7XG4gICAgcmV0dXJuIHN0YXRlX2NvbmZpZy5uYW1lO1xuXG4gIH1cblxuXG5cbiAgc3RhdGUoKSA6IG1OVCB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xuICB9XG5cbi8qIHdoYXJnYXJibCB0b2RvIG1ham9yXG4gICB3aGVuIHdlIHJlaW1wbGVtZW50IHRoaXMsIHJlaW50cm9kdWNlIHRoaXMgY2hhbmdlIHRvIHRoZSBpc19maW5hbCBjYWxsXG5cbiAgaXNfY2hhbmdpbmcoKSA6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlOyAvLyB0b2RvIHdoYXJnYXJibFxuICB9XG4qL1xuXG5cbiAgc3RhdGVfaXNfZmluYWwod2hpY2hTdGF0ZSA6IG1OVCkgOiBib29sZWFuIHtcbiAgICByZXR1cm4gKCAodGhpcy5zdGF0ZV9pc190ZXJtaW5hbCh3aGljaFN0YXRlKSkgJiYgKHRoaXMuc3RhdGVfaXNfY29tcGxldGUod2hpY2hTdGF0ZSkpICk7XG4gIH1cblxuICBpc19maW5hbCgpIDogYm9vbGVhbiB7XG4vLyAgcmV0dXJuICgoIXRoaXMuaXNfY2hhbmdpbmcoKSkgJiYgdGhpcy5zdGF0ZV9pc19maW5hbCh0aGlzLnN0YXRlKCkpKTtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZV9pc19maW5hbCh0aGlzLnN0YXRlKCkpO1xuICB9XG5cbiAgZ3JhcGhfbGF5b3V0KCkgOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9ncmFwaF9sYXlvdXQ7XG4gIH1cblxuXG5cbiAgbWFjaGluZV9hdXRob3IoKSA6ID9BcnJheTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fbWFjaGluZV9hdXRob3I7XG4gIH1cblxuICBtYWNoaW5lX2NvbW1lbnQoKSA6ID9zdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9tYWNoaW5lX2NvbW1lbnQ7XG4gIH1cblxuICBtYWNoaW5lX2NvbnRyaWJ1dG9yKCkgOiA/QXJyYXk8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX21hY2hpbmVfY29udHJpYnV0b3I7XG4gIH1cblxuICBtYWNoaW5lX2RlZmluaXRpb24oKSA6ID9zdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9tYWNoaW5lX2RlZmluaXRpb247XG4gIH1cblxuICBtYWNoaW5lX2xpY2Vuc2UoKSA6ID9zdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9tYWNoaW5lX2xpY2Vuc2U7XG4gIH1cblxuICBtYWNoaW5lX25hbWUoKSA6ID9zdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9tYWNoaW5lX25hbWU7XG4gIH1cblxuICBtYWNoaW5lX3ZlcnNpb24oKSA6ID9zdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9tYWNoaW5lX3ZlcnNpb247XG4gIH1cblxuICBmc2xfdmVyc2lvbigpIDogP3N0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZzbF92ZXJzaW9uO1xuICB9XG5cblxuXG4gIG1hY2hpbmVfc3RhdGUoKSA6IEpzc21NYWNoaW5lSW50ZXJuYWxTdGF0ZTxtTlQsIG1EVD4ge1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGludGVybmFsX3N0YXRlX2ltcGxfdmVyc2lvbiA6IDEsXG5cbiAgICAgIGFjdGlvbnMgICAgICAgICAgICAgICAgOiB0aGlzLl9hY3Rpb25zLFxuICAgICAgZWRnZV9tYXAgICAgICAgICAgICAgICA6IHRoaXMuX2VkZ2VfbWFwLFxuICAgICAgZWRnZXMgICAgICAgICAgICAgICAgICA6IHRoaXMuX2VkZ2VzLFxuICAgICAgbmFtZWRfdHJhbnNpdGlvbnMgICAgICA6IHRoaXMuX25hbWVkX3RyYW5zaXRpb25zLFxuICAgICAgcmV2ZXJzZV9hY3Rpb25zICAgICAgICA6IHRoaXMuX3JldmVyc2VfYWN0aW9ucyxcbi8vICAgIHJldmVyc2VfYWN0aW9uX3RhcmdldHMgOiB0aGlzLl9yZXZlcnNlX2FjdGlvbl90YXJnZXRzLFxuICAgICAgc3RhdGUgICAgICAgICAgICAgICAgICA6IHRoaXMuX3N0YXRlLFxuICAgICAgc3RhdGVzICAgICAgICAgICAgICAgICA6IHRoaXMuX3N0YXRlc1xuICAgIH07XG5cbiAgfVxuXG4vKlxuICBsb2FkX21hY2hpbmVfc3RhdGUoKSA6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTsgLy8gdG9kbyB3aGFyZ2FyYmxcbiAgfVxuKi9cblxuXG4gIHN0YXRlcygpIDogQXJyYXk8bU5UPiB7XG4gICAgcmV0dXJuIFsuLi4gdGhpcy5fc3RhdGVzLmtleXMoKV07XG4gIH1cblxuICBzdGF0ZV9mb3Iod2hpY2hTdGF0ZSA6IG1OVCkgOiBKc3NtR2VuZXJpY1N0YXRlPG1OVD4ge1xuICAgIGNvbnN0IHN0YXRlIDogP0pzc21HZW5lcmljU3RhdGU8bU5UPiA9IHRoaXMuX3N0YXRlcy5nZXQod2hpY2hTdGF0ZSk7XG4gICAgaWYgKHN0YXRlKSB7IHJldHVybiBzdGF0ZTsgfVxuICAgIGVsc2UgICAgICAgeyB0aHJvdyBuZXcgRXJyb3IoYG5vIHN1Y2ggc3RhdGUgJHtKU09OLnN0cmluZ2lmeShzdGF0ZSl9YCk7IH1cbiAgfVxuXG5cblxuICBsaXN0X2VkZ2VzKCkgOiBBcnJheTwgSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID4ge1xuICAgIHJldHVybiB0aGlzLl9lZGdlcztcbiAgfVxuXG4gIGxpc3RfbmFtZWRfdHJhbnNpdGlvbnMoKSA6IE1hcDxtTlQsIG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLl9uYW1lZF90cmFuc2l0aW9ucztcbiAgfVxuXG4gIGxpc3RfYWN0aW9ucygpIDogQXJyYXk8bU5UPiB7XG4gICAgcmV0dXJuIFsuLi4gdGhpcy5fYWN0aW9ucy5rZXlzKCldO1xuICB9XG5cblxuXG4gIGdldF90cmFuc2l0aW9uX2J5X3N0YXRlX25hbWVzKGZyb206IG1OVCwgdG86IG1OVCkgOiA/bnVtYmVyIHtcblxuICAgIGNvbnN0IGVtZyA6ID9NYXA8bU5ULCBudW1iZXI+ID0gdGhpcy5fZWRnZV9tYXAuZ2V0KGZyb20pO1xuXG4gICAgaWYgKGVtZykge1xuICAgICAgcmV0dXJuIGVtZy5nZXQodG8pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICB9XG5cblxuXG4gIGxvb2t1cF90cmFuc2l0aW9uX2Zvcihmcm9tOiBtTlQsIHRvOiBtTlQpIDogP0pzc21UcmFuc2l0aW9uPG1OVCwgbURUPiB7XG4gICAgY29uc3QgaWQgOiA/bnVtYmVyID0gdGhpcy5nZXRfdHJhbnNpdGlvbl9ieV9zdGF0ZV9uYW1lcyhmcm9tLCB0byk7XG4gICAgcmV0dXJuICgoaWQgPT09IHVuZGVmaW5lZCkgfHwgKGlkID09PSBudWxsKSk/IHVuZGVmaW5lZCA6IHRoaXMuX2VkZ2VzW2lkXTtcbiAgfVxuXG5cblxuICBsaXN0X3RyYW5zaXRpb25zKHdoaWNoU3RhdGUgOiBtTlQgPSB0aGlzLnN0YXRlKCkpIDogSnNzbVRyYW5zaXRpb25MaXN0PG1OVD4ge1xuICAgIHJldHVybiB7ZW50cmFuY2VzOiB0aGlzLmxpc3RfZW50cmFuY2VzKHdoaWNoU3RhdGUpLCBleGl0czogdGhpcy5saXN0X2V4aXRzKHdoaWNoU3RhdGUpfTtcbiAgfVxuXG4gIGxpc3RfZW50cmFuY2VzKHdoaWNoU3RhdGUgOiBtTlQgPSB0aGlzLnN0YXRlKCkpIDogQXJyYXk8bU5UPiB7XG4gICAgcmV0dXJuICh0aGlzLl9zdGF0ZXMuZ2V0KHdoaWNoU3RhdGUpIHx8IHt9KS5mcm9tIHx8IFtdO1xuICB9XG5cbiAgbGlzdF9leGl0cyh3aGljaFN0YXRlIDogbU5UID0gdGhpcy5zdGF0ZSgpKSA6IEFycmF5PG1OVD4ge1xuICAgIHJldHVybiAodGhpcy5fc3RhdGVzLmdldCh3aGljaFN0YXRlKSB8fCB7fSkudG8gICB8fCBbXTtcbiAgfVxuXG5cblxuICBwcm9iYWJsZV9leGl0c19mb3Iod2hpY2hTdGF0ZSA6IG1OVCkgOiBBcnJheTwgSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID4ge1xuXG4gICAgY29uc3Qgd3N0YXRlIDogP0pzc21HZW5lcmljU3RhdGU8bU5UPiA9IHRoaXMuX3N0YXRlcy5nZXQod2hpY2hTdGF0ZSk7XG4gICAgaWYgKCEod3N0YXRlKSkgeyB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggc3RhdGUgJHtKU09OLnN0cmluZ2lmeSh3aGljaFN0YXRlKX0gaW4gcHJvYmFibGVfZXhpdHNfZm9yYCk7IH1cblxuICAgIGNvbnN0IHdzdGF0ZV90byA6IEFycmF5PCBtTlQgPiA9IHdzdGF0ZS50byxcblxuICAgICAgICAgIHd0ZiAgICAgICA6IEFycmF5PCBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPiAvLyB3c3RhdGVfdG9fZmlsdGVyZWQgLT4gd3RmXG4gICAgICAgICAgICAgICAgICAgID0gd3N0YXRlX3RvXG4gICAgICAgICAgICAgICAgICAgICAgICAubWFwKCAod3MpIDogP0pzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA9PiB0aGlzLmxvb2t1cF90cmFuc2l0aW9uX2Zvcih0aGlzLnN0YXRlKCksIHdzKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICByZXR1cm4gd3RmO1xuXG4gIH1cblxuICBwcm9iYWJpbGlzdGljX3RyYW5zaXRpb24oKSA6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNlbGVjdGVkIDogSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID0gd2VpZ2h0ZWRfcmFuZF9zZWxlY3QodGhpcy5wcm9iYWJsZV9leGl0c19mb3IodGhpcy5zdGF0ZSgpKSk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNpdGlvbiggc2VsZWN0ZWQudG8gKTtcbiAgfVxuXG4gIHByb2JhYmlsaXN0aWNfd2FsayhuIDogbnVtYmVyKSA6IEFycmF5PG1OVD4ge1xuICAgIHJldHVybiBzZXEobilcbiAgICAgICAgICAubWFwKCgpIDogbU5UID0+IHtcbiAgICAgICAgICAgICBjb25zdCBzdGF0ZV93YXMgOiBtTlQgPSB0aGlzLnN0YXRlKCk7XG4gICAgICAgICAgICAgdGhpcy5wcm9iYWJpbGlzdGljX3RyYW5zaXRpb24oKTtcbiAgICAgICAgICAgICByZXR1cm4gc3RhdGVfd2FzO1xuICAgICAgICAgICB9KVxuICAgICAgICAgIC5jb25jYXQoW3RoaXMuc3RhdGUoKV0pO1xuICB9XG5cbiAgcHJvYmFiaWxpc3RpY19oaXN0b193YWxrKG4gOiBudW1iZXIpIDogTWFwPG1OVCwgbnVtYmVyPiB7XG4gICAgcmV0dXJuIGhpc3RvZ3JhcGgodGhpcy5wcm9iYWJpbGlzdGljX3dhbGsobikpO1xuICB9XG5cblxuXG4gIGFjdGlvbnMod2hpY2hTdGF0ZSA6IG1OVCA9IHRoaXMuc3RhdGUoKSApIDogQXJyYXk8bU5UPiB7XG4gICAgY29uc3Qgd3N0YXRlIDogP01hcDxtTlQsIG51bWJlcj4gPSB0aGlzLl9yZXZlcnNlX2FjdGlvbnMuZ2V0KHdoaWNoU3RhdGUpO1xuICAgIGlmICh3c3RhdGUpIHsgcmV0dXJuIFsuLi4gd3N0YXRlLmtleXMoKV07IH1cbiAgICBlbHNlICAgICAgICB7IHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBzdGF0ZSAke0pTT04uc3RyaW5naWZ5KHdoaWNoU3RhdGUpfWApOyB9XG4gIH1cblxuICBsaXN0X3N0YXRlc19oYXZpbmdfYWN0aW9uKHdoaWNoU3RhdGUgOiBtTlQpIDogQXJyYXk8bU5UPiB7XG4gICAgY29uc3Qgd3N0YXRlIDogP01hcDxtTlQsIG51bWJlcj4gPSB0aGlzLl9hY3Rpb25zLmdldCh3aGljaFN0YXRlKTtcbiAgICBpZiAod3N0YXRlKSB7IHJldHVybiBbLi4uIHdzdGF0ZS5rZXlzKCldOyB9XG4gICAgZWxzZSAgICAgICAgeyB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggc3RhdGUgJHtKU09OLnN0cmluZ2lmeSh3aGljaFN0YXRlKX1gKTsgfVxuICB9XG5cbi8vIGNvbWViYWNrXG4vKlxuICBsaXN0X2VudHJhbmNlX2FjdGlvbnMod2hpY2hTdGF0ZSA6IG1OVCA9IHRoaXMuc3RhdGUoKSApIDogQXJyYXk8bU5UPiB7XG4gICAgcmV0dXJuIFsuLi4gKHRoaXMuX3JldmVyc2VfYWN0aW9uX3RhcmdldHMuZ2V0KHdoaWNoU3RhdGUpIHx8IG5ldyBNYXAoKSkudmFsdWVzKCldIC8vIHdhc3RlZnVsXG4gICAgICAgICAgIC5tYXAoIChlZGdlSWQ6YW55KSA9PiAodGhpcy5fZWRnZXNbZWRnZUlkXSA6IGFueSkpIC8vIHdoYXJnYXJibCBidXJuIG91dCBhbnlcbiAgICAgICAgICAgLmZpbHRlciggKG86YW55KSA9PiBvLnRvID09PSB3aGljaFN0YXRlKVxuICAgICAgICAgICAubWFwKCBmaWx0ZXJlZCA9PiBmaWx0ZXJlZC5mcm9tICk7XG4gIH1cbiovXG4gIGxpc3RfZXhpdF9hY3Rpb25zKHdoaWNoU3RhdGUgOiBtTlQgPSB0aGlzLnN0YXRlKCkgKSA6IEFycmF5PD9tTlQ+IHsgLy8gdGhlc2UgYXJlIG1OVCwgbm90ID9tTlRcbiAgICBjb25zdCByYV9iYXNlIDogP01hcDxtTlQsIG51bWJlcj4gPSB0aGlzLl9yZXZlcnNlX2FjdGlvbnMuZ2V0KHdoaWNoU3RhdGUpO1xuICAgIGlmICghKHJhX2Jhc2UpKSB7IHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBzdGF0ZSAke0pTT04uc3RyaW5naWZ5KHdoaWNoU3RhdGUpfWApOyB9XG5cbiAgICByZXR1cm4gWy4uLiByYV9iYXNlLnZhbHVlcygpXVxuICAgICAgICAgICAubWFwICAgICggKGVkZ2VJZDpudW1iZXIpICAgICAgICAgICAgICA6IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA9PiB0aGlzLl9lZGdlc1tlZGdlSWRdICAgKVxuICAgICAgICAgICAuZmlsdGVyICggKG86SnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+KSA6IGJvb2xlYW4gICAgICAgICAgICAgICAgICA9PiBvLmZyb20gPT09IHdoaWNoU3RhdGUgKVxuICAgICAgICAgICAubWFwICAgICggKGZpbHRlcmVkIDogSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+KSA6ID9tTlQgICAgICAgICAgICA9PiBmaWx0ZXJlZC5hY3Rpb24gICAgICAgKTtcbiAgfVxuXG4gIHByb2JhYmxlX2FjdGlvbl9leGl0cyh3aGljaFN0YXRlIDogbU5UID0gdGhpcy5zdGF0ZSgpICkgOiBBcnJheTxtaXhlZD4geyAvLyB0aGVzZSBhcmUgbU5UXG4gICAgY29uc3QgcmFfYmFzZSA6ID9NYXA8bU5ULCBudW1iZXI+ID0gdGhpcy5fcmV2ZXJzZV9hY3Rpb25zLmdldCh3aGljaFN0YXRlKTtcbiAgICBpZiAoIShyYV9iYXNlKSkgeyB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggc3RhdGUgJHtKU09OLnN0cmluZ2lmeSh3aGljaFN0YXRlKX1gKTsgfVxuXG4gICAgcmV0dXJuIFsuLi4gcmFfYmFzZS52YWx1ZXMoKV1cbiAgICAgICAgICAgLm1hcCAgICAoIChlZGdlSWQ6bnVtYmVyKSA6IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA9PiB0aGlzLl9lZGdlc1tlZGdlSWRdICAgKVxuICAgICAgICAgICAuZmlsdGVyICggKG86SnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+KSA6IGJvb2xlYW4gICAgID0+IG8uZnJvbSA9PT0gd2hpY2hTdGF0ZSApXG4gICAgICAgICAgIC5tYXAgICAgKCAoZmlsdGVyZWQpIDogbWl4ZWQgICAgICAgICAgICAgICAgICAgICAgICAgPT4gKCB7IGFjdGlvbiAgICAgIDogZmlsdGVyZWQuYWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9iYWJpbGl0eSA6IGZpbHRlcmVkLnByb2JhYmlsaXR5IH0gKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gIH1cblxuXG5cbiAgaXNfdW5lbnRlcmFibGUod2hpY2hTdGF0ZSA6IG1OVCkgOiBib29sZWFuIHtcbiAgICAvLyB3aGFyZ2FyYmwgc2hvdWxkIHRocm93IG9uIHVua25vd24gc3RhdGVcbiAgICByZXR1cm4gdGhpcy5saXN0X2VudHJhbmNlcyh3aGljaFN0YXRlKS5sZW5ndGggPT09IDA7XG4gIH1cblxuICBoYXNfdW5lbnRlcmFibGVzKCkgOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZXMoKS5zb21lKCAoeCkgOiBib29sZWFuID0+IHRoaXMuaXNfdW5lbnRlcmFibGUoeCkpO1xuICB9XG5cblxuXG4gIGlzX3Rlcm1pbmFsKCkgOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZV9pc190ZXJtaW5hbCh0aGlzLnN0YXRlKCkpO1xuICB9XG5cbiAgc3RhdGVfaXNfdGVybWluYWwod2hpY2hTdGF0ZSA6IG1OVCkgOiBib29sZWFuIHtcbiAgICAvLyB3aGFyZ2FyYmwgc2hvdWxkIHRocm93IG9uIHVua25vd24gc3RhdGVcbiAgICByZXR1cm4gdGhpcy5saXN0X2V4aXRzKHdoaWNoU3RhdGUpLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIGhhc190ZXJtaW5hbHMoKSA6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlcygpLnNvbWUoICh4KSA6IGJvb2xlYW4gPT4gdGhpcy5zdGF0ZV9pc190ZXJtaW5hbCh4KSk7XG4gIH1cblxuXG5cbiAgaXNfY29tcGxldGUoKSA6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlX2lzX2NvbXBsZXRlKHRoaXMuc3RhdGUoKSk7XG4gIH1cblxuICBzdGF0ZV9pc19jb21wbGV0ZSh3aGljaFN0YXRlIDogbU5UKSA6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHdzdGF0ZSA6ID9Kc3NtR2VuZXJpY1N0YXRlPG1OVD4gPSB0aGlzLl9zdGF0ZXMuZ2V0KHdoaWNoU3RhdGUpO1xuICAgIGlmICh3c3RhdGUpIHsgcmV0dXJuIHdzdGF0ZS5jb21wbGV0ZTsgfVxuICAgIGVsc2UgICAgICAgIHsgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIHN0YXRlICR7SlNPTi5zdHJpbmdpZnkod2hpY2hTdGF0ZSl9YCk7IH1cbiAgfVxuXG4gIGhhc19jb21wbGV0ZXMoKSA6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlcygpLnNvbWUoICh4KSA6IGJvb2xlYW4gPT4gdGhpcy5zdGF0ZV9pc19jb21wbGV0ZSh4KSApO1xuICB9XG5cblxuXG4gIGFjdGlvbihuYW1lIDogbU5ULCBuZXdEYXRhPyA6IG1EVCkgOiBib29sZWFuIHtcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgaG9va3NcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgZGF0YSBzdHVmZlxuICAgIC8vIHRvZG8gbWFqb3IgaW5jb21wbGV0ZSB3aGFyZ2FyYmwgY29tZWJhY2tcbiAgICBpZiAodGhpcy52YWxpZF9hY3Rpb24obmFtZSwgbmV3RGF0YSkpIHtcbiAgICAgIGNvbnN0IGVkZ2UgOiBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPSB0aGlzLmN1cnJlbnRfYWN0aW9uX2VkZ2VfZm9yKG5hbWUpO1xuICAgICAgdGhpcy5fc3RhdGUgPSBlZGdlLnRvO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICB0cmFuc2l0aW9uKG5ld1N0YXRlIDogbU5ULCBuZXdEYXRhPyA6IG1EVCkgOiBib29sZWFuIHtcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgaG9va3NcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgZGF0YSBzdHVmZlxuICAgIC8vIHRvZG8gbWFqb3IgaW5jb21wbGV0ZSB3aGFyZ2FyYmwgY29tZWJhY2tcbiAgICBpZiAodGhpcy52YWxpZF90cmFuc2l0aW9uKG5ld1N0YXRlLCBuZXdEYXRhKSkge1xuICAgICAgdGhpcy5fc3RhdGUgPSBuZXdTdGF0ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLy8gY2FuIGxlYXZlIG1hY2hpbmUgaW4gaW5jb25zaXN0ZW50IHN0YXRlLiAgZ2VuZXJhbGx5IGRvIG5vdCB1c2VcbiAgZm9yY2VfdHJhbnNpdGlvbihuZXdTdGF0ZSA6IG1OVCwgbmV3RGF0YT8gOiBtRFQpIDogYm9vbGVhbiB7XG4gICAgLy8gdG9kbyB3aGFyZ2FyYmwgaW1wbGVtZW50IGhvb2tzXG4gICAgLy8gdG9kbyB3aGFyZ2FyYmwgaW1wbGVtZW50IGRhdGEgc3R1ZmZcbiAgICAvLyB0b2RvIG1ham9yIGluY29tcGxldGUgd2hhcmdhcmJsIGNvbWViYWNrXG4gICAgaWYgKHRoaXMudmFsaWRfZm9yY2VfdHJhbnNpdGlvbihuZXdTdGF0ZSwgbmV3RGF0YSkpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gbmV3U3RhdGU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG5cblxuICBjdXJyZW50X2FjdGlvbl9mb3IoYWN0aW9uIDogbU5UKSA6IG51bWJlciB8IHZvaWQge1xuICAgIGNvbnN0IGFjdGlvbl9iYXNlIDogP01hcDxtTlQsIG51bWJlcj4gPSB0aGlzLl9hY3Rpb25zLmdldChhY3Rpb24pO1xuICAgIHJldHVybiBhY3Rpb25fYmFzZT8gYWN0aW9uX2Jhc2UuZ2V0KHRoaXMuc3RhdGUoKSkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBjdXJyZW50X2FjdGlvbl9lZGdlX2ZvcihhY3Rpb24gOiBtTlQpIDogSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+IHtcbiAgICBjb25zdCBpZHggOiA/bnVtYmVyID0gdGhpcy5jdXJyZW50X2FjdGlvbl9mb3IoYWN0aW9uKTtcbiAgICBpZiAoKGlkeCA9PT0gdW5kZWZpbmVkKSB8fCAoaWR4ID09PSBudWxsKSkgeyB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggYWN0aW9uICR7SlNPTi5zdHJpbmdpZnkoYWN0aW9uKX1gKTsgfVxuICAgIHJldHVybiB0aGlzLl9lZGdlc1tpZHhdO1xuICB9XG5cbiAgdmFsaWRfYWN0aW9uKGFjdGlvbiA6IG1OVCwgX25ld0RhdGE/IDogbURUKSA6IGJvb2xlYW4geyAgLy8gdG9kbyBjb21lYmFjayB1bmlnbm9yZSBuZXdEYXRhXG4gICAgLy8gdG9kbyB3aGFyZ2FyYmwgaW1wbGVtZW50IGhvb2tzXG4gICAgLy8gdG9kbyB3aGFyZ2FyYmwgaW1wbGVtZW50IGRhdGEgc3R1ZmZcbiAgICAvLyB0b2RvIG1ham9yIGluY29tcGxldGUgd2hhcmdhcmJsIGNvbWViYWNrXG4gICAgcmV0dXJuIHRoaXMuY3VycmVudF9hY3Rpb25fZm9yKGFjdGlvbikgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHZhbGlkX3RyYW5zaXRpb24obmV3U3RhdGUgOiBtTlQsIF9uZXdEYXRhPyA6IG1EVCkgOiBib29sZWFuIHsgIC8vIHRvZG8gY29tZWJhY2sgdW5pZ25vcmUgbmV3RGF0YVxuICAgIC8vIHRvZG8gd2hhcmdhcmJsIGltcGxlbWVudCBob29rc1xuICAgIC8vIHRvZG8gd2hhcmdhcmJsIGltcGxlbWVudCBkYXRhIHN0dWZmXG4gICAgLy8gdG9kbyBtYWpvciBpbmNvbXBsZXRlIHdoYXJnYXJibCBjb21lYmFja1xuICAgIGNvbnN0IHRyYW5zaXRpb25fZm9yIDogP0pzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA9IHRoaXMubG9va3VwX3RyYW5zaXRpb25fZm9yKHRoaXMuc3RhdGUoKSwgbmV3U3RhdGUpO1xuXG4gICAgaWYgKCEodHJhbnNpdGlvbl9mb3IpKSAgICAgICAgICB7IHJldHVybiBmYWxzZTsgfVxuICAgIGlmICh0cmFuc2l0aW9uX2Zvci5mb3JjZWRfb25seSkgeyByZXR1cm4gZmFsc2U7IH1cblxuICAgIHJldHVybiB0cnVlO1xuXG4gIH1cblxuICB2YWxpZF9mb3JjZV90cmFuc2l0aW9uKG5ld1N0YXRlIDogbU5ULCBfbmV3RGF0YT8gOiBtRFQpIDogYm9vbGVhbiB7ICAvLyB0b2RvIGNvbWViYWNrIHVuaWdub3JlIG5ld0RhdGFcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgaG9va3NcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgZGF0YSBzdHVmZlxuICAgIC8vIHRvZG8gbWFqb3IgaW5jb21wbGV0ZSB3aGFyZ2FyYmwgY29tZWJhY2tcbiAgICByZXR1cm4gKHRoaXMubG9va3VwX3RyYW5zaXRpb25fZm9yKHRoaXMuc3RhdGUoKSwgbmV3U3RhdGUpICE9PSB1bmRlZmluZWQpO1xuICB9XG5cblxufVxuXG5cblxuXG5cbmZ1bmN0aW9uIHNtPG1OVCwgbURUPih0ZW1wbGF0ZV9zdHJpbmdzIDogQXJyYXk8c3RyaW5nPiAvKiAsIGFyZ3VtZW50cyAqLykgOiBNYWNoaW5lPG1OVCwgbURUPiB7XG5cbiAgICAvLyBmb29gYSR7MX1iJHsyfWNgIHdpbGwgY29tZSBpbiBhcyAoWydhJywnYicsJ2MnXSwxLDIpXG4gICAgLy8gdGhpcyBpbmNsdWRlcyB3aGVuIGEgYW5kIGMgYXJlIGVtcHR5IHN0cmluZ3NcbiAgICAvLyB0aGVyZWZvcmUgdGVtcGxhdGVfc3RyaW5ncyB3aWxsIGFsd2F5cyBoYXZlIG9uZSBtb3JlIGVsIHRoYW4gdGVtcGxhdGVfYXJnc1xuICAgIC8vIHRoZXJlZm9yZSBtYXAgdGhlIHNtYWxsZXIgY29udGFpbmVyIGFuZCB0b3NzIHRoZSBsYXN0IG9uZSBvbiBvbiB0aGUgd2F5IG91dFxuXG4gICAgcmV0dXJuIG5ldyBNYWNoaW5lKG1ha2UodGVtcGxhdGVfc3RyaW5ncy5yZWR1Y2UoXG5cbiAgICAgIC8vIGluIGdlbmVyYWwgYXZvaWRpbmcgYGFyZ3VtZW50c2AgaXMgc21hcnQuICBob3dldmVyIHdpdGggdGhlIHRlbXBsYXRlXG4gICAgICAvLyBzdHJpbmcgbm90YXRpb24sIGFzIGRlc2lnbmVkLCBpdCdzIG5vdCByZWFsbHkgd29ydGggdGhlIGhhc3NsZVxuXG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSBmcC9uby1hcmd1bWVudHMgKi9cbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHByZWZlci1yZXN0LXBhcmFtcyAqL1xuICAgICAgKGFjYywgdmFsLCBpZHgpIDogc3RyaW5nID0+IGAke2FjY30ke2FyZ3VtZW50c1tpZHhdfSR7dmFsfWAgIC8vIGFyZ3VtZW50c1swXSBpcyBuZXZlciBsb2FkZWQsIHNvIGFyZ3MgZG9lc24ndCBuZWVkIHRvIGJlIGdhdGVkXG4gICAgICAvKiBlc2xpbnQtZW5hYmxlICBwcmVmZXItcmVzdC1wYXJhbXMgKi9cbiAgICAgIC8qIGVzbGludC1lbmFibGUgIGZwL25vLWFyZ3VtZW50cyAqL1xuXG4gICAgKSkpO1xuXG59XG5cblxuXG5cblxuZXhwb3J0IHtcblxuICB2ZXJzaW9uLFxuXG4gIE1hY2hpbmUsXG5cbiAgbWFrZSxcbiAgICBwYXJzZSxcbiAgICBjb21waWxlLFxuXG4gIHNtLFxuXG4gIGFycm93X2RpcmVjdGlvbixcbiAgYXJyb3dfbGVmdF9raW5kLFxuICBhcnJvd19yaWdodF9raW5kLFxuXG4gIC8vIHRvZG8gd2hhcmdhcmJsIHRoZXNlIHNob3VsZCBiZSBleHBvcnRlZCB0byBhIHV0aWxpdHkgbGlicmFyeVxuICBzZXEsIHdlaWdodGVkX3JhbmRfc2VsZWN0LCBoaXN0b2dyYXBoLCB3ZWlnaHRlZF9zYW1wbGVfc2VsZWN0LCB3ZWlnaHRlZF9oaXN0b19rZXlcblxufTtcbiJdfQ== \ No newline at end of file diff --git a/build/tests/machine_attributes.js b/build/tests/machine_attributes.js index 9ece7091..5947fb8c 100644 --- a/build/tests/machine_attributes.js +++ b/build/tests/machine_attributes.js @@ -2,57 +2,67 @@ var _templateObject = _taggedTemplateLiteral(['machine_name: bob; a->b;'], ['machine_name: bob; a->b;']), _templateObject2 = _taggedTemplateLiteral(['machine_name: "bo b"; a->b;'], ['machine_name: "bo b"; a->b;']), - _templateObject3 = _taggedTemplateLiteral(['machine_author: bob; a->b;'], ['machine_author: bob; a->b;']), - _templateObject4 = _taggedTemplateLiteral(['machine_author: "bo b"; a->b;'], ['machine_author: "bo b"; a->b;']), - _templateObject5 = _taggedTemplateLiteral(['machine_author: [bob dobbs]; a->b;'], ['machine_author: [bob dobbs]; a->b;']), - _templateObject6 = _taggedTemplateLiteral(['machine_author: ["bo b" "do bbs"]; a->b;'], ['machine_author: ["bo b" "do bbs"]; a->b;']), - _templateObject7 = _taggedTemplateLiteral(['machine_author: [bob "do bbs"]; a->b;'], ['machine_author: [bob "do bbs"]; a->b;']), - _templateObject8 = _taggedTemplateLiteral(['machine_author: ["bo b" dobbs]; a->b;'], ['machine_author: ["bo b" dobbs]; a->b;']), - _templateObject9 = _taggedTemplateLiteral(['machine_contributor: bob; a->b;'], ['machine_contributor: bob; a->b;']), - _templateObject10 = _taggedTemplateLiteral(['machine_contributor: "bo b"; a->b;'], ['machine_contributor: "bo b"; a->b;']), - _templateObject11 = _taggedTemplateLiteral(['machine_contributor: [bob dobbs]; a->b;'], ['machine_contributor: [bob dobbs]; a->b;']), - _templateObject12 = _taggedTemplateLiteral(['machine_contributor: ["bo b" "do bbs"]; a->b;'], ['machine_contributor: ["bo b" "do bbs"]; a->b;']), - _templateObject13 = _taggedTemplateLiteral(['machine_contributor: [bob "do bbs"]; a->b;'], ['machine_contributor: [bob "do bbs"]; a->b;']), - _templateObject14 = _taggedTemplateLiteral(['machine_contributor: ["bo b" dobbs]; a->b;'], ['machine_contributor: ["bo b" dobbs]; a->b;']), - _templateObject15 = _taggedTemplateLiteral(['machine_comment: bob; a->b;'], ['machine_comment: bob; a->b;']), - _templateObject16 = _taggedTemplateLiteral(['machine_comment: "bo b"; a->b;'], ['machine_comment: "bo b"; a->b;']), - _templateObject17 = _taggedTemplateLiteral(['machine_definition: http://google.com/ ; a->b;'], ['machine_definition: http://google.com/ ; a->b;']), - _templateObject18 = _taggedTemplateLiteral(['machine_version: 0.0.0; a->b;'], ['machine_version: 0.0.0; a->b;']), - _templateObject19 = _taggedTemplateLiteral(['machine_version: 0.0.1; a->b;'], ['machine_version: 0.0.1; a->b;']), - _templateObject20 = _taggedTemplateLiteral(['machine_version: 0.1.0; a->b;'], ['machine_version: 0.1.0; a->b;']), - _templateObject21 = _taggedTemplateLiteral(['machine_version: 1.0.0; a->b;'], ['machine_version: 1.0.0; a->b;']), - _templateObject22 = _taggedTemplateLiteral(['machine_version: 1.0.1; a->b;'], ['machine_version: 1.0.1; a->b;']), - _templateObject23 = _taggedTemplateLiteral(['machine_version: 1.1.1; a->b;'], ['machine_version: 1.1.1; a->b;']), - _templateObject24 = _taggedTemplateLiteral(['machine_version: 2.0.0; a->b;'], ['machine_version: 2.0.0; a->b;']), - _templateObject25 = _taggedTemplateLiteral(['machine_license:Public domain; a->b;'], ['machine_license:Public domain; a->b;']), - _templateObject26 = _taggedTemplateLiteral(['machine_license:MIT; a->b;'], ['machine_license:MIT; a->b;']), - _templateObject27 = _taggedTemplateLiteral(['machine_license:BSD 2-clause; a->b;'], ['machine_license:BSD 2-clause; a->b;']), - _templateObject28 = _taggedTemplateLiteral(['machine_license:BSD 3-clause; a->b;'], ['machine_license:BSD 3-clause; a->b;']), - _templateObject29 = _taggedTemplateLiteral(['machine_license:Apache 2.0; a->b;'], ['machine_license:Apache 2.0; a->b;']), - _templateObject30 = _taggedTemplateLiteral(['machine_license:Mozilla 2.0; a->b;'], ['machine_license:Mozilla 2.0; a->b;']), - _templateObject31 = _taggedTemplateLiteral(['machine_license:GPL v2; a->b;'], ['machine_license:GPL v2; a->b;']), - _templateObject32 = _taggedTemplateLiteral(['machine_license:GPL v3; a->b;'], ['machine_license:GPL v3; a->b;']), - _templateObject33 = _taggedTemplateLiteral(['machine_license:LGPL v2.1; a->b;'], ['machine_license:LGPL v2.1; a->b;']), - _templateObject34 = _taggedTemplateLiteral(['machine_license:LGPL v3.0; a->b;'], ['machine_license:LGPL v3.0; a->b;']), - _templateObject35 = _taggedTemplateLiteral(['machine_license: Public domain ; a->b;'], ['machine_license: Public domain ; a->b;']), - _templateObject36 = _taggedTemplateLiteral(['machine_license: MIT ; a->b;'], ['machine_license: MIT ; a->b;']), - _templateObject37 = _taggedTemplateLiteral(['machine_license: BSD 2-clause ; a->b;'], ['machine_license: BSD 2-clause ; a->b;']), - _templateObject38 = _taggedTemplateLiteral(['machine_license: BSD 3-clause ; a->b;'], ['machine_license: BSD 3-clause ; a->b;']), - _templateObject39 = _taggedTemplateLiteral(['machine_license: Apache 2.0 ; a->b;'], ['machine_license: Apache 2.0 ; a->b;']), - _templateObject40 = _taggedTemplateLiteral(['machine_license: Mozilla 2.0 ; a->b;'], ['machine_license: Mozilla 2.0 ; a->b;']), - _templateObject41 = _taggedTemplateLiteral(['machine_license: GPL v2 ; a->b;'], ['machine_license: GPL v2 ; a->b;']), - _templateObject42 = _taggedTemplateLiteral(['machine_license: GPL v3 ; a->b;'], ['machine_license: GPL v3 ; a->b;']), - _templateObject43 = _taggedTemplateLiteral(['machine_license: LGPL v2.1 ; a->b;'], ['machine_license: LGPL v2.1 ; a->b;']), - _templateObject44 = _taggedTemplateLiteral(['machine_license: LGPL v3.0 ; a->b;'], ['machine_license: LGPL v3.0 ; a->b;']), - _templateObject45 = _taggedTemplateLiteral(['machine_license: bob; a->b;'], ['machine_license: bob; a->b;']), - _templateObject46 = _taggedTemplateLiteral(['machine_license: "bo b"; a->b;'], ['machine_license: "bo b"; a->b;']), - _templateObject47 = _taggedTemplateLiteral(['fsl_version: 0.0.0; a->b;'], ['fsl_version: 0.0.0; a->b;']), - _templateObject48 = _taggedTemplateLiteral(['fsl_version: 0.0.1; a->b;'], ['fsl_version: 0.0.1; a->b;']), - _templateObject49 = _taggedTemplateLiteral(['fsl_version: 0.1.0; a->b;'], ['fsl_version: 0.1.0; a->b;']), - _templateObject50 = _taggedTemplateLiteral(['fsl_version: 1.0.0; a->b;'], ['fsl_version: 1.0.0; a->b;']), - _templateObject51 = _taggedTemplateLiteral(['fsl_version: 1.0.1; a->b;'], ['fsl_version: 1.0.1; a->b;']), - _templateObject52 = _taggedTemplateLiteral(['fsl_version: 1.1.1; a->b;'], ['fsl_version: 1.1.1; a->b;']), - _templateObject53 = _taggedTemplateLiteral(['fsl_version: 2.0.0; a->b;'], ['fsl_version: 2.0.0; a->b;']); + _templateObject3 = _taggedTemplateLiteral(['machine_name: testval; a->b;'], ['machine_name: testval; a->b;']), + _templateObject4 = _taggedTemplateLiteral(['machine_author: bob; a->b;'], ['machine_author: bob; a->b;']), + _templateObject5 = _taggedTemplateLiteral(['machine_author: "bo b"; a->b;'], ['machine_author: "bo b"; a->b;']), + _templateObject6 = _taggedTemplateLiteral(['machine_author: [bob dobbs]; a->b;'], ['machine_author: [bob dobbs]; a->b;']), + _templateObject7 = _taggedTemplateLiteral(['machine_author: ["bo b" "do bbs"]; a->b;'], ['machine_author: ["bo b" "do bbs"]; a->b;']), + _templateObject8 = _taggedTemplateLiteral(['machine_author: [bob "do bbs"]; a->b;'], ['machine_author: [bob "do bbs"]; a->b;']), + _templateObject9 = _taggedTemplateLiteral(['machine_author: ["bo b" dobbs]; a->b;'], ['machine_author: ["bo b" dobbs]; a->b;']), + _templateObject10 = _taggedTemplateLiteral(['machine_author: testval; a->b;'], ['machine_author: testval; a->b;']), + _templateObject11 = _taggedTemplateLiteral(['machine_author: [bob david]; a->b;'], ['machine_author: [bob david]; a->b;']), + _templateObject12 = _taggedTemplateLiteral(['machine_contributor: bob; a->b;'], ['machine_contributor: bob; a->b;']), + _templateObject13 = _taggedTemplateLiteral(['machine_contributor: "bo b"; a->b;'], ['machine_contributor: "bo b"; a->b;']), + _templateObject14 = _taggedTemplateLiteral(['machine_contributor: [bob dobbs]; a->b;'], ['machine_contributor: [bob dobbs]; a->b;']), + _templateObject15 = _taggedTemplateLiteral(['machine_contributor: ["bo b" "do bbs"]; a->b;'], ['machine_contributor: ["bo b" "do bbs"]; a->b;']), + _templateObject16 = _taggedTemplateLiteral(['machine_contributor: [bob "do bbs"]; a->b;'], ['machine_contributor: [bob "do bbs"]; a->b;']), + _templateObject17 = _taggedTemplateLiteral(['machine_contributor: ["bo b" dobbs]; a->b;'], ['machine_contributor: ["bo b" dobbs]; a->b;']), + _templateObject18 = _taggedTemplateLiteral(['machine_contributor: testval; a->b;'], ['machine_contributor: testval; a->b;']), + _templateObject19 = _taggedTemplateLiteral(['machine_contributor: [bob david]; a->b;'], ['machine_contributor: [bob david]; a->b;']), + _templateObject20 = _taggedTemplateLiteral(['machine_comment: bob; a->b;'], ['machine_comment: bob; a->b;']), + _templateObject21 = _taggedTemplateLiteral(['machine_comment: "bo b"; a->b;'], ['machine_comment: "bo b"; a->b;']), + _templateObject22 = _taggedTemplateLiteral(['machine_comment: testval; a->b;'], ['machine_comment: testval; a->b;']), + _templateObject23 = _taggedTemplateLiteral(['machine_definition: http://google.com/ ; a->b;'], ['machine_definition: http://google.com/ ; a->b;']), + _templateObject24 = _taggedTemplateLiteral(['machine_definition: "not a url"; a->b;'], ['machine_definition: "not a url"; a->b;']), + _templateObject25 = _taggedTemplateLiteral(['machine_version: 0.0.0; a->b;'], ['machine_version: 0.0.0; a->b;']), + _templateObject26 = _taggedTemplateLiteral(['machine_version: 0.0.1; a->b;'], ['machine_version: 0.0.1; a->b;']), + _templateObject27 = _taggedTemplateLiteral(['machine_version: 0.1.0; a->b;'], ['machine_version: 0.1.0; a->b;']), + _templateObject28 = _taggedTemplateLiteral(['machine_version: 1.0.0; a->b;'], ['machine_version: 1.0.0; a->b;']), + _templateObject29 = _taggedTemplateLiteral(['machine_version: 1.0.1; a->b;'], ['machine_version: 1.0.1; a->b;']), + _templateObject30 = _taggedTemplateLiteral(['machine_version: 1.1.1; a->b;'], ['machine_version: 1.1.1; a->b;']), + _templateObject31 = _taggedTemplateLiteral(['machine_version: 2.0.0; a->b;'], ['machine_version: 2.0.0; a->b;']), + _templateObject32 = _taggedTemplateLiteral(['machine_version: "Not a semver"; a->b;'], ['machine_version: "Not a semver"; a->b;']), + _templateObject33 = _taggedTemplateLiteral(['machine_license: testval; a->b;'], ['machine_license: testval; a->b;']), + _templateObject34 = _taggedTemplateLiteral(['machine_license:Public domain; a->b;'], ['machine_license:Public domain; a->b;']), + _templateObject35 = _taggedTemplateLiteral(['machine_license:MIT; a->b;'], ['machine_license:MIT; a->b;']), + _templateObject36 = _taggedTemplateLiteral(['machine_license:BSD 2-clause; a->b;'], ['machine_license:BSD 2-clause; a->b;']), + _templateObject37 = _taggedTemplateLiteral(['machine_license:BSD 3-clause; a->b;'], ['machine_license:BSD 3-clause; a->b;']), + _templateObject38 = _taggedTemplateLiteral(['machine_license:Apache 2.0; a->b;'], ['machine_license:Apache 2.0; a->b;']), + _templateObject39 = _taggedTemplateLiteral(['machine_license:Mozilla 2.0; a->b;'], ['machine_license:Mozilla 2.0; a->b;']), + _templateObject40 = _taggedTemplateLiteral(['machine_license:GPL v2; a->b;'], ['machine_license:GPL v2; a->b;']), + _templateObject41 = _taggedTemplateLiteral(['machine_license:GPL v3; a->b;'], ['machine_license:GPL v3; a->b;']), + _templateObject42 = _taggedTemplateLiteral(['machine_license:LGPL v2.1; a->b;'], ['machine_license:LGPL v2.1; a->b;']), + _templateObject43 = _taggedTemplateLiteral(['machine_license:LGPL v3.0; a->b;'], ['machine_license:LGPL v3.0; a->b;']), + _templateObject44 = _taggedTemplateLiteral(['machine_license: Public domain ; a->b;'], ['machine_license: Public domain ; a->b;']), + _templateObject45 = _taggedTemplateLiteral(['machine_license: MIT ; a->b;'], ['machine_license: MIT ; a->b;']), + _templateObject46 = _taggedTemplateLiteral(['machine_license: BSD 2-clause ; a->b;'], ['machine_license: BSD 2-clause ; a->b;']), + _templateObject47 = _taggedTemplateLiteral(['machine_license: BSD 3-clause ; a->b;'], ['machine_license: BSD 3-clause ; a->b;']), + _templateObject48 = _taggedTemplateLiteral(['machine_license: Apache 2.0 ; a->b;'], ['machine_license: Apache 2.0 ; a->b;']), + _templateObject49 = _taggedTemplateLiteral(['machine_license: Mozilla 2.0 ; a->b;'], ['machine_license: Mozilla 2.0 ; a->b;']), + _templateObject50 = _taggedTemplateLiteral(['machine_license: GPL v2 ; a->b;'], ['machine_license: GPL v2 ; a->b;']), + _templateObject51 = _taggedTemplateLiteral(['machine_license: GPL v3 ; a->b;'], ['machine_license: GPL v3 ; a->b;']), + _templateObject52 = _taggedTemplateLiteral(['machine_license: LGPL v2.1 ; a->b;'], ['machine_license: LGPL v2.1 ; a->b;']), + _templateObject53 = _taggedTemplateLiteral(['machine_license: LGPL v3.0 ; a->b;'], ['machine_license: LGPL v3.0 ; a->b;']), + _templateObject54 = _taggedTemplateLiteral(['machine_license: bob; a->b;'], ['machine_license: bob; a->b;']), + _templateObject55 = _taggedTemplateLiteral(['machine_license: "bo b"; a->b;'], ['machine_license: "bo b"; a->b;']), + _templateObject56 = _taggedTemplateLiteral(['fsl_version: 0.0.0; a->b;'], ['fsl_version: 0.0.0; a->b;']), + _templateObject57 = _taggedTemplateLiteral(['fsl_version: 0.0.1; a->b;'], ['fsl_version: 0.0.1; a->b;']), + _templateObject58 = _taggedTemplateLiteral(['fsl_version: 0.1.0; a->b;'], ['fsl_version: 0.1.0; a->b;']), + _templateObject59 = _taggedTemplateLiteral(['fsl_version: 1.0.0; a->b;'], ['fsl_version: 1.0.0; a->b;']), + _templateObject60 = _taggedTemplateLiteral(['fsl_version: 1.0.1; a->b;'], ['fsl_version: 1.0.1; a->b;']), + _templateObject61 = _taggedTemplateLiteral(['fsl_version: 1.1.1; a->b;'], ['fsl_version: 1.1.1; a->b;']), + _templateObject62 = _taggedTemplateLiteral(['fsl_version: 2.0.0; a->b;'], ['fsl_version: 2.0.0; a->b;']), + _templateObject63 = _taggedTemplateLiteral(['fsl_version: "Not a semver"; a->b;'], ['fsl_version: "Not a semver"; a->b;']); var _avaSpec = require('ava-spec'); @@ -62,6 +72,7 @@ var jssm = require('../../../build/jssm.es5.js'), sm = jssm.sm; (0, _avaSpec.describe)('machine_name', async function (it) { + it('atom', function (t) { return t.notThrows(function () { var _foo = sm(_templateObject); @@ -72,189 +83,240 @@ var jssm = require('../../../build/jssm.es5.js'), var _foo = sm(_templateObject2); }); }); + + it('retval correct', function (t) { + return t.is("testval", sm(_templateObject3).machine_name()); + }); }); (0, _avaSpec.describe)('machine_author', async function (it2) { + it2('single atom', function (t) { return t.notThrows(function () { - var _foo = sm(_templateObject3); + var _foo = sm(_templateObject4); }); }); it2('single quoted string', function (t) { return t.notThrows(function () { - var _foo = sm(_templateObject4); + var _foo = sm(_templateObject5); }); }); it2('atom list', function (t) { return t.notThrows(function () { - var _foo = sm(_templateObject5); + var _foo = sm(_templateObject6); }); }); it2('quoted string list', function (t) { return t.notThrows(function () { - var _foo = sm(_templateObject6); + var _foo = sm(_templateObject7); }); }); it2('mixed list a/q', function (t) { return t.notThrows(function () { - var _foo = sm(_templateObject7); + var _foo = sm(_templateObject8); }); }); it2('mixed list q/a', function (t) { return t.notThrows(function () { - var _foo = sm(_templateObject8); + var _foo = sm(_templateObject9); }); }); + + it2('single retval', function (t) { + return t.deepEqual(["testval"], sm(_templateObject10).machine_author()); + }); + it2('multiple retval', function (t) { + return t.deepEqual(['bob', 'david'], sm(_templateObject11).machine_author()); + }); }); (0, _avaSpec.describe)('machine_contributor', async function (it3) { + it3('atom', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject9); + var _ = sm(_templateObject12); }); }); it3('quoted string', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject10); + var _ = sm(_templateObject13); }); }); it3('atom list', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject11); + var _ = sm(_templateObject14); }); }); it3('quoted string list', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject12); + var _ = sm(_templateObject15); }); }); it3('mixed list a/q', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject13); + var _ = sm(_templateObject16); }); }); it3('mixed list q/a', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject14); + var _ = sm(_templateObject17); }); }); + + it3('single retval', function (t) { + return t.deepEqual(["testval"], sm(_templateObject18).machine_contributor()); + }); + + it3('multiple retval', function (t) { + return t.deepEqual(['bob', 'david'], sm(_templateObject19).machine_contributor()); + }); }); (0, _avaSpec.describe)('machine_comment', async function (it4) { + it4('atom', function (t) { return t.notThrows(function () { - var _foo = sm(_templateObject15); + var _foo = sm(_templateObject20); }); }); it4('quoted string', function (t) { return t.notThrows(function () { - var _foo = sm(_templateObject16); + var _foo = sm(_templateObject21); }); }); + + it4('retval correct', function (t) { + return t.is("testval", sm(_templateObject22).machine_comment()); + }); }); (0, _avaSpec.describe)('machine_definition', async function (it5) { + it5('url', function (t) { return t.notThrows(function () { - var _foo = sm(_templateObject17); + var _foo = sm(_templateObject23); }); }); it5('url', function (t) { return t.notThrows(function () { - var _foo = sm(_templateObject17); + var _foo = sm(_templateObject23); }); }); + it5('url', function (t) { + return t.throws(function () { + var _foo = sm(_templateObject24); + }); + }); + + it5('retval correct', function (t) { + return t.is("http://google.com/", sm(_templateObject23).machine_definition()); + }); }); (0, _avaSpec.describe)('machine_version', async function (it6) { + it6('semver 0.0.0', function (t) { return t.notThrows(function () { - var _f = sm(_templateObject18); + var _f = sm(_templateObject25); }); }); it6('semver 0.0.1', function (t) { return t.notThrows(function () { - var _f = sm(_templateObject19); + var _f = sm(_templateObject26); }); }); it6('semver 0.1.0', function (t) { return t.notThrows(function () { - var _f = sm(_templateObject20); + var _f = sm(_templateObject27); }); }); it6('semver 1.0.0', function (t) { return t.notThrows(function () { - var _f = sm(_templateObject21); + var _f = sm(_templateObject28); }); }); it6('semver 1.0.1', function (t) { return t.notThrows(function () { - var _f = sm(_templateObject22); + var _f = sm(_templateObject29); }); }); it6('semver 1.1.1', function (t) { return t.notThrows(function () { - var _f = sm(_templateObject23); + var _f = sm(_templateObject30); }); }); it6('semver 2.0.0', function (t) { return t.notThrows(function () { - var _f = sm(_templateObject24); + var _f = sm(_templateObject31); }); }); + + it6('semver notAS', function (t) { + return t.throws(function () { + var _f = sm(_templateObject32); + }); + }); + + it6('retval correct', function (t) { + return t.deepEqual({ full: "0.0.0", major: 0, minor: 0, patch: 0 }, sm(_templateObject25).machine_version()); + }); }); (0, _avaSpec.describe)('machine_license', async function (oit) { + oit('retval correct', function (t) { + return t.is("testval", sm(_templateObject33).machine_license()); + }); + (0, _avaSpec.describe)('near', async function (it) { it('Public domain', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject25); + var _ = sm(_templateObject34); }); }); it('MIT', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject26); + var _ = sm(_templateObject35); }); }); it('BSD 2-clause', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject27); + var _ = sm(_templateObject36); }); }); it('BSD 3-clause', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject28); + var _ = sm(_templateObject37); }); }); it('Apache 2.0', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject29); + var _ = sm(_templateObject38); }); }); it('Mozilla 2.0', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject30); + var _ = sm(_templateObject39); }); }); it('GPL v2', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject31); + var _ = sm(_templateObject40); }); }); it('GPL v3', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject32); + var _ = sm(_templateObject41); }); }); it('LGPL v2.1', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject33); + var _ = sm(_templateObject42); }); }); it('LGPL v3.0', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject34); + var _ = sm(_templateObject43); }); }); }); @@ -262,103 +324,114 @@ var jssm = require('../../../build/jssm.es5.js'), (0, _avaSpec.describe)('spaced', async function (it) { it('Public domain', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject35); + var _ = sm(_templateObject44); }); }); it('MIT', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject36); + var _ = sm(_templateObject45); }); }); it('BSD 2-clause', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject37); + var _ = sm(_templateObject46); }); }); it('BSD 3-clause', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject38); + var _ = sm(_templateObject47); }); }); it('Apache 2.0', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject39); + var _ = sm(_templateObject48); }); }); it('Mozilla 2.0', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject40); + var _ = sm(_templateObject49); }); }); it('GPL v2', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject41); + var _ = sm(_templateObject50); }); }); it('GPL v3', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject42); + var _ = sm(_templateObject51); }); }); it('LGPL v2.1', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject43); + var _ = sm(_templateObject52); }); }); it('LGPL v3.0', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject44); + var _ = sm(_templateObject53); }); }); }); oit('single atom', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject45); + var _ = sm(_templateObject54); }); }); oit('single quoted string', function (t) { return t.notThrows(function () { - var _ = sm(_templateObject46); + var _ = sm(_templateObject55); }); }); }); (0, _avaSpec.describe)('fsl_version', async function (it7) { + it7('semver 0.0.0', function (t) { return t.notThrows(function () { - var _f = sm(_templateObject47); + var _f = sm(_templateObject56); }); }); it7('semver 0.0.1', function (t) { return t.notThrows(function () { - var _f = sm(_templateObject48); + var _f = sm(_templateObject57); }); }); it7('semver 0.1.0', function (t) { return t.notThrows(function () { - var _f = sm(_templateObject49); + var _f = sm(_templateObject58); }); }); it7('semver 1.0.0', function (t) { return t.notThrows(function () { - var _f = sm(_templateObject50); + var _f = sm(_templateObject59); }); }); it7('semver 1.0.1', function (t) { return t.notThrows(function () { - var _f = sm(_templateObject51); + var _f = sm(_templateObject60); }); }); it7('semver 1.1.1', function (t) { return t.notThrows(function () { - var _f = sm(_templateObject52); + var _f = sm(_templateObject61); }); }); it7('semver 2.0.0', function (t) { return t.notThrows(function () { - var _f = sm(_templateObject53); + var _f = sm(_templateObject62); }); }); + + it7('semver notAS', function (t) { + return t.throws(function () { + var _f = sm(_templateObject63); + }); + }); + + it7('retval correct', function (t) { + return t.deepEqual({ full: "0.0.0", major: 0, minor: 0, patch: 0 }, sm(_templateObject56).fsl_version()); + }); }); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qcy90ZXN0cy9tYWNoaW5lX2F0dHJpYnV0ZXMuanMiXSwibmFtZXMiOlsianNzbSIsInJlcXVpcmUiLCJzbSIsIml0IiwidCIsIm5vdFRocm93cyIsIl9mb28iLCJpdDIiLCJpdDMiLCJfIiwiaXQ0IiwiaXQ1IiwiaXQ2IiwiX2YiLCJvaXQiLCJpdDciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxPQUFPQyxRQUFRLDRCQUFSLENBQWI7QUFBQSxJQUNNQyxLQUFPRixLQUFLRSxFQURsQjs7QUFPQSx1QkFBUyxjQUFULEVBQXlCLGdCQUFNQyxFQUFOLEVBQVk7QUFDbkNBLEtBQUcsTUFBSCxFQUFvQjtBQUFBLFdBQUtDLEVBQUVDLFNBQUYsQ0FBWSxZQUFNO0FBQUUsVUFBTUMsT0FBT0osRUFBUCxpQkFBTjtBQUErQyxLQUFuRSxDQUFMO0FBQUEsR0FBcEI7QUFDQUMsS0FBRyxlQUFILEVBQW9CO0FBQUEsV0FBS0MsRUFBRUMsU0FBRixDQUFZLFlBQU07QUFBRSxVQUFNQyxPQUFPSixFQUFQLGtCQUFOO0FBQStDLEtBQW5FLENBQUw7QUFBQSxHQUFwQjtBQUNELENBSEQ7O0FBU0EsdUJBQVMsZ0JBQVQsRUFBMkIsZ0JBQU1LLEdBQU4sRUFBYTtBQUN0Q0EsTUFBSSxhQUFKLEVBQTRCO0FBQUEsV0FBS0gsRUFBRUMsU0FBRixDQUFZLFlBQU07QUFBRSxVQUFNQyxPQUFPSixFQUFQLGtCQUFOO0FBQTRELEtBQWhGLENBQUw7QUFBQSxHQUE1QjtBQUNBSyxNQUFJLHNCQUFKLEVBQTRCO0FBQUEsV0FBS0gsRUFBRUMsU0FBRixDQUFZLFlBQU07QUFBRSxVQUFNQyxPQUFPSixFQUFQLGtCQUFOO0FBQTRELEtBQWhGLENBQUw7QUFBQSxHQUE1QjtBQUNBSyxNQUFJLFdBQUosRUFBNEI7QUFBQSxXQUFLSCxFQUFFQyxTQUFGLENBQVks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TjtBQUEyQyxLQUEvRCxDQUFMO0FBQUEsR0FBcEI7QUFDQWEsTUFBSSxjQUFKLEVBQW9CO0FBQUEsV0FBS1gsRUFBRUMsU0FBRixDQUFZLFlBQU07QUFBRSxVQUFNUSxLQUFLWCxFQUFMLG1CQUFOO0FBQTJDLEtBQS9ELENBQUw7QUFBQSxHQUFwQjtBQUNBYSxNQUFJLGNBQUosRUFBb0I7QUFBQSxXQUFLWCxFQUFFQyxTQUFGLENBQVksWUFBTTtBQUFFLFVBQU1RLEtBQUtYLEVBQUwsbUJBQU47QUFBMkMsS0FBL0QsQ0FBTDtBQUFBLEdBQXBCO0FBQ0FhLE1BQUksY0FBSixFQUFvQjtBQUFBLFdBQUtYLEVBQUVDLFNBQUYsQ0FBWSxZQUFNO0FBQUUsVUFBTVEsS0FBS1gsRUFBTCxtQkFBTjtBQUEyQyxLQUEvRCxDQUFMO0FBQUEsR0FBcEI7QUFDQWEsTUFBSSxjQUFKLEVBQW9CO0FBQUEsV0FBS1gsRUFBRUMsU0FBRixDQUFZLFlBQU07QUFBRSxVQUFNUSxLQUFLWCxFQUFMLG1CQUFOO0FBQTJDLEtBQS9ELENBQUw7QUFBQSxHQUFwQjtBQUNELENBUkQiLCJmaWxlIjoibWFjaGluZV9hdHRyaWJ1dGVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQge2Rlc2NyaWJlfSBmcm9tICdhdmEtc3BlYyc7XG5cbmNvbnN0IGpzc20gPSByZXF1aXJlKCcuLi8uLi8uLi9idWlsZC9qc3NtLmVzNS5qcycpLFxuICAgICAgc20gICA9IGpzc20uc207XG5cblxuXG5cblxuZGVzY3JpYmUoJ21hY2hpbmVfbmFtZScsIGFzeW5jIGl0ID0+IHtcbiAgaXQoJ2F0b20nLCAgICAgICAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2ZvbyA9IHNtYG1hY2hpbmVfbmFtZTogYm9iOyAgICBhLT5iO2A7IH0pICk7XG4gIGl0KCdxdW90ZWQgc3RyaW5nJywgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF9mb28gPSBzbWBtYWNoaW5lX25hbWU6IFwiYm8gYlwiOyBhLT5iO2A7IH0pICk7XG59KTtcblxuXG5cblxuXG5kZXNjcmliZSgnbWFjaGluZV9hdXRob3InLCBhc3luYyBpdDIgPT4ge1xuICBpdDIoJ3NpbmdsZSBhdG9tJywgICAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF9mb28gPSBzbWBtYWNoaW5lX2F1dGhvcjogYm9iOyAgICAgICAgICAgICAgIGEtPmI7YDsgfSkgKTtcbiAgaXQyKCdzaW5nbGUgcXVvdGVkIHN0cmluZycsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZm9vID0gc21gbWFjaGluZV9hdXRob3I6IFwiYm8gYlwiOyAgICAgICAgICAgIGEtPmI7YDsgfSkgKTtcbiAgaXQyKCdhdG9tIGxpc3QnLCAgICAgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZm9vID0gc21gbWFjaGluZV9hdXRob3I6IFtib2IgZG9iYnNdOyAgICAgICBhLT5iO2A7IH0pICk7XG4gIGl0MigncXVvdGVkIHN0cmluZyBsaXN0JywgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2ZvbyA9IHNtYG1hY2hpbmVfYXV0aG9yOiBbXCJibyBiXCIgXCJkbyBiYnNcIl07IGEtPmI7YDsgfSkgKTtcbiAgaXQyKCdtaXhlZCBsaXN0IGEvcScsICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZm9vID0gc21gbWFjaGluZV9hdXRob3I6IFtib2IgXCJkbyBiYnNcIl07ICAgIGEtPmI7YDsgfSkgKTtcbiAgaXQyKCdtaXhlZCBsaXN0IHEvYScsICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZm9vID0gc21gbWFjaGluZV9hdXRob3I6IFtcImJvIGJcIiBkb2Jic107ICAgIGEtPmI7YDsgfSkgKTtcbn0pO1xuXG5cblxuXG5cbmRlc2NyaWJlKCdtYWNoaW5lX2NvbnRyaWJ1dG9yJywgYXN5bmMgaXQzID0+IHtcbiAgaXQzKCdhdG9tJywgICAgICAgICAgICAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgXyA9IHNtYG1hY2hpbmVfY29udHJpYnV0b3I6IGJvYjsgICAgICAgICAgICAgICBhLT5iO2A7IH0pICk7XG4gIGl0MygncXVvdGVkIHN0cmluZycsICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2NvbnRyaWJ1dG9yOiBcImJvIGJcIjsgICAgICAgICAgICBhLT5iO2A7IH0pICk7XG4gIGl0MygnYXRvbSBsaXN0JywgICAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2NvbnRyaWJ1dG9yOiBbYm9iIGRvYmJzXTsgICAgICAgYS0+YjtgOyB9KSApO1xuICBpdDMoJ3F1b3RlZCBzdHJpbmcgbGlzdCcsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9jb250cmlidXRvcjogW1wiYm8gYlwiIFwiZG8gYmJzXCJdOyBhLT5iO2A7IH0pICk7XG4gIGl0MygnbWl4ZWQgbGlzdCBhL3EnLCAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2NvbnRyaWJ1dG9yOiBbYm9iIFwiZG8gYmJzXCJdOyAgICBhLT5iO2A7IH0pICk7XG4gIGl0MygnbWl4ZWQgbGlzdCBxL2EnLCAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2NvbnRyaWJ1dG9yOiBbXCJibyBiXCIgZG9iYnNdOyAgICBhLT5iO2A7IH0pICk7XG59KTtcblxuXG5cblxuXG5kZXNjcmliZSgnbWFjaGluZV9jb21tZW50JywgYXN5bmMgaXQ0ID0+IHtcbiAgaXQ0KCdhdG9tJywgICAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF9mb28gPSBzbWBtYWNoaW5lX2NvbW1lbnQ6IGJvYjsgICAgYS0+YjtgOyB9KSApO1xuICBpdDQoJ3F1b3RlZCBzdHJpbmcnLCB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2ZvbyA9IHNtYG1hY2hpbmVfY29tbWVudDogXCJibyBiXCI7IGEtPmI7YDsgfSkgKTtcbn0pO1xuXG5cblxuXG5cbmRlc2NyaWJlKCdtYWNoaW5lX2RlZmluaXRpb24nLCBhc3luYyBpdDUgPT4ge1xuICBpdDUoJ3VybCcsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZm9vID0gc21gbWFjaGluZV9kZWZpbml0aW9uOiBodHRwOi8vZ29vZ2xlLmNvbS8gOyBhLT5iO2A7IH0pICk7XG4gIGl0NSgndXJsJywgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF9mb28gPSBzbWBtYWNoaW5lX2RlZmluaXRpb246IGh0dHA6Ly9nb29nbGUuY29tLyA7IGEtPmI7YDsgfSkgKTtcbn0pO1xuXG5cblxuXG5cbmRlc2NyaWJlKCdtYWNoaW5lX3ZlcnNpb24nLCBhc3luYyBpdDYgPT4ge1xuICBpdDYoJ3NlbXZlciAwLjAuMCcsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZiA9IHNtYG1hY2hpbmVfdmVyc2lvbjogMC4wLjA7IGEtPmI7YDsgfSkgKTtcbiAgaXQ2KCdzZW12ZXIgMC4wLjEnLCB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2YgPSBzbWBtYWNoaW5lX3ZlcnNpb246IDAuMC4xOyBhLT5iO2A7IH0pICk7XG4gIGl0Nignc2VtdmVyIDAuMS4wJywgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF9mID0gc21gbWFjaGluZV92ZXJzaW9uOiAwLjEuMDsgYS0+YjtgOyB9KSApO1xuICBpdDYoJ3NlbXZlciAxLjAuMCcsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZiA9IHNtYG1hY2hpbmVfdmVyc2lvbjogMS4wLjA7IGEtPmI7YDsgfSkgKTtcbiAgaXQ2KCdzZW12ZXIgMS4wLjEnLCB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2YgPSBzbWBtYWNoaW5lX3ZlcnNpb246IDEuMC4xOyBhLT5iO2A7IH0pICk7XG4gIGl0Nignc2VtdmVyIDEuMS4xJywgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF9mID0gc21gbWFjaGluZV92ZXJzaW9uOiAxLjEuMTsgYS0+YjtgOyB9KSApO1xuICBpdDYoJ3NlbXZlciAyLjAuMCcsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZiA9IHNtYG1hY2hpbmVfdmVyc2lvbjogMi4wLjA7IGEtPmI7YDsgfSkgKTtcbn0pO1xuXG5cblxuXG5cbmRlc2NyaWJlKCdtYWNoaW5lX2xpY2Vuc2UnLCBhc3luYyBvaXQgPT4ge1xuXG4gIGRlc2NyaWJlKCduZWFyJywgYXN5bmMgaXQgPT4ge1xuICAgIGl0KCdQdWJsaWMgZG9tYWluJywgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9saWNlbnNlOlB1YmxpYyBkb21haW47ICAgICBhLT5iO2A7IH0pICk7XG4gICAgaXQoJ01JVCcsICAgICAgICAgICAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2xpY2Vuc2U6TUlUOyAgICAgICAgICAgICAgIGEtPmI7YDsgfSkgKTtcbiAgICBpdCgnQlNEIDItY2xhdXNlJywgICAgICAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgXyA9IHNtYG1hY2hpbmVfbGljZW5zZTpCU0QgMi1jbGF1c2U7ICAgICAgYS0+YjtgOyB9KSApO1xuICAgIGl0KCdCU0QgMy1jbGF1c2UnLCAgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9saWNlbnNlOkJTRCAzLWNsYXVzZTsgICAgICBhLT5iO2A7IH0pICk7XG4gICAgaXQoJ0FwYWNoZSAyLjAnLCAgICAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2xpY2Vuc2U6QXBhY2hlIDIuMDsgICAgICAgIGEtPmI7YDsgfSkgKTtcbiAgICBpdCgnTW96aWxsYSAyLjAnLCAgICAgICAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgXyA9IHNtYG1hY2hpbmVfbGljZW5zZTpNb3ppbGxhIDIuMDsgICAgICAgYS0+YjtgOyB9KSApO1xuICAgIGl0KCdHUEwgdjInLCAgICAgICAgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9saWNlbnNlOkdQTCB2MjsgICAgICAgICAgICBhLT5iO2A7IH0pICk7XG4gICAgaXQoJ0dQTCB2MycsICAgICAgICAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2xpY2Vuc2U6R1BMIHYzOyAgICAgICAgICAgIGEtPmI7YDsgfSkgKTtcbiAgICBpdCgnTEdQTCB2Mi4xJywgICAgICAgICAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgXyA9IHNtYG1hY2hpbmVfbGljZW5zZTpMR1BMIHYyLjE7ICAgICAgICAgYS0+YjtgOyB9KSApO1xuICAgIGl0KCdMR1BMIHYzLjAnLCAgICAgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9saWNlbnNlOkxHUEwgdjMuMDsgICAgICAgICBhLT5iO2A7IH0pICk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzcGFjZWQnLCBhc3luYyBpdCA9PiB7XG4gICAgaXQoJ1B1YmxpYyBkb21haW4nLCAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2xpY2Vuc2U6IFB1YmxpYyBkb21haW4gOyAgIGEtPmI7YDsgfSkgKTtcbiAgICBpdCgnTUlUJywgICAgICAgICAgICAgICAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgXyA9IHNtYG1hY2hpbmVfbGljZW5zZTogTUlUIDsgICAgICAgICAgICAgYS0+YjtgOyB9KSApO1xuICAgIGl0KCdCU0QgMi1jbGF1c2UnLCAgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9saWNlbnNlOiBCU0QgMi1jbGF1c2UgOyAgICBhLT5iO2A7IH0pICk7XG4gICAgaXQoJ0JTRCAzLWNsYXVzZScsICAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2xpY2Vuc2U6IEJTRCAzLWNsYXVzZSA7ICAgIGEtPmI7YDsgfSkgKTtcbiAgICBpdCgnQXBhY2hlIDIuMCcsICAgICAgICAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgXyA9IHNtYG1hY2hpbmVfbGljZW5zZTogQXBhY2hlIDIuMCA7ICAgICAgYS0+YjtgOyB9KSApO1xuICAgIGl0KCdNb3ppbGxhIDIuMCcsICAgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9saWNlbnNlOiBNb3ppbGxhIDIuMCA7ICAgICBhLT5iO2A7IH0pICk7XG4gICAgaXQoJ0dQTCB2MicsICAgICAgICAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2xpY2Vuc2U6IEdQTCB2MiA7ICAgICAgICAgIGEtPmI7YDsgfSkgKTtcbiAgICBpdCgnR1BMIHYzJywgICAgICAgICAgICAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgXyA9IHNtYG1hY2hpbmVfbGljZW5zZTogR1BMIHYzIDsgICAgICAgICAgYS0+YjtgOyB9KSApO1xuICAgIGl0KCdMR1BMIHYyLjEnLCAgICAgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9saWNlbnNlOiBMR1BMIHYyLjEgOyAgICAgICBhLT5iO2A7IH0pICk7XG4gICAgaXQoJ0xHUEwgdjMuMCcsICAgICAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2xpY2Vuc2U6IExHUEwgdjMuMCA7ICAgICAgIGEtPmI7YDsgfSkgKTtcbiAgfSk7XG5cbiAgb2l0KCdzaW5nbGUgYXRvbScsICAgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9saWNlbnNlOiBib2I7ICAgICAgICAgICAgICAgYS0+YjtgOyB9KSApO1xuICBvaXQoJ3NpbmdsZSBxdW90ZWQgc3RyaW5nJywgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2xpY2Vuc2U6IFwiYm8gYlwiOyAgICAgICAgICAgIGEtPmI7YDsgfSkgKTtcblxufSk7XG5cblxuXG5cblxuZGVzY3JpYmUoJ2ZzbF92ZXJzaW9uJywgYXN5bmMgaXQ3ID0+IHtcbiAgaXQ3KCdzZW12ZXIgMC4wLjAnLCB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2YgPSBzbWBmc2xfdmVyc2lvbjogMC4wLjA7IGEtPmI7YDsgfSkgKTtcbiAgaXQ3KCdzZW12ZXIgMC4wLjEnLCB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2YgPSBzbWBmc2xfdmVyc2lvbjogMC4wLjE7IGEtPmI7YDsgfSkgKTtcbiAgaXQ3KCdzZW12ZXIgMC4xLjAnLCB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2YgPSBzbWBmc2xfdmVyc2lvbjogMC4xLjA7IGEtPmI7YDsgfSkgKTtcbiAgaXQ3KCdzZW12ZXIgMS4wLjAnLCB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2YgPSBzbWBmc2xfdmVyc2lvbjogMS4wLjA7IGEtPmI7YDsgfSkgKTtcbiAgaXQ3KCdzZW12ZXIgMS4wLjEnLCB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2YgPSBzbWBmc2xfdmVyc2lvbjogMS4wLjE7IGEtPmI7YDsgfSkgKTtcbiAgaXQ3KCdzZW12ZXIgMS4xLjEnLCB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2YgPSBzbWBmc2xfdmVyc2lvbjogMS4xLjE7IGEtPmI7YDsgfSkgKTtcbiAgaXQ3KCdzZW12ZXIgMi4wLjAnLCB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2YgPSBzbWBmc2xfdmVyc2lvbjogMi4wLjA7IGEtPmI7YDsgfSkgKTtcbn0pO1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qcy90ZXN0cy9tYWNoaW5lX2F0dHJpYnV0ZXMuanMiXSwibmFtZXMiOlsianNzbSIsInJlcXVpcmUiLCJzbSIsIml0IiwidCIsIm5vdFRocm93cyIsIl9mb28iLCJpcyIsIm1hY2hpbmVfbmFtZSIsIml0MiIsImRlZXBFcXVhbCIsIm1hY2hpbmVfYXV0aG9yIiwiaXQzIiwiXyIsIm1hY2hpbmVfY29udHJpYnV0b3IiLCJpdDQiLCJtYWNoaW5lX2NvbW1lbnQiLCJpdDUiLCJ0aHJvd3MiLCJtYWNoaW5lX2RlZmluaXRpb24iLCJpdDYiLCJfZiIsImZ1bGwiLCJtYWpvciIsIm1pbm9yIiwicGF0Y2giLCJtYWNoaW5lX3ZlcnNpb24iLCJvaXQiLCJtYWNoaW5lX2xpY2Vuc2UiLCJpdDciLCJmc2xfdmVyc2lvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxPQUFPQyxRQUFRLDRCQUFSLENBQWI7QUFBQSxJQUNNQyxLQUFPRixLQUFLRSxFQURsQjs7QUFPQSx1QkFBUyxjQUFULEVBQXlCLGdCQUFNQyxFQUFOLEVBQVk7O0FBRW5DQSxLQUFHLE1BQUgsRUFBcUI7QUFBQSxXQUFLQyxFQUFFQyxTQUFGLENBQVksWUFBTTtBQUFFLFVBQU1DLE9BQU9KLEVBQVAsaUJBQU47QUFBK0MsS0FBbkUsQ0FBTDtBQUFBLEdBQXJCO0FBQ0FDLEtBQUcsZUFBSCxFQUFxQjtBQUFBLFdBQUtDLEVBQUVDLFNBQUYsQ0FBWSxZQUFNO0FBQUUsVUFBTUMsT0FBT0osRUFBUCxrQkFBTjtBQUErQyxLQUFuRSxDQUFMO0FBQUEsR0FBckI7O0FBRUFDLEtBQUcsZ0JBQUgsRUFBcUI7QUFBQSxXQUFLQyxFQUFFRyxFQUFGLENBQUssU0FBTCxFQUFnQkwscUJBQWlDTSxZQUFqQyxFQUFoQixDQUFMO0FBQUEsR0FBckI7QUFFRCxDQVBEOztB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QjtBQUFBLFdBQUt6QixFQUFFQyxTQUFGLENBQVksWUFBTTtBQUFFLFVBQU1nQixLQUFLbkIsRUFBTCxtQkFBTjtBQUEyQyxLQUEvRCxDQUFMO0FBQUEsR0FBcEI7QUFDQTJCLE1BQUksY0FBSixFQUFvQjtBQUFBLFdBQUt6QixFQUFFQyxTQUFGLENBQVksWUFBTTtBQUFFLFVBQU1nQixLQUFLbkIsRUFBTCxtQkFBTjtBQUEyQyxLQUEvRCxDQUFMO0FBQUEsR0FBcEI7O0FBRUEyQixNQUFJLGNBQUosRUFBb0I7QUFBQSxXQUFLekIsRUFBRWMsTUFBRixDQUFTLFlBQU07QUFBRSxVQUFNRyxLQUFLbkIsRUFBTCxtQkFBTjtBQUFvRCxLQUFyRSxDQUFMO0FBQUEsR0FBcEI7O0FBRUEyQixNQUFJLGdCQUFKLEVBQXNCO0FBQUEsV0FDcEJ6QixFQUFFTSxTQUFGLENBQ0UsRUFBQ1ksTUFBSyxPQUFOLEVBQWVDLE9BQU0sQ0FBckIsRUFBd0JDLE9BQU0sQ0FBOUIsRUFBaUNDLE9BQU0sQ0FBdkMsRUFERixFQUVFdkIsc0JBQThCNEIsV0FBOUIsRUFGRixDQURvQjtBQUFBLEdBQXRCO0FBT0QsQ0FuQkQiLCJmaWxlIjoibWFjaGluZV9hdHRyaWJ1dGVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQge2Rlc2NyaWJlfSBmcm9tICdhdmEtc3BlYyc7XG5cbmNvbnN0IGpzc20gPSByZXF1aXJlKCcuLi8uLi8uLi9idWlsZC9qc3NtLmVzNS5qcycpLFxuICAgICAgc20gICA9IGpzc20uc207XG5cblxuXG5cblxuZGVzY3JpYmUoJ21hY2hpbmVfbmFtZScsIGFzeW5jIGl0ID0+IHtcblxuICBpdCgnYXRvbScsICAgICAgICAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2ZvbyA9IHNtYG1hY2hpbmVfbmFtZTogYm9iOyAgICBhLT5iO2A7IH0pICk7XG4gIGl0KCdxdW90ZWQgc3RyaW5nJywgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZm9vID0gc21gbWFjaGluZV9uYW1lOiBcImJvIGJcIjsgYS0+YjtgOyB9KSApO1xuXG4gIGl0KCdyZXR2YWwgY29ycmVjdCcsIHQgPT4gdC5pcyhcInRlc3R2YWxcIiwgc21gbWFjaGluZV9uYW1lOiB0ZXN0dmFsOyBhLT5iO2AubWFjaGluZV9uYW1lKCkgKSApO1xuXG59KTtcblxuXG5cblxuXG5kZXNjcmliZSgnbWFjaGluZV9hdXRob3InLCBhc3luYyBpdDIgPT4ge1xuXG4gIGl0Mignc2luZ2xlIGF0b20nLCAgICAgICAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2ZvbyA9IHNtYG1hY2hpbmVfYXV0aG9yOiBib2I7ICAgICAgICAgICAgICAgYS0+YjtgOyB9KSApO1xuICBpdDIoJ3NpbmdsZSBxdW90ZWQgc3RyaW5nJywgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF9mb28gPSBzbWBtYWNoaW5lX2F1dGhvcjogXCJibyBiXCI7ICAgICAgICAgICAgYS0+YjtgOyB9KSApO1xuICBpdDIoJ2F0b20gbGlzdCcsICAgICAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF9mb28gPSBzbWBtYWNoaW5lX2F1dGhvcjogW2JvYiBkb2Jic107ICAgICAgIGEtPmI7YDsgfSkgKTtcbiAgaXQyKCdxdW90ZWQgc3RyaW5nIGxpc3QnLCAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZm9vID0gc21gbWFjaGluZV9hdXRob3I6IFtcImJvIGJcIiBcImRvIGJic1wiXTsgYS0+YjtgOyB9KSApO1xuICBpdDIoJ21peGVkIGxpc3QgYS9xJywgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF9mb28gPSBzbWBtYWNoaW5lX2F1dGhvcjogW2JvYiBcImRvIGJic1wiXTsgICAgYS0+YjtgOyB9KSApO1xuICBpdDIoJ21peGVkIGxpc3QgcS9hJywgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF9mb28gPSBzbWBtYWNoaW5lX2F1dGhvcjogW1wiYm8gYlwiIGRvYmJzXTsgICAgYS0+YjtgOyB9KSApO1xuXG4gIGl0Mignc2luZ2xlIHJldHZhbCcsICAgdCA9PiB0LmRlZXBFcXVhbChbXCJ0ZXN0dmFsXCJdLCBzbWBtYWNoaW5lX2F1dGhvcjogdGVzdHZhbDsgYS0+YjtgLm1hY2hpbmVfYXV0aG9yKCkgKSApO1xuICBpdDIoJ211bHRpcGxlIHJldHZhbCcsIHQgPT4gdC5kZWVwRXF1YWwoWydib2InLCdkYXZpZCddLCBzbWBtYWNoaW5lX2F1dGhvcjogW2JvYiBkYXZpZF07IGEtPmI7YC5tYWNoaW5lX2F1dGhvcigpICkgKTtcblxufSk7XG5cblxuXG5cblxuZGVzY3JpYmUoJ21hY2hpbmVfY29udHJpYnV0b3InLCBhc3luYyBpdDMgPT4ge1xuXG4gIGl0MygnYXRvbScsICAgICAgICAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2NvbnRyaWJ1dG9yOiBib2I7ICAgICAgICAgICAgICAgYS0+YjtgOyB9KSApO1xuICBpdDMoJ3F1b3RlZCBzdHJpbmcnLCAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9jb250cmlidXRvcjogXCJibyBiXCI7ICAgICAgICAgICAgYS0+YjtgOyB9KSApO1xuICBpdDMoJ2F0b20gbGlzdCcsICAgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9jb250cmlidXRvcjogW2JvYiBkb2Jic107ICAgICAgIGEtPmI7YDsgfSkgKTtcbiAgaXQzKCdxdW90ZWQgc3RyaW5nIGxpc3QnLCB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgXyA9IHNtYG1hY2hpbmVfY29udHJpYnV0b3I6IFtcImJvIGJcIiBcImRvIGJic1wiXTsgYS0+YjtgOyB9KSApO1xuICBpdDMoJ21peGVkIGxpc3QgYS9xJywgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9jb250cmlidXRvcjogW2JvYiBcImRvIGJic1wiXTsgICAgYS0+YjtgOyB9KSApO1xuICBpdDMoJ21peGVkIGxpc3QgcS9hJywgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9jb250cmlidXRvcjogW1wiYm8gYlwiIGRvYmJzXTsgICAgYS0+YjtgOyB9KSApO1xuXG4gIGl0Mygnc2luZ2xlIHJldHZhbCcsICAgdCA9PlxuICAgIHQuZGVlcEVxdWFsKFtcInRlc3R2YWxcIl0sIHNtYG1hY2hpbmVfY29udHJpYnV0b3I6IHRlc3R2YWw7IGEtPmI7YC5tYWNoaW5lX2NvbnRyaWJ1dG9yKCkgKSApO1xuXG4gIGl0MygnbXVsdGlwbGUgcmV0dmFsJywgdCA9PlxuICAgIHQuZGVlcEVxdWFsKFsnYm9iJywnZGF2aWQnXSwgc21gbWFjaGluZV9jb250cmlidXRvcjogW2JvYiBkYXZpZF07IGEtPmI7YC5tYWNoaW5lX2NvbnRyaWJ1dG9yKCkgKSApO1xuXG59KTtcblxuXG5cblxuXG5kZXNjcmliZSgnbWFjaGluZV9jb21tZW50JywgYXN5bmMgaXQ0ID0+IHtcblxuICBpdDQoJ2F0b20nLCAgICAgICAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2ZvbyA9IHNtYG1hY2hpbmVfY29tbWVudDogYm9iOyAgICBhLT5iO2A7IH0pICk7XG4gIGl0NCgncXVvdGVkIHN0cmluZycsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZm9vID0gc21gbWFjaGluZV9jb21tZW50OiBcImJvIGJcIjsgYS0+YjtgOyB9KSApO1xuXG4gIGl0NCgncmV0dmFsIGNvcnJlY3QnLCB0ID0+IHQuaXMoXCJ0ZXN0dmFsXCIsIHNtYG1hY2hpbmVfY29tbWVudDogdGVzdHZhbDsgYS0+YjtgLm1hY2hpbmVfY29tbWVudCgpICkgKTtcblxufSk7XG5cblxuXG5cblxuZGVzY3JpYmUoJ21hY2hpbmVfZGVmaW5pdGlvbicsIGFzeW5jIGl0NSA9PiB7XG5cbiAgaXQ1KCd1cmwnLCB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2ZvbyA9IHNtYG1hY2hpbmVfZGVmaW5pdGlvbjogaHR0cDovL2dvb2dsZS5jb20vIDsgYS0+YjtgOyB9KSApO1xuICBpdDUoJ3VybCcsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZm9vID0gc21gbWFjaGluZV9kZWZpbml0aW9uOiBodHRwOi8vZ29vZ2xlLmNvbS8gOyBhLT5iO2A7IH0pICk7XG4gIGl0NSgndXJsJywgdCA9PiB0LnRocm93cyggICAoKSA9PiB7IGNvbnN0IF9mb28gPSBzbWBtYWNoaW5lX2RlZmluaXRpb246IFwibm90IGEgdXJsXCI7ICAgICAgICAgYS0+YjtgOyB9KSApO1xuXG4gIGl0NSgncmV0dmFsIGNvcnJlY3QnLCB0ID0+XG4gICAgdC5pcyhcImh0dHA6Ly9nb29nbGUuY29tL1wiLCBzbWBtYWNoaW5lX2RlZmluaXRpb246IGh0dHA6Ly9nb29nbGUuY29tLyA7IGEtPmI7YC5tYWNoaW5lX2RlZmluaXRpb24oKSApICk7XG5cbn0pO1xuXG5cblxuXG5cbmRlc2NyaWJlKCdtYWNoaW5lX3ZlcnNpb24nLCBhc3luYyBpdDYgPT4ge1xuXG4gIGl0Nignc2VtdmVyIDAuMC4wJywgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF9mID0gc21gbWFjaGluZV92ZXJzaW9uOiAwLjAuMDsgYS0+YjtgOyB9KSApO1xuICBpdDYoJ3NlbXZlciAwLjAuMScsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZiA9IHNtYG1hY2hpbmVfdmVyc2lvbjogMC4wLjE7IGEtPmI7YDsgfSkgKTtcbiAgaXQ2KCdzZW12ZXIgMC4xLjAnLCB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2YgPSBzbWBtYWNoaW5lX3ZlcnNpb246IDAuMS4wOyBhLT5iO2A7IH0pICk7XG4gIGl0Nignc2VtdmVyIDEuMC4wJywgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF9mID0gc21gbWFjaGluZV92ZXJzaW9uOiAxLjAuMDsgYS0+YjtgOyB9KSApO1xuICBpdDYoJ3NlbXZlciAxLjAuMScsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZiA9IHNtYG1hY2hpbmVfdmVyc2lvbjogMS4wLjE7IGEtPmI7YDsgfSkgKTtcbiAgaXQ2KCdzZW12ZXIgMS4xLjEnLCB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgX2YgPSBzbWBtYWNoaW5lX3ZlcnNpb246IDEuMS4xOyBhLT5iO2A7IH0pICk7XG4gIGl0Nignc2VtdmVyIDIuMC4wJywgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF9mID0gc21gbWFjaGluZV92ZXJzaW9uOiAyLjAuMDsgYS0+YjtgOyB9KSApO1xuXG4gIGl0Nignc2VtdmVyIG5vdEFTJywgdCA9PiB0LnRocm93cygoKSA9PiB7IGNvbnN0IF9mID0gc21gbWFjaGluZV92ZXJzaW9uOiBcIk5vdCBhIHNlbXZlclwiOyBhLT5iO2A7IH0pICk7XG5cbiAgaXQ2KCdyZXR2YWwgY29ycmVjdCcsIHQgPT5cbiAgICB0LmRlZXBFcXVhbChcbiAgICAgIHtmdWxsOlwiMC4wLjBcIiwgbWFqb3I6MCwgbWlub3I6MCwgcGF0Y2g6MH0sXG4gICAgICBzbWBtYWNoaW5lX3ZlcnNpb246IDAuMC4wOyBhLT5iO2AubWFjaGluZV92ZXJzaW9uKClcbiAgICApXG4gICk7XG5cblxufSk7XG5cblxuXG5cblxuZGVzY3JpYmUoJ21hY2hpbmVfbGljZW5zZScsIGFzeW5jIG9pdCA9PiB7XG5cbiAgb2l0KCdyZXR2YWwgY29ycmVjdCcsIHQgPT4gdC5pcyhcInRlc3R2YWxcIiwgc21gbWFjaGluZV9saWNlbnNlOiB0ZXN0dmFsOyBhLT5iO2AubWFjaGluZV9saWNlbnNlKCkgKSApO1xuXG4gIGRlc2NyaWJlKCduZWFyJywgYXN5bmMgaXQgPT4ge1xuICAgIGl0KCdQdWJsaWMgZG9tYWluJywgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9saWNlbnNlOlB1YmxpYyBkb21haW47ICAgICBhLT5iO2A7IH0pICk7XG4gICAgaXQoJ01JVCcsICAgICAgICAgICAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2xpY2Vuc2U6TUlUOyAgICAgICAgICAgICAgIGEtPmI7YDsgfSkgKTtcbiAgICBpdCgnQlNEIDItY2xhdXNlJywgICAgICAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgXyA9IHNtYG1hY2hpbmVfbGljZW5zZTpCU0QgMi1jbGF1c2U7ICAgICAgYS0+YjtgOyB9KSApO1xuICAgIGl0KCdCU0QgMy1jbGF1c2UnLCAgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9saWNlbnNlOkJTRCAzLWNsYXVzZTsgICAgICBhLT5iO2A7IH0pICk7XG4gICAgaXQoJ0FwYWNoZSAyLjAnLCAgICAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2xpY2Vuc2U6QXBhY2hlIDIuMDsgICAgICAgIGEtPmI7YDsgfSkgKTtcbiAgICBpdCgnTW96aWxsYSAyLjAnLCAgICAgICAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgXyA9IHNtYG1hY2hpbmVfbGljZW5zZTpNb3ppbGxhIDIuMDsgICAgICAgYS0+YjtgOyB9KSApO1xuICAgIGl0KCdHUEwgdjInLCAgICAgICAgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9saWNlbnNlOkdQTCB2MjsgICAgICAgICAgICBhLT5iO2A7IH0pICk7XG4gICAgaXQoJ0dQTCB2MycsICAgICAgICAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2xpY2Vuc2U6R1BMIHYzOyAgICAgICAgICAgIGEtPmI7YDsgfSkgKTtcbiAgICBpdCgnTEdQTCB2Mi4xJywgICAgICAgICAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgXyA9IHNtYG1hY2hpbmVfbGljZW5zZTpMR1BMIHYyLjE7ICAgICAgICAgYS0+YjtgOyB9KSApO1xuICAgIGl0KCdMR1BMIHYzLjAnLCAgICAgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9saWNlbnNlOkxHUEwgdjMuMDsgICAgICAgICBhLT5iO2A7IH0pICk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzcGFjZWQnLCBhc3luYyBpdCA9PiB7XG4gICAgaXQoJ1B1YmxpYyBkb21haW4nLCAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2xpY2Vuc2U6IFB1YmxpYyBkb21haW4gOyAgIGEtPmI7YDsgfSkgKTtcbiAgICBpdCgnTUlUJywgICAgICAgICAgICAgICAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgXyA9IHNtYG1hY2hpbmVfbGljZW5zZTogTUlUIDsgICAgICAgICAgICAgYS0+YjtgOyB9KSApO1xuICAgIGl0KCdCU0QgMi1jbGF1c2UnLCAgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9saWNlbnNlOiBCU0QgMi1jbGF1c2UgOyAgICBhLT5iO2A7IH0pICk7XG4gICAgaXQoJ0JTRCAzLWNsYXVzZScsICAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2xpY2Vuc2U6IEJTRCAzLWNsYXVzZSA7ICAgIGEtPmI7YDsgfSkgKTtcbiAgICBpdCgnQXBhY2hlIDIuMCcsICAgICAgICAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgXyA9IHNtYG1hY2hpbmVfbGljZW5zZTogQXBhY2hlIDIuMCA7ICAgICAgYS0+YjtgOyB9KSApO1xuICAgIGl0KCdNb3ppbGxhIDIuMCcsICAgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9saWNlbnNlOiBNb3ppbGxhIDIuMCA7ICAgICBhLT5iO2A7IH0pICk7XG4gICAgaXQoJ0dQTCB2MicsICAgICAgICAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2xpY2Vuc2U6IEdQTCB2MiA7ICAgICAgICAgIGEtPmI7YDsgfSkgKTtcbiAgICBpdCgnR1BMIHYzJywgICAgICAgICAgICAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgY29uc3QgXyA9IHNtYG1hY2hpbmVfbGljZW5zZTogR1BMIHYzIDsgICAgICAgICAgYS0+YjtgOyB9KSApO1xuICAgIGl0KCdMR1BMIHYyLjEnLCAgICAgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9saWNlbnNlOiBMR1BMIHYyLjEgOyAgICAgICBhLT5iO2A7IH0pICk7XG4gICAgaXQoJ0xHUEwgdjMuMCcsICAgICAgICAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2xpY2Vuc2U6IExHUEwgdjMuMCA7ICAgICAgIGEtPmI7YDsgfSkgKTtcbiAgfSk7XG5cbiAgb2l0KCdzaW5nbGUgYXRvbScsICAgICAgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfID0gc21gbWFjaGluZV9saWNlbnNlOiBib2I7ICAgICAgICAgICAgICAgYS0+YjtgOyB9KSApO1xuICBvaXQoJ3NpbmdsZSBxdW90ZWQgc3RyaW5nJywgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF8gPSBzbWBtYWNoaW5lX2xpY2Vuc2U6IFwiYm8gYlwiOyAgICAgICAgICAgIGEtPmI7YDsgfSkgKTtcblxufSk7XG5cblxuXG5cblxuZGVzY3JpYmUoJ2ZzbF92ZXJzaW9uJywgYXN5bmMgaXQ3ID0+IHtcblxuICBpdDcoJ3NlbXZlciAwLjAuMCcsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZiA9IHNtYGZzbF92ZXJzaW9uOiAwLjAuMDsgYS0+YjtgOyB9KSApO1xuICBpdDcoJ3NlbXZlciAwLjAuMScsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZiA9IHNtYGZzbF92ZXJzaW9uOiAwLjAuMTsgYS0+YjtgOyB9KSApO1xuICBpdDcoJ3NlbXZlciAwLjEuMCcsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZiA9IHNtYGZzbF92ZXJzaW9uOiAwLjEuMDsgYS0+YjtgOyB9KSApO1xuICBpdDcoJ3NlbXZlciAxLjAuMCcsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZiA9IHNtYGZzbF92ZXJzaW9uOiAxLjAuMDsgYS0+YjtgOyB9KSApO1xuICBpdDcoJ3NlbXZlciAxLjAuMScsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZiA9IHNtYGZzbF92ZXJzaW9uOiAxLjAuMTsgYS0+YjtgOyB9KSApO1xuICBpdDcoJ3NlbXZlciAxLjEuMScsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZiA9IHNtYGZzbF92ZXJzaW9uOiAxLjEuMTsgYS0+YjtgOyB9KSApO1xuICBpdDcoJ3NlbXZlciAyLjAuMCcsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZiA9IHNtYGZzbF92ZXJzaW9uOiAyLjAuMDsgYS0+YjtgOyB9KSApO1xuXG4gIGl0Nygnc2VtdmVyIG5vdEFTJywgdCA9PiB0LnRocm93cygoKSA9PiB7IGNvbnN0IF9mID0gc21gZnNsX3ZlcnNpb246IFwiTm90IGEgc2VtdmVyXCI7IGEtPmI7YDsgfSkgKTtcblxuICBpdDcoJ3JldHZhbCBjb3JyZWN0JywgdCA9PlxuICAgIHQuZGVlcEVxdWFsKFxuICAgICAge2Z1bGw6XCIwLjAuMFwiLCBtYWpvcjowLCBtaW5vcjowLCBwYXRjaDowfSxcbiAgICAgIHNtYGZzbF92ZXJzaW9uOiAwLjAuMDsgYS0+YjtgLmZzbF92ZXJzaW9uKClcbiAgICApXG4gICk7XG5cbn0pO1xuIl19 \ No newline at end of file diff --git a/dist/jssm.es5.cjs.js b/dist/jssm.es5.cjs.js index 6b78dcba..9f3ba087 100644 --- a/dist/jssm.es5.cjs.js +++ b/dist/jssm.es5.cjs.js @@ -94,7 +94,7 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr var parse = require('./jssm-dot.js').parse; // eslint-disable-line flowtype/no-weak-types // todo whargarbl remove any -var version = '5.6.0'; // replaced from package.js in build +var version = '5.7.0'; // replaced from package.js in build function arrow_direction(arrow) { @@ -261,6 +261,7 @@ function compile(tree) { machine_definition: [], machine_license: [], machine_name: [], + machine_reference: [], machine_version: [] }; @@ -280,7 +281,7 @@ function compile(tree) { transitions: assembled_transitions }; - var oneOnlyKeys = ['graph_layout', 'machine_name', 'machine_version', 'machine_comment', 'fsl_version', 'machine_license']; + var oneOnlyKeys = ['graph_layout', 'machine_name', 'machine_version', 'machine_comment', 'fsl_version', 'machine_license', 'machine_definition']; oneOnlyKeys.map(function (oneOnlyKey) { if (results[oneOnlyKey].length > 1) { @@ -292,7 +293,7 @@ function compile(tree) { } }); - ['machine_author'].map(function (multiKey) { + ['machine_author', 'machine_contributor', 'machine_reference'].map(function (multiKey) { if (results[multiKey].length) { result_cfg[multiKey] = results[multiKey]; } @@ -315,6 +316,14 @@ var Machine = function () { _ref2$complete = _ref2.complete, complete = _ref2$complete === undefined ? [] : _ref2$complete, transitions = _ref2.transitions, + machine_author = _ref2.machine_author, + machine_comment = _ref2.machine_comment, + machine_contributor = _ref2.machine_contributor, + machine_definition = _ref2.machine_definition, + machine_license = _ref2.machine_license, + machine_name = _ref2.machine_name, + machine_version = _ref2.machine_version, + fsl_version = _ref2.fsl_version, _ref2$graph_layout = _ref2.graph_layout, graph_layout = _ref2$graph_layout === undefined ? 'dot' : _ref2$graph_layout; @@ -329,6 +338,15 @@ var Machine = function () { this._reverse_actions = new Map(); this._reverse_action_targets = new Map(); // todo + this._machine_author = machine_author; + this._machine_comment = machine_comment; + this._machine_contributor = machine_contributor; + this._machine_definition = machine_definition; + this._machine_license = machine_license; + this._machine_name = machine_name; + this._machine_version = machine_version; + this._fsl_version = fsl_version; + this._graph_layout = graph_layout; transitions.map(function (tr) { @@ -472,7 +490,47 @@ var Machine = function () { }, { key: 'graph_layout', value: function graph_layout() { - return String(this._graph_layout); + return this._graph_layout; + } + }, { + key: 'machine_author', + value: function machine_author() { + return this._machine_author; + } + }, { + key: 'machine_comment', + value: function machine_comment() { + return this._machine_comment; + } + }, { + key: 'machine_contributor', + value: function machine_contributor() { + return this._machine_contributor; + } + }, { + key: 'machine_definition', + value: function machine_definition() { + return this._machine_definition; + } + }, { + key: 'machine_license', + value: function machine_license() { + return this._machine_license; + } + }, { + key: 'machine_name', + value: function machine_name() { + return this._machine_name; + } + }, { + key: 'machine_version', + value: function machine_version() { + return this._machine_version; + } + }, { + key: 'fsl_version', + value: function fsl_version() { + return this._fsl_version; } }, { key: 'machine_state', diff --git a/dist/jssm.es5.cjs.min.js b/dist/jssm.es5.cjs.min.js index b8f5db47..e1803e82 100644 --- a/dist/jssm.es5.cjs.min.js +++ b/dist/jssm.es5.cjs.min.js @@ -1 +1 @@ -require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n||e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o0){for(i=1,j=1;ipeg$maxFailPos&&(peg$maxFailPos=peg$currPos,peg$maxFailExpected=[]),peg$maxFailExpected.push(expected))}function peg$buildStructuredError(expected,found,location){return new peg$SyntaxError(peg$SyntaxError.buildMessage(expected,found),expected,found,location)}function peg$parseDocument(){var s0,s1,s2,s3;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED&&(s2=peg$parseTermList())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c0(s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseGvizShape(){var s0;return input.substr(peg$currPos,6)===peg$c1?(s0=peg$c1,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c2)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c3?(s0=peg$c3,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c4)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c5?(s0=peg$c5,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c6)))),s0}function peg$parseForwardLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c8?(s0=peg$c8,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c9)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c7),s0}function peg$parseTwoWayLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c11?(s0=peg$c11,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c12)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c10),s0}function peg$parseBackLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c14?(s0=peg$c14,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c15)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c13),s0}function peg$parseForwardFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c17?(s0=peg$c17,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c18)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c16),s0}function peg$parseTwoWayFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c20?(s0=peg$c20,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c21)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c19),s0}function peg$parseBackFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c23?(s0=peg$c23,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c24)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c22),s0}function peg$parseForwardTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c26?(s0=peg$c26,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c27)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c25),s0}function peg$parseTwoWayTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c29?(s0=peg$c29,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c30)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c28),s0}function peg$parseBackTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c32?(s0=peg$c32,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c33)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c31),s0}function peg$parseLightFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c35?(s0=peg$c35,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c36)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c34),s0}function peg$parseLightTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c38?(s0=peg$c38,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c39)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c37),s0}function peg$parseFatLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c41?(s0=peg$c41,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c42)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c40),s0}function peg$parseFatTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c44?(s0=peg$c44,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c45)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c43),s0}function peg$parseTildeLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c47?(s0=peg$c47,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c48)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c46),s0}function peg$parseTildeFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c50?(s0=peg$c50,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c51)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c49),s0}function peg$parseLightArrow(){var s0;return peg$silentFails++,(s0=peg$parseForwardLightArrow())===peg$FAILED&&(s0=peg$parseTwoWayLightArrow())===peg$FAILED&&(s0=peg$parseBackLightArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c52),s0}function peg$parseFatArrow(){var s0;return peg$silentFails++,(s0=peg$parseForwardFatArrow())===peg$FAILED&&(s0=peg$parseTwoWayFatArrow())===peg$FAILED&&(s0=peg$parseBackFatArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c53),s0}function peg$parseTildeArrow(){var s0;return peg$silentFails++,(s0=peg$parseForwardTildeArrow())===peg$FAILED&&(s0=peg$parseTwoWayTildeArrow())===peg$FAILED&&(s0=peg$parseBackTildeArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c54),s0}function peg$parseMixedArrow(){var s0;return peg$silentFails++,(s0=peg$parseLightFatArrow())===peg$FAILED&&(s0=peg$parseLightTildeArrow())===peg$FAILED&&(s0=peg$parseFatLightArrow())===peg$FAILED&&(s0=peg$parseFatTildeArrow())===peg$FAILED&&(s0=peg$parseTildeLightArrow())===peg$FAILED&&(s0=peg$parseTildeFatArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c55),s0}function peg$parseArrow(){var s0;return peg$silentFails++,(s0=peg$parseMixedArrow())===peg$FAILED&&(s0=peg$parseLightArrow())===peg$FAILED&&(s0=peg$parseFatArrow())===peg$FAILED&&(s0=peg$parseTildeArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c56),s0}function peg$parseHexDigit(){var s0;return peg$c57.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c58)),s0}function peg$parseChar(){var s0,s2,s3,s4,s5,s6,s7,s8,s9;return(s0=peg$parseUnescaped())===peg$FAILED&&(s0=peg$currPos,peg$parseEscape()!==peg$FAILED?(34===input.charCodeAt(peg$currPos)?(s2=peg$c59,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c60)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c61,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c62)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c63,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c64)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c65,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c66)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c67()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c68,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c69)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c70()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c71,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c72)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c73()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c74,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c75)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c76()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c77,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c78)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c79()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c80,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c81)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c82()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c83,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c84)),s3!==peg$FAILED?(s4=peg$currPos,s5=peg$currPos,(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED&&(s8=peg$parseHexDigit())!==peg$FAILED&&(s9=peg$parseHexDigit())!==peg$FAILED?s5=s6=[s6,s7,s8,s9]:(peg$currPos=s5,s5=peg$FAILED),(s4=s5!==peg$FAILED?input.substring(s4,peg$currPos):s5)!==peg$FAILED?(peg$savedPos=s2,s2=s3=peg$c85(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c86(s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseEscape(){var s0;return 92===input.charCodeAt(peg$currPos)?(s0=peg$c61,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c62)),s0}function peg$parseQuoteMark(){var s0;return 34===input.charCodeAt(peg$currPos)?(s0=peg$c59,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c60)),s0}function peg$parseUnescaped(){var s0;return peg$c87.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c88)),s0}function peg$parseActionLabelChar(){var s0,s2,s3,s4,s5,s6,s7,s8,s9;return(s0=peg$parseActionLabelUnescaped())===peg$FAILED&&(s0=peg$currPos,peg$parseEscape()!==peg$FAILED?(39===input.charCodeAt(peg$currPos)?(s2=peg$c89,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c90)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c61,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c62)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c63,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c64)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c65,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c66)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c67()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c68,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c69)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c70()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c71,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c72)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c73()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c74,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c75)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c76()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c77,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c78)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c79()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c80,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c81)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c82()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c83,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c84)),s3!==peg$FAILED?(s4=peg$currPos,s5=peg$currPos,(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED&&(s8=peg$parseHexDigit())!==peg$FAILED&&(s9=peg$parseHexDigit())!==peg$FAILED?s5=s6=[s6,s7,s8,s9]:(peg$currPos=s5,s5=peg$FAILED),(s4=s5!==peg$FAILED?input.substring(s4,peg$currPos):s5)!==peg$FAILED?(peg$savedPos=s2,s2=s3=peg$c85(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c86(s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseActionLabelQuoteMark(){var s0;return 39===input.charCodeAt(peg$currPos)?(s0=peg$c89,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c90)),s0}function peg$parseActionLabelUnescaped(){var s0;return peg$c91.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c92)),s0}function peg$parseActionLabel(){var s0,s2,s3;if(peg$silentFails++,s0=peg$currPos,peg$parseActionLabelQuoteMark()!==peg$FAILED){for(s2=[],s3=peg$parseActionLabelChar();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseActionLabelChar();s2!==peg$FAILED&&(s3=peg$parseActionLabelQuoteMark())!==peg$FAILED?(peg$savedPos=s0,s0=peg$c94(s2)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c93),s0}function peg$parseLineTerminator(){var s0;return peg$c95.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c96)),s0}function peg$parseBlockCommentTail(){var s0,s1,s2;return input.substr(peg$currPos,2)===peg$c99?(s0=peg$c99,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c100)),s0===peg$FAILED&&(s0=peg$currPos,input.length>peg$currPos?(s1=input.charAt(peg$currPos),peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c101)),s1!==peg$FAILED&&(s2=peg$parseBlockCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseBlockComment(){var s0,s1,s2;return s0=peg$currPos,input.substr(peg$currPos,2)===peg$c102?(s1=peg$c102,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c103)),s1!==peg$FAILED&&(s2=peg$parseBlockCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseEOF(){var s0,s1;return s0=peg$currPos,peg$silentFails++,input.length>peg$currPos?(s1=input.charAt(peg$currPos),peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c101)),peg$silentFails--,s1===peg$FAILED?s0=void 0:(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseLineCommentTail(){var s0,s1,s2;return(s0=peg$parseLineTerminator())===peg$FAILED&&(s0=peg$parseEOF())===peg$FAILED&&(s0=peg$currPos,input.length>peg$currPos?(s1=input.charAt(peg$currPos),peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c101)),s1!==peg$FAILED&&(s2=peg$parseLineCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseLineComment(){var s0,s1,s2;return s0=peg$currPos,input.substr(peg$currPos,2)===peg$c104?(s1=peg$c104,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c105)),s1!==peg$FAILED&&(s2=peg$parseLineCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseWS(){var s0,s1,s2;if(s0=peg$currPos,(s1=peg$parseBlockComment())!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0===peg$FAILED&&(s0=peg$currPos,(s1=peg$parseLineComment())!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0===peg$FAILED)){if(s0=peg$currPos,s1=[],peg$c106.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c107)),s2!==peg$FAILED)for(;s2!==peg$FAILED;)s1.push(s2),peg$c106.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c107));else s1=peg$FAILED;s1!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)}return s0}function peg$parseString(){var s0,s2,s3;if(peg$silentFails++,s0=peg$currPos,peg$parseQuoteMark()!==peg$FAILED){for(s2=[],s3=peg$parseChar();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseChar();s2!==peg$FAILED&&(s3=peg$parseQuoteMark())!==peg$FAILED?(peg$savedPos=s0,s0=peg$c94(s2)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c108),s0}function peg$parseAtom(){var s0,s1,s2;if(peg$silentFails++,s0=peg$currPos,s1=[],peg$c110.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c111)),s2!==peg$FAILED)for(;s2!==peg$FAILED;)s1.push(s2),peg$c110.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c111));else s1=peg$FAILED;return s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c112(s1)),s0=s1,peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c109)),s0}function peg$parseLabel(){var s0;return peg$silentFails++,(s0=peg$parseAtom())===peg$FAILED&&(s0=peg$parseString()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c113),s0}function peg$parseIntegerLiteral(){var s0,s1,s2,s3;if(48===input.charCodeAt(peg$currPos)?(s0=peg$c114,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c115)),s0===peg$FAILED)if(s0=peg$currPos,(s1=peg$parseNonZeroDigit())!==peg$FAILED){for(s2=[],s3=peg$parseDecimalDigit();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseDecimalDigit();s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return s0}function peg$parseDecimalDigit(){var s0;return peg$c116.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c117)),s0}function peg$parseNonZeroDigit(){var s0;return peg$c118.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c119)),s0}function peg$parseNonNegNumber(){var s0,s2,s3,s4;if(peg$silentFails++,s0=peg$currPos,peg$parseIntegerLiteral()!==peg$FAILED)if(46===input.charCodeAt(peg$currPos)?(s2=peg$c121,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c122)),s2!==peg$FAILED){for(s3=[],s4=peg$parseDecimalDigit();s4!==peg$FAILED;)s3.push(s4),s4=peg$parseDecimalDigit();s3!==peg$FAILED?((s4=peg$parseWS())===peg$FAILED&&(s4=null),s4!==peg$FAILED?(peg$savedPos=s0,s0=peg$c123()):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;else peg$currPos=s0,s0=peg$FAILED;return s0===peg$FAILED&&(s0=peg$currPos,peg$parseIntegerLiteral()!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c123()):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c120),s0}function peg$parseSemVer(){var s0,s1,s2,s3,s4,s5;return s0=peg$currPos,(s1=peg$parseIntegerLiteral())!==peg$FAILED?(46===input.charCodeAt(peg$currPos)?(s2=peg$c121,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c122)),s2!==peg$FAILED&&(s3=peg$parseIntegerLiteral())!==peg$FAILED?(46===input.charCodeAt(peg$currPos)?(s4=peg$c121,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c122)),s4!==peg$FAILED&&(s5=peg$parseIntegerLiteral())!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c124(s1,s3,s5)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseUrlProtocol(){var s0;return input.substr(peg$currPos,7)===peg$c135?(s0=peg$c135,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c136)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c137?(s0=peg$c137,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c138))),s0}function peg$parseURL(){var s0,s1,s2,s3;if(s0=peg$currPos,(s1=peg$parseUrlProtocol())!==peg$FAILED){if(s2=[],peg$c139.test(input.charAt(peg$currPos))?(s3=input.charAt(peg$currPos),peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c140)),s3!==peg$FAILED)for(;s3!==peg$FAILED;)s2.push(s3),peg$c139.test(input.charAt(peg$currPos))?(s3=input.charAt(peg$currPos),peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c140));else s2=peg$FAILED;s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c141(s1)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return s0}function peg$parseSvgColorLabel(){var s0,s1;return s0=peg$currPos,input.substr(peg$currPos,9)===peg$c142?(s1=peg$c142,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c143)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c144()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c145?(s1=peg$c145,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c146)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c144()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c147?(s1=peg$c147,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c148)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c149()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c150?(s1=peg$c150,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c151)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c149()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c152?(s1=peg$c152,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c153)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c154()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c155?(s1=peg$c155,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c156)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c154()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c157?(s1=peg$c157,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c158)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c159()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c160?(s1=peg$c160,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c161)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c159()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c162?(s1=peg$c162,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c163)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c164()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c165?(s1=peg$c165,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c166)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c164()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c167?(s1=peg$c167,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c168)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c169()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c170?(s1=peg$c170,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c171)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c169()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c172?(s1=peg$c172,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c173)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c174()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c175?(s1=peg$c175,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c176)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c174()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c177?(s1=peg$c177,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c178)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c179()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c180?(s1=peg$c180,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c181)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c179()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c182?(s1=peg$c182,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c183)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c184()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c185?(s1=peg$c185,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c186)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c184()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c187?(s1=peg$c187,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c188)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c189()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c190?(s1=peg$c190,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c191)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c189()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c192?(s1=peg$c192,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c193)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c194()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c195?(s1=peg$c195,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c196)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c194()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c197?(s1=peg$c197,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c198)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c199()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c200?(s1=peg$c200,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c201)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c199()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c202?(s1=peg$c202,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c203)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c204()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c205?(s1=peg$c205,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c206)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c204()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c207?(s1=peg$c207,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c208)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c209()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c210?(s1=peg$c210,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c211)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c209()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c212?(s1=peg$c212,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c213)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c214()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c215?(s1=peg$c215,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c216)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c214()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c217?(s1=peg$c217,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c218)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c219()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c220?(s1=peg$c220,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c221)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c219()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c222?(s1=peg$c222,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c223)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c224()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c225?(s1=peg$c225,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c226)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c224()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c227?(s1=peg$c227,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c228)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c229()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c230?(s1=peg$c230,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c231)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c229()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c232?(s1=peg$c232,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c233)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c234()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c235?(s1=peg$c235,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c236)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c234()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c237?(s1=peg$c237,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c238)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c239()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c240?(s1=peg$c240,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c241)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c239()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c242?(s1=peg$c242,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c243)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c154()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c244?(s1=peg$c244,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c245)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c154()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c246?(s1=peg$c246,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c247)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c248()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c249?(s1=peg$c249,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c250)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c248()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c251?(s1=peg$c251,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c252)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c253()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c254?(s1=peg$c254,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c255)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c253()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c256?(s1=peg$c256,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c257)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c258()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c259?(s1=peg$c259,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c260)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c258()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c261?(s1=peg$c261,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c262)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c263()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c264?(s1=peg$c264,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c265)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c263()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c266?(s1=peg$c266,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c267)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c263()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c268?(s1=peg$c268,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c269)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c263()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c270?(s1=peg$c270,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c271)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c272()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c273?(s1=peg$c273,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c274)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c272()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c275?(s1=peg$c275,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c276)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c277()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c278?(s1=peg$c278,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c279)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c277()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c280?(s1=peg$c280,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c281)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c282()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c283?(s1=peg$c283,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c284)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c282()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c285?(s1=peg$c285,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c286)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c287()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c288?(s1=peg$c288,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c289)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c287()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c290?(s1=peg$c290,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c291)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c292()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c293?(s1=peg$c293,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c294)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c292()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c295?(s1=peg$c295,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c296)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c297()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c298?(s1=peg$c298,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c299)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c297()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c300?(s1=peg$c300,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c301)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c302()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c303?(s1=peg$c303,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c304)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c302()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c305?(s1=peg$c305,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c306)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c307()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c308?(s1=peg$c308,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c309)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c307()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c310?(s1=peg$c310,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c311)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c312()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c313?(s1=peg$c313,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c314)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c312()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c315?(s1=peg$c315,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c316)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c317()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c318?(s1=peg$c318,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c319)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c317()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c320?(s1=peg$c320,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c321)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c322()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c323?(s1=peg$c323,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c324)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c322()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c325?(s1=peg$c325,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c326)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c322()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c327?(s1=peg$c327,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c328)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c322()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c329?(s1=peg$c329,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c330)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c331()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c332?(s1=peg$c332,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c333)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c331()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c334?(s1=peg$c334,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c335)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c336()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c337?(s1=peg$c337,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c338)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c336()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c339?(s1=peg$c339,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c340)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c341()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c342?(s1=peg$c342,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c343)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c341()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c344?(s1=peg$c344,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c345)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c346()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c347?(s1=peg$c347,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c348)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c346()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c349?(s1=peg$c349,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c350)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c351()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c352?(s1=peg$c352,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c353)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c351()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c354?(s1=peg$c354,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c355)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c351()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c356?(s1=peg$c356,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c357)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c351()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c358?(s1=peg$c358,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c359)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c360()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c361?(s1=peg$c361,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c362)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c360()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c363?(s1=peg$c363,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c364)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c365()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c366?(s1=peg$c366,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c367)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c365()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c368?(s1=peg$c368,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c369)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c370()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c371?(s1=peg$c371,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c372)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c370()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c373?(s1=peg$c373,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c374)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c375()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c376?(s1=peg$c376,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c377)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c375()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c378?(s1=peg$c378,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c379)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c380()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c381?(s1=peg$c381,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c382)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c380()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c383?(s1=peg$c383,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c384)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c385()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c386?(s1=peg$c386,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c387)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c385()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c388?(s1=peg$c388,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c389)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c390()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c391?(s1=peg$c391,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c392)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c390()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c393?(s1=peg$c393,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c394)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c395()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c396?(s1=peg$c396,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c397)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c395()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c398?(s1=peg$c398,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c399)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c400()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c401?(s1=peg$c401,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c402)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c400()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c403?(s1=peg$c403,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c404)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c405()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c406?(s1=peg$c406,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c407)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c405()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c408?(s1=peg$c408,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c409)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c405()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c410?(s1=peg$c410,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c411)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c405()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c412?(s1=peg$c412,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c413)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c414()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c415?(s1=peg$c415,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c416)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c414()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c417?(s1=peg$c417,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c418)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c419()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c420?(s1=peg$c420,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c421)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c419()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c422?(s1=peg$c422,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c423)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c424()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c425?(s1=peg$c425,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c426)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c424()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c427?(s1=peg$c427,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c428)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c429()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c430?(s1=peg$c430,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c431)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c429()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c432?(s1=peg$c432,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c433)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c434()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c435?(s1=peg$c435,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c436)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c434()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c437?(s1=peg$c437,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c438)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c439()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c440?(s1=peg$c440,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c441)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c439()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c442?(s1=peg$c442,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c443)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c444()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c445?(s1=peg$c445,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c446)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c444()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c447?(s1=peg$c447,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c448)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c449()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c450?(s1=peg$c450,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c451)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c449()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c452?(s1=peg$c452,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c453)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c454()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c455?(s1=peg$c455,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c456)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c454()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c457?(s1=peg$c457,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c458)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c459()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c460?(s1=peg$c460,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c461)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c459()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c462?(s1=peg$c462,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c463)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c464()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c465?(s1=peg$c465,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c466)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c464()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c467?(s1=peg$c467,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c468)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c469()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c470?(s1=peg$c470,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c471)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c469()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c472?(s1=peg$c472,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c473)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c474()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c475?(s1=peg$c475,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c476)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c474()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c477?(s1=peg$c477,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c478)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c479()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c480?(s1=peg$c480,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c481)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c479()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c482?(s1=peg$c482,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c483)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c484()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c485?(s1=peg$c485,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c486)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c484()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,20)===peg$c487?(s1=peg$c487,peg$currPos+=20):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c488)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c489()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,20)===peg$c490?(s1=peg$c490,peg$currPos+=20):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c491)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c489()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c492?(s1=peg$c492,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c493)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c494()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c495?(s1=peg$c495,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c496)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c494()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c497?(s1=peg$c497,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c498)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c494()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c499?(s1=peg$c499,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c500)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c494()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c501?(s1=peg$c501,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c502)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c503()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c504?(s1=peg$c504,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c505)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c503()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c506?(s1=peg$c506,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c507)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c508()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c509?(s1=peg$c509,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c510)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c508()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c511?(s1=peg$c511,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c512)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c513()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c514?(s1=peg$c514,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c515)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c513()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c516?(s1=peg$c516,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c517)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c518()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c519?(s1=peg$c519,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c520)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c518()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c521?(s1=peg$c521,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c522)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c523()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c524?(s1=peg$c524,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c525)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c523()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c526?(s1=peg$c526,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c527)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c528()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c529?(s1=peg$c529,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c530)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c528()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c531?(s1=peg$c531,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c532)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c528()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c533?(s1=peg$c533,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c534)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c528()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c535?(s1=peg$c535,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c536)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c537()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c538?(s1=peg$c538,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c539)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c537()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c540?(s1=peg$c540,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c541)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c542()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c543?(s1=peg$c543,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c544)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c542()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c545?(s1=peg$c545,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c546)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c547()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c548?(s1=peg$c548,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c549)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c547()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c550?(s1=peg$c550,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c551)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c552()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c553?(s1=peg$c553,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c554)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c552()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c555?(s1=peg$c555,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c556)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c557()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c558?(s1=peg$c558,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c559)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c557()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c560?(s1=peg$c560,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c561)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c380()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c562?(s1=peg$c562,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c563)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c380()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c564?(s1=peg$c564,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c565)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c566()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c567?(s1=peg$c567,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c568)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c566()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,16)===peg$c569?(s1=peg$c569,peg$currPos+=16):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c570)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c571()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,16)===peg$c572?(s1=peg$c572,peg$currPos+=16):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c573)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c571()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c574?(s1=peg$c574,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c575)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c576()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c577?(s1=peg$c577,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c578)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c576()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c579?(s1=peg$c579,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c580)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c581()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c582?(s1=peg$c582,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c583)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c581()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c584?(s1=peg$c584,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c585)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c586()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c587?(s1=peg$c587,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c588)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c586()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c589?(s1=peg$c589,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c590)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c591()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c592?(s1=peg$c592,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c593)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c591()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c594?(s1=peg$c594,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c595)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c596()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c597?(s1=peg$c597,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c598)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c596()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,17)===peg$c599?(s1=peg$c599,peg$currPos+=17):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c600)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c601()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,17)===peg$c602?(s1=peg$c602,peg$currPos+=17):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c603)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c601()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c604?(s1=peg$c604,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c605)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c606()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c607?(s1=peg$c607,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c608)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c606()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c609?(s1=peg$c609,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c610)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c611()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c612?(s1=peg$c612,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c613)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c611()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c614?(s1=peg$c614,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c615)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c616()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c617?(s1=peg$c617,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c618)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c616()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c619?(s1=peg$c619,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c620)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c621()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c622?(s1=peg$c622,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c623)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c621()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c624?(s1=peg$c624,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c625)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c626()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c627?(s1=peg$c627,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c628)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c626()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c629?(s1=peg$c629,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c630)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c631()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c632?(s1=peg$c632,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c633)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c631()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c634?(s1=peg$c634,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c635)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c636()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c637?(s1=peg$c637,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c638)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c636()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c639?(s1=peg$c639,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c640)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c641()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c642?(s1=peg$c642,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c643)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c641()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c644?(s1=peg$c644,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c645)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c646()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c647?(s1=peg$c647,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c648)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c646()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c649?(s1=peg$c649,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c650)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c651()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c652?(s1=peg$c652,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c653)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c651()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c654?(s1=peg$c654,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c655)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c656()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c657?(s1=peg$c657,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c658)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c656()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c659?(s1=peg$c659,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c660)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c661()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c662?(s1=peg$c662,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c663)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c661()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c664?(s1=peg$c664,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c665)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c666()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c667?(s1=peg$c667,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c668)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c666()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c669?(s1=peg$c669,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c670)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c671()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c672?(s1=peg$c672,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c673)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c671()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c674?(s1=peg$c674,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c675)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c676()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c677?(s1=peg$c677,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c678)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c676()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c679?(s1=peg$c679,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c680)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c681()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c682?(s1=peg$c682,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c683)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c681()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c684?(s1=peg$c684,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c685)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c686()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c687?(s1=peg$c687,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c688)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c686()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c689?(s1=peg$c689,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c690)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c691()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c692?(s1=peg$c692,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c693)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c691()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c694?(s1=peg$c694,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c695)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c696()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c697?(s1=peg$c697,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c698)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c696()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c699?(s1=peg$c699,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c700)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c701()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c702?(s1=peg$c702,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c703)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c701()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c704?(s1=peg$c704,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c705)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c706()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c707?(s1=peg$c707,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c708)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c706()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c709?(s1=peg$c709,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c710)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c711()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c712?(s1=peg$c712,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c713)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c711()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c714?(s1=peg$c714,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c715)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c716()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c717?(s1=peg$c717,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c718)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c716()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c719?(s1=peg$c719,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c720)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c721()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c722?(s1=peg$c722,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c723)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c721()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c724?(s1=peg$c724,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c725)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c726()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c727?(s1=peg$c727,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c728)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c726()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c729?(s1=peg$c729,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c730)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c731()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c732?(s1=peg$c732,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c733)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c731()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c734?(s1=peg$c734,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c735)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c736()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c737?(s1=peg$c737,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c738)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c736()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c739?(s1=peg$c739,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c740)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c741()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c742?(s1=peg$c742,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c743)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c741()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c744?(s1=peg$c744,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c745)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c746()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c747?(s1=peg$c747,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c748)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c746()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c749?(s1=peg$c749,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c750)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c751()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c752?(s1=peg$c752,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c753)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c751()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c754?(s1=peg$c754,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c755)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c756()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c757?(s1=peg$c757,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c758)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c756()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c759?(s1=peg$c759,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c760)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c761()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c762?(s1=peg$c762,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c763)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c761()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c764?(s1=peg$c764,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c765)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c766()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c767?(s1=peg$c767,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c768)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c766()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c769?(s1=peg$c769,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c770)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c771()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c772?(s1=peg$c772,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c773)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c771()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c774?(s1=peg$c774,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c775)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c776()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c777?(s1=peg$c777,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c778)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c776()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c779?(s1=peg$c779,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c780)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c781()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c782?(s1=peg$c782,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c783)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c781()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c784?(s1=peg$c784,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c785)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c786()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c787?(s1=peg$c787,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c788)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c786()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c789?(s1=peg$c789,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c790)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c791()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c792?(s1=peg$c792,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c793)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c791()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c794?(s1=peg$c794,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c795)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c791()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c796?(s1=peg$c796,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c797)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c791()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c798?(s1=peg$c798,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c799)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c800()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c801?(s1=peg$c801,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c802)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c800()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c803?(s1=peg$c803,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c804)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c805()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c806?(s1=peg$c806,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c807)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c805()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c808?(s1=peg$c808,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c809)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c810()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c811?(s1=peg$c811,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c812)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c810()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c813?(s1=peg$c813,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c814)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c815()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c816?(s1=peg$c816,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c817)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c815()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c818?(s1=peg$c818,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c819)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c820()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c821?(s1=peg$c821,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c822)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c820()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c823?(s1=peg$c823,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c824)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c825()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c826?(s1=peg$c826,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c827)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c825()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c828?(s1=peg$c828,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c829)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c830()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c831?(s1=peg$c831,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c832)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c830()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c833?(s1=peg$c833,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c834)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c835()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c836?(s1=peg$c836,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c837)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c835()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c838?(s1=peg$c838,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c839)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c840()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c841?(s1=peg$c841,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c842)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c840()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c843?(s1=peg$c843,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c844)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c845()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c846?(s1=peg$c846,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c847)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c845()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c848?(s1=peg$c848,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c849)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c850()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c851?(s1=peg$c851,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c852)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c850()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c853?(s1=peg$c853,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c854)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c855()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c856?(s1=peg$c856,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c857)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c855()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c858?(s1=peg$c858,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c859)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c860()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c861?(s1=peg$c861,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c862)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c860()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c863?(s1=peg$c863,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c864)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c865()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c866?(s1=peg$c866,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c867)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c865()),s0=s1))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s0}function peg$parseSvgColor(){var s0,s1,s2;return s0=peg$currPos,(s1=peg$parseSvgColorLabel())!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseRgb3(){var s0,s1,s2,s3,s4,s5;return s0=peg$currPos,35===input.charCodeAt(peg$currPos)?(s1=peg$c868,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(s2=peg$parseHexDigit())!==peg$FAILED&&(s3=peg$parseHexDigit())!==peg$FAILED&&(s4=peg$parseHexDigit())!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c870(s2,s3,s4)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseRgb6(){var s0,s1,s2,s3,s4,s5,s6,s7,s8;return s0=peg$currPos,35===input.charCodeAt(peg$currPos)?(s1=peg$c868,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(s2=peg$parseHexDigit())!==peg$FAILED&&(s3=peg$parseHexDigit())!==peg$FAILED&&(s4=peg$parseHexDigit())!==peg$FAILED&&(s5=peg$parseHexDigit())!==peg$FAILED&&(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED?((s8=peg$parseWS())===peg$FAILED&&(s8=null),s8!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c871(s2,s3,s4,s5,s6,s7)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseRgba4(){var s0,s1,s2,s3,s4,s5,s6;return s0=peg$currPos,35===input.charCodeAt(peg$currPos)?(s1=peg$c868,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(s2=peg$parseHexDigit())!==peg$FAILED&&(s3=peg$parseHexDigit())!==peg$FAILED&&(s4=peg$parseHexDigit())!==peg$FAILED&&(s5=peg$parseHexDigit())!==peg$FAILED?((s6=peg$parseWS())===peg$FAILED&&(s6=null),s6!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c872(s2,s3,s4,s5)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseRgba8(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10;return s0=peg$currPos,35===input.charCodeAt(peg$currPos)?(s1=peg$c868,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(s2=peg$parseHexDigit())!==peg$FAILED&&(s3=peg$parseHexDigit())!==peg$FAILED&&(s4=peg$parseHexDigit())!==peg$FAILED&&(s5=peg$parseHexDigit())!==peg$FAILED&&(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED&&(s8=peg$parseHexDigit())!==peg$FAILED&&(s9=peg$parseHexDigit())!==peg$FAILED?((s10=peg$parseWS())===peg$FAILED&&(s10=null),s10!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c873(s2,s3,s4,s5,s6,s7,s8,s9)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseColor(){var s0;return peg$silentFails++,(s0=peg$parseSvgColor())===peg$FAILED&&(s0=peg$parseRgb3())===peg$FAILED&&(s0=peg$parseRgb6())===peg$FAILED&&(s0=peg$parseRgba4())===peg$FAILED&&(s0=peg$parseRgba8()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c874),s0}function peg$parseArrowItemKey(){var s0;return input.substr(peg$currPos,9)===peg$c875?(s0=peg$c875,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c876)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c877?(s0=peg$c877,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c878)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c879?(s0=peg$c879,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c880)))),s0}function peg$parseArrowItem(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED&&(s2=peg$parseArrowItemKey())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabel())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c885(s2,s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseSingleEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return peg$silentFails++,s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c887?(s2=peg$c887,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c888)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseColor())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c889(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c886)),s0}function peg$parseArrowItems(){var s0,s1;if((s0=peg$parseSingleEdgeColor())===peg$FAILED)if(s0=[],(s1=peg$parseArrowItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseArrowItem();else s0=peg$FAILED;return s0}function peg$parseArrowDesc(){var s0,s1,s2,s3,s4,s5;return s0=peg$currPos,123===input.charCodeAt(peg$currPos)?(s1=peg$c890,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s1!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?((s3=peg$parseArrowItems())===peg$FAILED&&(s3=null),s3!==peg$FAILED?((s4=peg$parseWS())===peg$FAILED&&(s4=null),s4!==peg$FAILED?(125===input.charCodeAt(peg$currPos)?(s5=peg$c892,peg$currPos++):(s5=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c893)),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c894(s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseArrowProbability(){var s0,s1,s2;return s0=peg$currPos,(s1=peg$parseNonNegNumber())!==peg$FAILED?(37===input.charCodeAt(peg$currPos)?(s2=peg$c895,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c896)),s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c897(s1)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseLabelList(){var s0,s1,s2,s3,s4,s5,s6;if(s0=peg$currPos,91===input.charCodeAt(peg$currPos)?(s1=peg$c898,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c899)),s1!==peg$FAILED)if((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED){for(s3=[],s4=peg$currPos,(s5=peg$parseLabel())!==peg$FAILED?((s6=peg$parseWS())===peg$FAILED&&(s6=null),s6!==peg$FAILED?s4=s5=[s5,s6]:(peg$currPos=s4,s4=peg$FAILED)):(peg$currPos=s4,s4=peg$FAILED);s4!==peg$FAILED;)s3.push(s4),s4=peg$currPos,(s5=peg$parseLabel())!==peg$FAILED?((s6=peg$parseWS())===peg$FAILED&&(s6=null),s6!==peg$FAILED?s4=s5=[s5,s6]:(peg$currPos=s4,s4=peg$FAILED)):(peg$currPos=s4,s4=peg$FAILED);s3!==peg$FAILED?(93===input.charCodeAt(peg$currPos)?(s4=peg$c900,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c901)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c902(s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;else peg$currPos=s0,s0=peg$FAILED;return s0}function peg$parseLabelOrLabelList(){var s0;return(s0=peg$parseLabelList())===peg$FAILED&&(s0=peg$parseLabel()),s0}function peg$parseSubexp(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?((s2=peg$parseActionLabel())===peg$FAILED&&(s2=null),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?((s4=peg$parseArrowProbability())===peg$FAILED&&(s4=null),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?((s6=peg$parseArrowDesc())===peg$FAILED&&(s6=null),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED&&(s8=peg$parseArrow())!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?((s10=peg$parseArrowDesc())===peg$FAILED&&(s10=null),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?((s12=peg$parseArrowProbability())===peg$FAILED&&(s12=null),s12!==peg$FAILED?((s13=peg$parseWS())===peg$FAILED&&(s13=null),s13!==peg$FAILED?((s14=peg$parseActionLabel())===peg$FAILED&&(s14=null),s14!==peg$FAILED?((s15=peg$parseWS())===peg$FAILED&&(s15=null),s15!==peg$FAILED&&(s16=peg$parseLabelOrLabelList())!==peg$FAILED?((s17=peg$parseWS())===peg$FAILED&&(s17=null),s17!==peg$FAILED?((s18=peg$parseSubexp())===peg$FAILED&&(s18=null),s18!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c903(s2,s4,s6,s8,s10,s12,s14,s16,s18)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseExp(){var s0,s1,s2,s3,s4,s5;return s0=peg$currPos,(s1=peg$parseLabelOrLabelList())!==peg$FAILED&&(s2=peg$parseSubexp())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c883,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c904(s1,s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseValidationKey(){var s0;return input.substr(peg$currPos,9)===peg$c905?(s0=peg$c905,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c906)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c907?(s0=peg$c907,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c908))),s0}function peg$parseValidationItem(){var s0,s1,s2,s3,s4;return s0=peg$currPos,(s1=peg$parseValidationKey())!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s2=peg$c881,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c883,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c909(s1,s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseValidationItems(){var s0,s1;if(s0=[],(s1=peg$parseValidationItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseValidationItem();else s0=peg$FAILED;return s0}function peg$parseConfigValidation(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c910?(s2=peg$c910,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c911)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c890,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?((s8=peg$parseValidationItems())===peg$FAILED&&(s8=null),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(input.substr(peg$currPos,2)===peg$c912?(s10=peg$c912,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c913)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c914(s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseGvizLayout(){var s0;return input.substr(peg$currPos,3)===peg$c915?(s0=peg$c915,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c916)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c917?(s0=peg$c917,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c918)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c919?(s0=peg$c919,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c920)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c921?(s0=peg$c921,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c922))))),s0}function peg$parseStateItemShapeKey(){var s0;return input.substr(peg$currPos,8)===peg$c923?(s0=peg$c923,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c924)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c925?(s0=peg$c925,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c926)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c927?(s0=peg$c927,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c928)))),s0}function peg$parseStateItemShape(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED&&(s2=peg$parseStateItemShapeKey())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseGvizShape())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c885(s2,s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseStateItems(){var s0,s1;if(s0=[],(s1=peg$parseStateItemShape())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseStateItemShape();else s0=peg$FAILED;return s0}function peg$parseConfigState(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,5)===peg$c929?(s2=peg$c929,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c930)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c890,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?((s8=peg$parseStateItems())===peg$FAILED&&(s8=null),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(input.substr(peg$currPos,2)===peg$c912?(s10=peg$c912,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c913)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c931(s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseActionKey(){var s0;return input.substr(peg$currPos,9)===peg$c905?(s0=peg$c905,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c906)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c907?(s0=peg$c907,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c908))),s0}function peg$parseActionItem(){var s0,s1,s2,s3,s4;return s0=peg$currPos,(s1=peg$parseActionKey())!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s2=peg$c881,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c883,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c932(s1,s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseActionItems(){var s0,s1;if(s0=[],(s1=peg$parseActionItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseActionItem();else s0=peg$FAILED;return s0}function peg$parseConfigAction(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,6)===peg$c933?(s2=peg$c933,peg$currPos+=6):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c934)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c890,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?((s8=peg$parseActionItems())===peg$FAILED&&(s8=null),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(input.substr(peg$currPos,2)===peg$c912?(s10=peg$c912,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c913)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c935(s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseTransitionKey(){var s0;return input.substr(peg$currPos,9)===peg$c905?(s0=peg$c905,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c906)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c907?(s0=peg$c907,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c908))),s0}function peg$parseTransitionItem(){var s0,s1,s2,s3,s4;return s0=peg$currPos,(s1=peg$parseTransitionKey())!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s2=peg$c881,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c883,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c936(s1,s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseTransitionItems(){var s0,s1;if((s0=peg$parseGraphDefaultEdgeColor())===peg$FAILED)if(s0=[],(s1=peg$parseTransitionItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseTransitionItem();else s0=peg$FAILED;return s0}function peg$parseGraphDefaultEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return peg$silentFails++,s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c887?(s2=peg$c887,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c888)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseColor())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c938(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c937)),s0}function peg$parseConfigTransition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c939?(s2=peg$c939,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c940)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c890,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?((s8=peg$parseTransitionItems())===peg$FAILED&&(s8=null),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(input.substr(peg$currPos,2)===peg$c912?(s10=peg$c912,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c913)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c941(s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfigGraphLayout(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,12)===peg$c942?(s2=peg$c942,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c943)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseGvizLayout())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c944(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfigStartNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,12)===peg$c945?(s2=peg$c945,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c946)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c947(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfigEndNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c948?(s2=peg$c948,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c949)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c950(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfigGraphBgColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,14)===peg$c951?(s2=peg$c951,peg$currPos+=14):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c952)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseColor())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c953(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfig(){var s0;return peg$silentFails++,(s0=peg$parseConfigGraphLayout())===peg$FAILED&&(s0=peg$parseConfigStartNodes())===peg$FAILED&&(s0=peg$parseConfigEndNodes())===peg$FAILED&&(s0=peg$parseConfigTransition())===peg$FAILED&&(s0=peg$parseConfigAction())===peg$FAILED&&(s0=peg$parseConfigState())===peg$FAILED&&(s0=peg$parseConfigValidation())===peg$FAILED&&(s0=peg$parseConfigGraphBgColor()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c954),s0}function peg$parseLicenseOrLabelOrList(){var s0;return input.substr(peg$currPos,3)===peg$c955?(s0=peg$c955,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c956)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c957?(s0=peg$c957,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c958)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c959?(s0=peg$c959,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c960)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c961?(s0=peg$c961,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c962)),s0===peg$FAILED&&(input.substr(peg$currPos,11)===peg$c963?(s0=peg$c963,peg$currPos+=11):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c964)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c965?(s0=peg$c965,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c966)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c967?(s0=peg$c967,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c968)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c969?(s0=peg$c969,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c970)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c971?(s0=peg$c971,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c972)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c973?(s0=peg$c973,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c974)),s0===peg$FAILED&&(s0=peg$parseLabel())===peg$FAILED&&(s0=peg$parseLabelList())))))))))),s0}function peg$parseStateColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,5)===peg$c975?(s2=peg$c975,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c976)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseColor())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c977(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseArbitraryStateQuality(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return peg$silentFails++,s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED&&(s2=peg$parseLabel())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabel())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c979(s2,s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c978)),s0}function peg$parseStateQuality(){var s0;return(s0=peg$parseStateColor())===peg$FAILED&&(s0=peg$parseArbitraryStateQuality()),s0}function peg$parseStateDef(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13;if(peg$silentFails++,s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED)if(input.substr(peg$currPos,5)===peg$c929?(s2=peg$c929,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c930)),s2!==peg$FAILED)if((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED)if((s4=peg$parseLabel())!==peg$FAILED)if((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED)if(91===input.charCodeAt(peg$currPos)?(s6=peg$c898,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c899)),s6!==peg$FAILED)if((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED){for(s8=[],s9=peg$parseStateQuality();s9!==peg$FAILED;)s8.push(s9),s9=peg$parseStateQuality();s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(93===input.charCodeAt(peg$currPos)?(s10=peg$c900,peg$currPos++):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c901)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s12=peg$c883,peg$currPos++):(s12=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s12!==peg$FAILED?((s13=peg$parseWS())===peg$FAILED&&(s13=null),s13!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c981(s4,s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(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;else peg$currPos=s0,s0=peg$FAILED;else peg$currPos=s0,s0=peg$FAILED;else peg$currPos=s0,s0=peg$FAILED;return peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c980)),s0}function peg$parseMachineAuthor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,14)===peg$c982?(s2=peg$c982,peg$currPos+=14):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c983)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelOrLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c984(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineContributor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,19)===peg$c985?(s2=peg$c985,peg$currPos+=19):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c986)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelOrLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c987(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineComment(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,15)===peg$c988?(s2=peg$c988,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c989)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelOrLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c990(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineDefinition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,18)===peg$c991?(s2=peg$c991,peg$currPos+=18):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c992)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseURL())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c993(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineName(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,12)===peg$c994?(s2=peg$c994,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c995)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabel())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c996(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,15)===peg$c1000?(s2=peg$c1000,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1001)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseSemVer())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1002(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineLicense(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,15)===peg$c1003?(s2=peg$c1003,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1004)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLicenseOrLabelOrList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1005(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseFslVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,11)===peg$c1006?(s2=peg$c1006,peg$currPos+=11):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1007)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseSemVer())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1008(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseStateGroupDef(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,5)===peg$c1009?(s2=peg$c1009,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1010)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED&&(s4=peg$parseLabel())!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s6=peg$c881,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED&&(s8=peg$parseLabelOrLabelList())!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s10=peg$c883,peg$currPos++):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1011(s4,s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseTerm(){var s0;return(s0=peg$parseExp())===peg$FAILED&&(s0=peg$parseStateDef())===peg$FAILED&&(s0=peg$parseFslVersion())===peg$FAILED&&(s0=peg$parseMachineName())===peg$FAILED&&(s0=peg$parseMachineAuthor())===peg$FAILED&&(s0=peg$parseMachineContributor())===peg$FAILED&&(s0=peg$parseMachineComment())===peg$FAILED&&(s0=peg$parseMachineDefinition())===peg$FAILED&&(s0=peg$parseMachineVersion())===peg$FAILED&&(s0=peg$parseMachineLicense())===peg$FAILED&&(s0=peg$parseStateGroupDef())===peg$FAILED&&(s0=peg$parseConfig()),s0}function peg$parseTermList(){var s0,s1;for(s0=[],s1=peg$parseTerm();s1!==peg$FAILED;)s0.push(s1),s1=peg$parseTerm();return s0}options=void 0!==options?options:{};var peg$result,peg$FAILED={},peg$startRuleFunctions={Document:peg$parseDocument},peg$startRuleFunction=peg$parseDocument,peg$c0=function(e){return e},peg$c1="square",peg$c2=peg$literalExpectation("square",!1),peg$c3="rectangle",peg$c4=peg$literalExpectation("rectangle",!1),peg$c5="circle",peg$c6=peg$literalExpectation("circle",!1),peg$c7=peg$otherExpectation("forward light arrow ->"),peg$c8="->",peg$c9=peg$literalExpectation("->",!1),peg$c10=peg$otherExpectation("two way light arrow <->"),peg$c11="<->",peg$c12=peg$literalExpectation("<->",!1),peg$c13=peg$otherExpectation("back light arrow <-"),peg$c14="<-",peg$c15=peg$literalExpectation("<-",!1),peg$c16=peg$otherExpectation("forward fat arrow =>"),peg$c17="=>",peg$c18=peg$literalExpectation("=>",!1),peg$c19=peg$otherExpectation("two way fat arrow <=>"),peg$c20="<=>",peg$c21=peg$literalExpectation("<=>",!1),peg$c22=peg$otherExpectation("back fat arrow <="),peg$c23="<=",peg$c24=peg$literalExpectation("<=",!1),peg$c25=peg$otherExpectation("forward tilde arrow ~>"),peg$c26="~>",peg$c27=peg$literalExpectation("~>",!1),peg$c28=peg$otherExpectation("two way tilde arrow <~>"),peg$c29="<~>",peg$c30=peg$literalExpectation("<~>",!1),peg$c31=peg$otherExpectation("back tilde arrow <~"),peg$c32="<~",peg$c33=peg$literalExpectation("<~",!1),peg$c34=peg$otherExpectation("light fat arrow <-=>"),peg$c35="<-=>",peg$c36=peg$literalExpectation("<-=>",!1),peg$c37=peg$otherExpectation("light tilde arrow <-~>"),peg$c38="<-~>",peg$c39=peg$literalExpectation("<-~>",!1),peg$c40=peg$otherExpectation("fat light arrow <=->"),peg$c41="<=->",peg$c42=peg$literalExpectation("<=->",!1),peg$c43=peg$otherExpectation("fat tilde arrow <=~>"),peg$c44="<=~>",peg$c45=peg$literalExpectation("<=~>",!1),peg$c46=peg$otherExpectation("tilde light arrow <~->"),peg$c47="<~->",peg$c48=peg$literalExpectation("<~->",!1),peg$c49=peg$otherExpectation("tilde fat arrow <~=>"),peg$c50="<~=>",peg$c51=peg$literalExpectation("<~=>",!1),peg$c52=peg$otherExpectation("light arrow"),peg$c53=peg$otherExpectation("fat arrow"),peg$c54=peg$otherExpectation("tilde arrow"),peg$c55=peg$otherExpectation("mixed arrow"),peg$c56=peg$otherExpectation("arrow"),peg$c57=/^[0-9a-fA-F]/,peg$c58=peg$classExpectation([["0","9"],["a","f"],["A","F"]],!1,!1),peg$c59='"',peg$c60=peg$literalExpectation('"',!1),peg$c61="\\",peg$c62=peg$literalExpectation("\\",!1),peg$c63="/",peg$c64=peg$literalExpectation("/",!1),peg$c65="b",peg$c66=peg$literalExpectation("b",!1),peg$c67=function(){return"\b"},peg$c68="f",peg$c69=peg$literalExpectation("f",!1),peg$c70=function(){return"\f"},peg$c71="n",peg$c72=peg$literalExpectation("n",!1),peg$c73=function(){return"\n"},peg$c74="r",peg$c75=peg$literalExpectation("r",!1),peg$c76=function(){return"\r"},peg$c77="t",peg$c78=peg$literalExpectation("t",!1),peg$c79=function(){return"\t"},peg$c80="v",peg$c81=peg$literalExpectation("v",!1),peg$c82=function(){return"\v"},peg$c83="u",peg$c84=peg$literalExpectation("u",!1),peg$c85=function(digits){return String.fromCharCode(parseInt(digits,16))},peg$c86=function(Sequence){return Sequence},peg$c87=/^[ -!#-[\]-\u10FFFF]/,peg$c88=peg$classExpectation([[" ","!"],["#","["],["]","ჿ"],"F","F"],!1,!1),peg$c89="'",peg$c90=peg$literalExpectation("'",!1),peg$c91=/^[ -&(-[\]-\u10FFFF]/,peg$c92=peg$classExpectation([[" ","&"],["(","["],["]","ჿ"],"F","F"],!1,!1),peg$c93=peg$otherExpectation("action label"),peg$c94=function(chars){return chars.join("")},peg$c95=/^[\n\r\u2028\u2029]/,peg$c96=peg$classExpectation(["\n","\r","\u2028","\u2029"],!1,!1),peg$c99=(peg$classExpectation([" ","\t","\n","\r","\v"],!1,!1),"*/"),peg$c100=peg$literalExpectation("*/",!1),peg$c101={type:"any"},peg$c102="/*",peg$c103=peg$literalExpectation("/*",!1),peg$c104="//",peg$c105=peg$literalExpectation("//",!1),peg$c106=/^[ \t\r\n\x0B]/,peg$c107=peg$classExpectation([" ","\t","\r","\n","\v"],!1,!1),peg$c108=peg$otherExpectation("string"),peg$c109=peg$otherExpectation("atom"),peg$c110=/^[0-9a-zA-Z.+_&()$#@!?,]/,peg$c111=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","_","&","(",")","$","#","@","!","?",","],!1,!1),peg$c112=function(text){return text.join("")},peg$c113=peg$otherExpectation("label"),peg$c114="0",peg$c115=peg$literalExpectation("0",!1),peg$c116=/^[0-9]/,peg$c117=peg$classExpectation([["0","9"]],!1,!1),peg$c118=/^[1-9]/,peg$c119=peg$classExpectation([["1","9"]],!1,!1),peg$c120=peg$otherExpectation("nonneg number"),peg$c121=".",peg$c122=peg$literalExpectation(".",!1),peg$c123=function(){return parseFloat(text())},peg$c124=function(major,minor,patch){return{major:parseInt(major,10),minor:parseInt(minor,10),patch:parseInt(patch,10),full:text()}},peg$c135=(peg$literalExpectation("^",!1),peg$literalExpectation("~",!1),peg$literalExpectation(">=",!1),peg$literalExpectation("<",!1),peg$literalExpectation(">",!1),"http://"),peg$c136=peg$literalExpectation("http://",!1),peg$c137="https://",peg$c138=peg$literalExpectation("https://",!1),peg$c139=/^[a-zA-Z0-9!*'():;@&=+$,\/?#[\]_.~\-]/,peg$c140=peg$classExpectation([["a","z"],["A","Z"],["0","9"],"!","*","'","(",")",":",";","@","&","=","+","$",",","/","?","#","[","]","_",".","~","-"],!1,!1),peg$c141=function(protocol){return text()},peg$c142="aliceblue",peg$c143=peg$literalExpectation("aliceblue",!1),peg$c144=function(){return"#f0f8ffff"},peg$c145="AliceBlue",peg$c146=peg$literalExpectation("AliceBlue",!1),peg$c147="antiquewhite",peg$c148=peg$literalExpectation("antiquewhite",!1),peg$c149=function(){return"#faebd7ff"},peg$c150="AntiqueWhite",peg$c151=peg$literalExpectation("AntiqueWhite",!1),peg$c152="aqua",peg$c153=peg$literalExpectation("aqua",!1),peg$c154=function(){return"#00ffffff"},peg$c155="Aqua",peg$c156=peg$literalExpectation("Aqua",!1),peg$c157="aquamarine",peg$c158=peg$literalExpectation("aquamarine",!1),peg$c159=function(){return"#7fffd4ff"},peg$c160="Aquamarine",peg$c161=peg$literalExpectation("Aquamarine",!1),peg$c162="azure",peg$c163=peg$literalExpectation("azure",!1),peg$c164=function(){return"#f0ffffff"},peg$c165="Azure",peg$c166=peg$literalExpectation("Azure",!1),peg$c167="beige",peg$c168=peg$literalExpectation("beige",!1),peg$c169=function(){return"#f5f5dcff"},peg$c170="Beige",peg$c171=peg$literalExpectation("Beige",!1),peg$c172="bisque",peg$c173=peg$literalExpectation("bisque",!1),peg$c174=function(){return"#ffe4c4ff"},peg$c175="Bisque",peg$c176=peg$literalExpectation("Bisque",!1),peg$c177="black",peg$c178=peg$literalExpectation("black",!1),peg$c179=function(){return"#000000ff"},peg$c180="Black",peg$c181=peg$literalExpectation("Black",!1),peg$c182="blanchedalmond",peg$c183=peg$literalExpectation("blanchedalmond",!1),peg$c184=function(){return"#ffebcdff"},peg$c185="BlanchedAlmond",peg$c186=peg$literalExpectation("BlanchedAlmond",!1),peg$c187="blue",peg$c188=peg$literalExpectation("blue",!1),peg$c189=function(){return"#0000ffff"},peg$c190="Blue",peg$c191=peg$literalExpectation("Blue",!1),peg$c192="blueviolet",peg$c193=peg$literalExpectation("blueviolet",!1),peg$c194=function(){return"#8a2be2ff"},peg$c195="BlueViolet",peg$c196=peg$literalExpectation("BlueViolet",!1),peg$c197="brown",peg$c198=peg$literalExpectation("brown",!1),peg$c199=function(){return"#a52a2aff"},peg$c200="Brown",peg$c201=peg$literalExpectation("Brown",!1),peg$c202="burlywood",peg$c203=peg$literalExpectation("burlywood",!1),peg$c204=function(){return"#deb887ff"},peg$c205="BurlyWood",peg$c206=peg$literalExpectation("BurlyWood",!1),peg$c207="cadetblue",peg$c208=peg$literalExpectation("cadetblue",!1),peg$c209=function(){return"#5f9ea0ff"},peg$c210="CadetBlue",peg$c211=peg$literalExpectation("CadetBlue",!1),peg$c212="chartreuse",peg$c213=peg$literalExpectation("chartreuse",!1),peg$c214=function(){return"#7fff00ff"},peg$c215="Chartreuse",peg$c216=peg$literalExpectation("Chartreuse",!1),peg$c217="chocolate",peg$c218=peg$literalExpectation("chocolate",!1),peg$c219=function(){return"#d2691eff"},peg$c220="Chocolate",peg$c221=peg$literalExpectation("Chocolate",!1),peg$c222="coral",peg$c223=peg$literalExpectation("coral",!1),peg$c224=function(){return"#ff7f50ff"},peg$c225="Coral",peg$c226=peg$literalExpectation("Coral",!1),peg$c227="cornflowerblue",peg$c228=peg$literalExpectation("cornflowerblue",!1),peg$c229=function(){return"#6495edff"},peg$c230="CornflowerBlue",peg$c231=peg$literalExpectation("CornflowerBlue",!1),peg$c232="cornsilk",peg$c233=peg$literalExpectation("cornsilk",!1),peg$c234=function(){return"#fff8dcff"},peg$c235="Cornsilk",peg$c236=peg$literalExpectation("Cornsilk",!1),peg$c237="crimson",peg$c238=peg$literalExpectation("crimson",!1),peg$c239=function(){return"#dc143cff"},peg$c240="Crimson",peg$c241=peg$literalExpectation("Crimson",!1),peg$c242="cyan",peg$c243=peg$literalExpectation("cyan",!1),peg$c244="Cyan",peg$c245=peg$literalExpectation("Cyan",!1),peg$c246="darkblue",peg$c247=peg$literalExpectation("darkblue",!1),peg$c248=function(){return"#00008bff"},peg$c249="DarkBlue",peg$c250=peg$literalExpectation("DarkBlue",!1),peg$c251="darkcyan",peg$c252=peg$literalExpectation("darkcyan",!1),peg$c253=function(){return"#008b8bff"},peg$c254="DarkCyan",peg$c255=peg$literalExpectation("DarkCyan",!1),peg$c256="darkgoldenrod",peg$c257=peg$literalExpectation("darkgoldenrod",!1),peg$c258=function(){return"#b8860bff"},peg$c259="DarkGoldenRod",peg$c260=peg$literalExpectation("DarkGoldenRod",!1),peg$c261="darkgray",peg$c262=peg$literalExpectation("darkgray",!1),peg$c263=function(){return"#a9a9a9ff"},peg$c264="DarkGray",peg$c265=peg$literalExpectation("DarkGray",!1),peg$c266="darkgrey",peg$c267=peg$literalExpectation("darkgrey",!1),peg$c268="DarkGrey",peg$c269=peg$literalExpectation("DarkGrey",!1),peg$c270="darkgreen",peg$c271=peg$literalExpectation("darkgreen",!1),peg$c272=function(){return"#006400ff"},peg$c273="DarkGreen",peg$c274=peg$literalExpectation("DarkGreen",!1),peg$c275="darkkhaki",peg$c276=peg$literalExpectation("darkkhaki",!1),peg$c277=function(){return"#bdb76bff"},peg$c278="DarkKhaki",peg$c279=peg$literalExpectation("DarkKhaki",!1),peg$c280="darkmagenta",peg$c281=peg$literalExpectation("darkmagenta",!1),peg$c282=function(){return"#8b008bff"},peg$c283="DarkMagenta",peg$c284=peg$literalExpectation("DarkMagenta",!1),peg$c285="darkolivegreen",peg$c286=peg$literalExpectation("darkolivegreen",!1),peg$c287=function(){return"#556b2fff"},peg$c288="DarkOliveGreen",peg$c289=peg$literalExpectation("DarkOliveGreen",!1),peg$c290="darkorange",peg$c291=peg$literalExpectation("darkorange",!1),peg$c292=function(){return"#ff8c00ff"},peg$c293="Darkorange",peg$c294=peg$literalExpectation("Darkorange",!1),peg$c295="darkorchid",peg$c296=peg$literalExpectation("darkorchid",!1),peg$c297=function(){return"#9932ccff"},peg$c298="DarkOrchid",peg$c299=peg$literalExpectation("DarkOrchid",!1),peg$c300="darkred",peg$c301=peg$literalExpectation("darkred",!1),peg$c302=function(){return"#8b0000ff"},peg$c303="DarkRed",peg$c304=peg$literalExpectation("DarkRed",!1),peg$c305="darksalmon",peg$c306=peg$literalExpectation("darksalmon",!1),peg$c307=function(){return"#e9967aff"},peg$c308="DarkSalmon",peg$c309=peg$literalExpectation("DarkSalmon",!1),peg$c310="darkseagreen",peg$c311=peg$literalExpectation("darkseagreen",!1),peg$c312=function(){return"#8fbc8fff"},peg$c313="DarkSeaGreen",peg$c314=peg$literalExpectation("DarkSeaGreen",!1),peg$c315="darkslateblue",peg$c316=peg$literalExpectation("darkslateblue",!1),peg$c317=function(){return"#483d8bff"},peg$c318="DarkSlateBlue",peg$c319=peg$literalExpectation("DarkSlateBlue",!1),peg$c320="darkslategray",peg$c321=peg$literalExpectation("darkslategray",!1),peg$c322=function(){return"#2f4f4fff"},peg$c323="DarkSlateGray",peg$c324=peg$literalExpectation("DarkSlateGray",!1),peg$c325="darkslategrey",peg$c326=peg$literalExpectation("darkslategrey",!1),peg$c327="DarkSlateGrey",peg$c328=peg$literalExpectation("DarkSlateGrey",!1),peg$c329="darkturquoise",peg$c330=peg$literalExpectation("darkturquoise",!1),peg$c331=function(){return"#00ced1ff"},peg$c332="DarkTurquoise",peg$c333=peg$literalExpectation("DarkTurquoise",!1),peg$c334="darkviolet",peg$c335=peg$literalExpectation("darkviolet",!1),peg$c336=function(){return"#9400d3ff"},peg$c337="DarkViolet",peg$c338=peg$literalExpectation("DarkViolet",!1),peg$c339="deeppink",peg$c340=peg$literalExpectation("deeppink",!1),peg$c341=function(){return"#ff1493ff"},peg$c342="DeepPink",peg$c343=peg$literalExpectation("DeepPink",!1),peg$c344="deepskyblue",peg$c345=peg$literalExpectation("deepskyblue",!1),peg$c346=function(){return"#00bfffff"},peg$c347="DeepSkyBlue",peg$c348=peg$literalExpectation("DeepSkyBlue",!1),peg$c349="dimgray",peg$c350=peg$literalExpectation("dimgray",!1),peg$c351=function(){return"#696969ff"},peg$c352="DimGray",peg$c353=peg$literalExpectation("DimGray",!1),peg$c354="dimgrey",peg$c355=peg$literalExpectation("dimgrey",!1),peg$c356="DimGrey",peg$c357=peg$literalExpectation("DimGrey",!1),peg$c358="dodgerblue",peg$c359=peg$literalExpectation("dodgerblue",!1),peg$c360=function(){return"#1e90ffff"},peg$c361="DodgerBlue",peg$c362=peg$literalExpectation("DodgerBlue",!1),peg$c363="firebrick",peg$c364=peg$literalExpectation("firebrick",!1),peg$c365=function(){return"#b22222ff"},peg$c366="FireBrick",peg$c367=peg$literalExpectation("FireBrick",!1),peg$c368="floralwhite",peg$c369=peg$literalExpectation("floralwhite",!1),peg$c370=function(){return"#fffaf0ff"},peg$c371="FloralWhite",peg$c372=peg$literalExpectation("FloralWhite",!1),peg$c373="forestgreen",peg$c374=peg$literalExpectation("forestgreen",!1),peg$c375=function(){return"#228b22ff"},peg$c376="ForestGreen",peg$c377=peg$literalExpectation("ForestGreen",!1),peg$c378="fuchsia",peg$c379=peg$literalExpectation("fuchsia",!1),peg$c380=function(){return"#ff00ffff"},peg$c381="Fuchsia",peg$c382=peg$literalExpectation("Fuchsia",!1),peg$c383="gainsboro",peg$c384=peg$literalExpectation("gainsboro",!1),peg$c385=function(){return"#dcdcdcff"},peg$c386="Gainsboro",peg$c387=peg$literalExpectation("Gainsboro",!1),peg$c388="ghostwhite",peg$c389=peg$literalExpectation("ghostwhite",!1),peg$c390=function(){return"#f8f8ffff"},peg$c391="GhostWhite",peg$c392=peg$literalExpectation("GhostWhite",!1),peg$c393="gold",peg$c394=peg$literalExpectation("gold",!1),peg$c395=function(){return"#ffd700ff"},peg$c396="Gold",peg$c397=peg$literalExpectation("Gold",!1),peg$c398="goldenrod",peg$c399=peg$literalExpectation("goldenrod",!1),peg$c400=function(){return"#daa520ff"},peg$c401="GoldenRod",peg$c402=peg$literalExpectation("GoldenRod",!1),peg$c403="gray",peg$c404=peg$literalExpectation("gray",!1),peg$c405=function(){return"#808080ff"},peg$c406="Gray",peg$c407=peg$literalExpectation("Gray",!1),peg$c408="grey",peg$c409=peg$literalExpectation("grey",!1),peg$c410="Grey",peg$c411=peg$literalExpectation("Grey",!1),peg$c412="green",peg$c413=peg$literalExpectation("green",!1),peg$c414=function(){return"#008000ff"},peg$c415="Green",peg$c416=peg$literalExpectation("Green",!1),peg$c417="greenyellow",peg$c418=peg$literalExpectation("greenyellow",!1),peg$c419=function(){return"#adff2fff"},peg$c420="GreenYellow",peg$c421=peg$literalExpectation("GreenYellow",!1),peg$c422="honeydew",peg$c423=peg$literalExpectation("honeydew",!1),peg$c424=function(){return"#f0fff0ff"},peg$c425="HoneyDew",peg$c426=peg$literalExpectation("HoneyDew",!1),peg$c427="hotpink",peg$c428=peg$literalExpectation("hotpink",!1),peg$c429=function(){return"#ff69b4ff"},peg$c430="HotPink",peg$c431=peg$literalExpectation("HotPink",!1),peg$c432="indianred",peg$c433=peg$literalExpectation("indianred",!1),peg$c434=function(){return"#cd5c5cff"},peg$c435="IndianRed",peg$c436=peg$literalExpectation("IndianRed",!1),peg$c437="indigo",peg$c438=peg$literalExpectation("indigo",!1),peg$c439=function(){return"#4b0082ff"},peg$c440="Indigo",peg$c441=peg$literalExpectation("Indigo",!1),peg$c442="ivory",peg$c443=peg$literalExpectation("ivory",!1),peg$c444=function(){return"#fffff0ff"},peg$c445="Ivory",peg$c446=peg$literalExpectation("Ivory",!1),peg$c447="khaki",peg$c448=peg$literalExpectation("khaki",!1),peg$c449=function(){return"#f0e68cff"},peg$c450="Khaki",peg$c451=peg$literalExpectation("Khaki",!1),peg$c452="lavender",peg$c453=peg$literalExpectation("lavender",!1),peg$c454=function(){return"#e6e6faff"},peg$c455="Lavender",peg$c456=peg$literalExpectation("Lavender",!1),peg$c457="lavenderblush",peg$c458=peg$literalExpectation("lavenderblush",!1),peg$c459=function(){return"#fff0f5ff"},peg$c460="LavenderBlush",peg$c461=peg$literalExpectation("LavenderBlush",!1),peg$c462="lawngreen",peg$c463=peg$literalExpectation("lawngreen",!1),peg$c464=function(){return"#7cfc00ff"},peg$c465="LawnGreen",peg$c466=peg$literalExpectation("LawnGreen",!1),peg$c467="lemonchiffon",peg$c468=peg$literalExpectation("lemonchiffon",!1),peg$c469=function(){return"#fffacdff"},peg$c470="LemonChiffon",peg$c471=peg$literalExpectation("LemonChiffon",!1),peg$c472="lightblue",peg$c473=peg$literalExpectation("lightblue",!1),peg$c474=function(){return"#add8e6ff"},peg$c475="LightBlue",peg$c476=peg$literalExpectation("LightBlue",!1),peg$c477="lightcoral",peg$c478=peg$literalExpectation("lightcoral",!1),peg$c479=function(){return"#f08080ff"},peg$c480="LightCoral",peg$c481=peg$literalExpectation("LightCoral",!1),peg$c482="lightcyan",peg$c483=peg$literalExpectation("lightcyan",!1),peg$c484=function(){return"#e0ffffff"},peg$c485="LightCyan",peg$c486=peg$literalExpectation("LightCyan",!1),peg$c487="lightgoldenrodyellow",peg$c488=peg$literalExpectation("lightgoldenrodyellow",!1),peg$c489=function(){return"#fafad2ff"},peg$c490="LightGoldenRodYellow",peg$c491=peg$literalExpectation("LightGoldenRodYellow",!1),peg$c492="lightgray",peg$c493=peg$literalExpectation("lightgray",!1),peg$c494=function(){return"#d3d3d3ff"},peg$c495="LightGray",peg$c496=peg$literalExpectation("LightGray",!1),peg$c497="lightgrey",peg$c498=peg$literalExpectation("lightgrey",!1),peg$c499="LightGrey",peg$c500=peg$literalExpectation("LightGrey",!1),peg$c501="lightgreen",peg$c502=peg$literalExpectation("lightgreen",!1),peg$c503=function(){return"#90ee90ff"},peg$c504="LightGreen",peg$c505=peg$literalExpectation("LightGreen",!1),peg$c506="lightpink",peg$c507=peg$literalExpectation("lightpink",!1),peg$c508=function(){return"#ffb6c1ff"},peg$c509="LightPink",peg$c510=peg$literalExpectation("LightPink",!1),peg$c511="lightsalmon",peg$c512=peg$literalExpectation("lightsalmon",!1),peg$c513=function(){return"#ffa07aff"},peg$c514="LightSalmon",peg$c515=peg$literalExpectation("LightSalmon",!1),peg$c516="lightseagreen",peg$c517=peg$literalExpectation("lightseagreen",!1),peg$c518=function(){return"#20b2aaff"},peg$c519="LightSeaGreen",peg$c520=peg$literalExpectation("LightSeaGreen",!1),peg$c521="lightskyblue",peg$c522=peg$literalExpectation("lightskyblue",!1),peg$c523=function(){return"#87cefaff"},peg$c524="LightSkyBlue",peg$c525=peg$literalExpectation("LightSkyBlue",!1),peg$c526="lightslategray",peg$c527=peg$literalExpectation("lightslategray",!1),peg$c528=function(){return"#778899ff"},peg$c529="LightSlateGray",peg$c530=peg$literalExpectation("LightSlateGray",!1),peg$c531="lightslategrey",peg$c532=peg$literalExpectation("lightslategrey",!1),peg$c533="LightSlateGrey",peg$c534=peg$literalExpectation("LightSlateGrey",!1),peg$c535="lightsteelblue",peg$c536=peg$literalExpectation("lightsteelblue",!1),peg$c537=function(){return"#b0c4deff"},peg$c538="LightSteelBlue",peg$c539=peg$literalExpectation("LightSteelBlue",!1),peg$c540="lightyellow",peg$c541=peg$literalExpectation("lightyellow",!1),peg$c542=function(){return"#ffffe0ff"},peg$c543="LightYellow",peg$c544=peg$literalExpectation("LightYellow",!1),peg$c545="lime",peg$c546=peg$literalExpectation("lime",!1),peg$c547=function(){return"#00ff00ff"},peg$c548="Lime",peg$c549=peg$literalExpectation("Lime",!1),peg$c550="limegreen",peg$c551=peg$literalExpectation("limegreen",!1),peg$c552=function(){return"#32cd32ff"},peg$c553="LimeGreen",peg$c554=peg$literalExpectation("LimeGreen",!1),peg$c555="linen",peg$c556=peg$literalExpectation("linen",!1),peg$c557=function(){return"#faf0e6ff"},peg$c558="Linen",peg$c559=peg$literalExpectation("Linen",!1),peg$c560="magenta",peg$c561=peg$literalExpectation("magenta",!1),peg$c562="Magenta",peg$c563=peg$literalExpectation("Magenta",!1),peg$c564="maroon",peg$c565=peg$literalExpectation("maroon",!1),peg$c566=function(){return"#800000ff"},peg$c567="Maroon",peg$c568=peg$literalExpectation("Maroon",!1),peg$c569="mediumaquamarine",peg$c570=peg$literalExpectation("mediumaquamarine",!1),peg$c571=function(){return"#66cdaaff"},peg$c572="MediumAquaMarine",peg$c573=peg$literalExpectation("MediumAquaMarine",!1),peg$c574="mediumblue",peg$c575=peg$literalExpectation("mediumblue",!1),peg$c576=function(){return"#0000cdff"},peg$c577="MediumBlue",peg$c578=peg$literalExpectation("MediumBlue",!1),peg$c579="mediumorchid",peg$c580=peg$literalExpectation("mediumorchid",!1),peg$c581=function(){return"#ba55d3ff"},peg$c582="MediumOrchid",peg$c583=peg$literalExpectation("MediumOrchid",!1),peg$c584="mediumpurple",peg$c585=peg$literalExpectation("mediumpurple",!1),peg$c586=function(){return"#9370d8ff"},peg$c587="MediumPurple",peg$c588=peg$literalExpectation("MediumPurple",!1),peg$c589="mediumseagreen",peg$c590=peg$literalExpectation("mediumseagreen",!1),peg$c591=function(){return"#3cb371ff"},peg$c592="MediumSeaGreen",peg$c593=peg$literalExpectation("MediumSeaGreen",!1),peg$c594="mediumslateblue",peg$c595=peg$literalExpectation("mediumslateblue",!1),peg$c596=function(){return"#7b68eeff"},peg$c597="MediumSlateBlue",peg$c598=peg$literalExpectation("MediumSlateBlue",!1),peg$c599="mediumspringgreen",peg$c600=peg$literalExpectation("mediumspringgreen",!1),peg$c601=function(){return"#00fa9aff"},peg$c602="MediumSpringGreen",peg$c603=peg$literalExpectation("MediumSpringGreen",!1),peg$c604="mediumturquoise",peg$c605=peg$literalExpectation("mediumturquoise",!1),peg$c606=function(){return"#48d1ccff"},peg$c607="MediumTurquoise",peg$c608=peg$literalExpectation("MediumTurquoise",!1),peg$c609="mediumvioletred",peg$c610=peg$literalExpectation("mediumvioletred",!1),peg$c611=function(){return"#c71585ff"},peg$c612="MediumVioletRed",peg$c613=peg$literalExpectation("MediumVioletRed",!1),peg$c614="midnightblue",peg$c615=peg$literalExpectation("midnightblue",!1),peg$c616=function(){return"#191970ff"},peg$c617="MidnightBlue",peg$c618=peg$literalExpectation("MidnightBlue",!1),peg$c619="mintcream",peg$c620=peg$literalExpectation("mintcream",!1),peg$c621=function(){return"#f5fffaff"},peg$c622="MintCream",peg$c623=peg$literalExpectation("MintCream",!1),peg$c624="mistyrose",peg$c625=peg$literalExpectation("mistyrose",!1),peg$c626=function(){return"#ffe4e1ff"},peg$c627="MistyRose",peg$c628=peg$literalExpectation("MistyRose",!1),peg$c629="moccasin",peg$c630=peg$literalExpectation("moccasin",!1),peg$c631=function(){return"#ffe4b5ff"},peg$c632="Moccasin",peg$c633=peg$literalExpectation("Moccasin",!1),peg$c634="navajowhite",peg$c635=peg$literalExpectation("navajowhite",!1),peg$c636=function(){return"#ffdeadff"},peg$c637="NavajoWhite",peg$c638=peg$literalExpectation("NavajoWhite",!1),peg$c639="navy",peg$c640=peg$literalExpectation("navy",!1),peg$c641=function(){return"#000080ff"},peg$c642="Navy",peg$c643=peg$literalExpectation("Navy",!1),peg$c644="oldlace",peg$c645=peg$literalExpectation("oldlace",!1),peg$c646=function(){return"#fdf5e6ff"},peg$c647="OldLace",peg$c648=peg$literalExpectation("OldLace",!1),peg$c649="olive",peg$c650=peg$literalExpectation("olive",!1),peg$c651=function(){return"#808000ff"},peg$c652="Olive",peg$c653=peg$literalExpectation("Olive",!1),peg$c654="olivedrab",peg$c655=peg$literalExpectation("olivedrab",!1),peg$c656=function(){return"#6b8e23ff"},peg$c657="OliveDrab",peg$c658=peg$literalExpectation("OliveDrab",!1),peg$c659="orange",peg$c660=peg$literalExpectation("orange",!1),peg$c661=function(){return"#ffa500ff"},peg$c662="Orange",peg$c663=peg$literalExpectation("Orange",!1),peg$c664="orangered",peg$c665=peg$literalExpectation("orangered",!1),peg$c666=function(){return"#ff4500ff"},peg$c667="OrangeRed",peg$c668=peg$literalExpectation("OrangeRed",!1),peg$c669="orchid",peg$c670=peg$literalExpectation("orchid",!1),peg$c671=function(){return"#da70d6ff"},peg$c672="Orchid",peg$c673=peg$literalExpectation("Orchid",!1),peg$c674="palegoldenrod",peg$c675=peg$literalExpectation("palegoldenrod",!1),peg$c676=function(){return"#eee8aaff"},peg$c677="PaleGoldenRod",peg$c678=peg$literalExpectation("PaleGoldenRod",!1),peg$c679="palegreen",peg$c680=peg$literalExpectation("palegreen",!1),peg$c681=function(){return"#98fb98ff"},peg$c682="PaleGreen",peg$c683=peg$literalExpectation("PaleGreen",!1),peg$c684="paleturquoise",peg$c685=peg$literalExpectation("paleturquoise",!1),peg$c686=function(){return"#afeeeeff"},peg$c687="PaleTurquoise",peg$c688=peg$literalExpectation("PaleTurquoise",!1),peg$c689="palevioletred",peg$c690=peg$literalExpectation("palevioletred",!1),peg$c691=function(){return"#d87093ff"},peg$c692="PaleVioletRed",peg$c693=peg$literalExpectation("PaleVioletRed",!1),peg$c694="papayawhip",peg$c695=peg$literalExpectation("papayawhip",!1),peg$c696=function(){return"#ffefd5ff"},peg$c697="PapayaWhip",peg$c698=peg$literalExpectation("PapayaWhip",!1),peg$c699="peachpuff",peg$c700=peg$literalExpectation("peachpuff",!1),peg$c701=function(){return"#ffdab9ff"},peg$c702="PeachPuff",peg$c703=peg$literalExpectation("PeachPuff",!1),peg$c704="peru",peg$c705=peg$literalExpectation("peru",!1),peg$c706=function(){return"#cd853fff"},peg$c707="Peru",peg$c708=peg$literalExpectation("Peru",!1),peg$c709="pink",peg$c710=peg$literalExpectation("pink",!1),peg$c711=function(){return"#ffc0cbff"},peg$c712="Pink",peg$c713=peg$literalExpectation("Pink",!1),peg$c714="plum",peg$c715=peg$literalExpectation("plum",!1),peg$c716=function(){return"#dda0ddff"},peg$c717="Plum",peg$c718=peg$literalExpectation("Plum",!1),peg$c719="powderblue",peg$c720=peg$literalExpectation("powderblue",!1),peg$c721=function(){return"#b0e0e6ff"},peg$c722="PowderBlue",peg$c723=peg$literalExpectation("PowderBlue",!1),peg$c724="purple",peg$c725=peg$literalExpectation("purple",!1),peg$c726=function(){return"#800080ff"},peg$c727="Purple",peg$c728=peg$literalExpectation("Purple",!1),peg$c729="red",peg$c730=peg$literalExpectation("red",!1),peg$c731=function(){return"#ff0000ff"},peg$c732="Red",peg$c733=peg$literalExpectation("Red",!1),peg$c734="rosybrown",peg$c735=peg$literalExpectation("rosybrown",!1),peg$c736=function(){return"#bc8f8fff"},peg$c737="RosyBrown",peg$c738=peg$literalExpectation("RosyBrown",!1),peg$c739="royalblue",peg$c740=peg$literalExpectation("royalblue",!1),peg$c741=function(){return"#4169e1ff"},peg$c742="RoyalBlue",peg$c743=peg$literalExpectation("RoyalBlue",!1),peg$c744="saddlebrown",peg$c745=peg$literalExpectation("saddlebrown",!1),peg$c746=function(){return"#8b4513ff"},peg$c747="SaddleBrown",peg$c748=peg$literalExpectation("SaddleBrown",!1),peg$c749="salmon",peg$c750=peg$literalExpectation("salmon",!1),peg$c751=function(){return"#fa8072ff"},peg$c752="Salmon",peg$c753=peg$literalExpectation("Salmon",!1),peg$c754="sandybrown",peg$c755=peg$literalExpectation("sandybrown",!1),peg$c756=function(){return"#f4a460ff"},peg$c757="SandyBrown",peg$c758=peg$literalExpectation("SandyBrown",!1),peg$c759="seagreen",peg$c760=peg$literalExpectation("seagreen",!1),peg$c761=function(){return"#2e8b57ff"},peg$c762="SeaGreen",peg$c763=peg$literalExpectation("SeaGreen",!1),peg$c764="seashell",peg$c765=peg$literalExpectation("seashell",!1),peg$c766=function(){return"#fff5eeff"},peg$c767="SeaShell",peg$c768=peg$literalExpectation("SeaShell",!1),peg$c769="sienna",peg$c770=peg$literalExpectation("sienna",!1),peg$c771=function(){return"#a0522dff"},peg$c772="Sienna",peg$c773=peg$literalExpectation("Sienna",!1),peg$c774="silver",peg$c775=peg$literalExpectation("silver",!1),peg$c776=function(){return"#c0c0c0ff"},peg$c777="Silver",peg$c778=peg$literalExpectation("Silver",!1),peg$c779="skyblue",peg$c780=peg$literalExpectation("skyblue",!1),peg$c781=function(){return"#87ceebff"},peg$c782="SkyBlue",peg$c783=peg$literalExpectation("SkyBlue",!1),peg$c784="slateblue",peg$c785=peg$literalExpectation("slateblue",!1),peg$c786=function(){return"#6a5acdff"},peg$c787="SlateBlue",peg$c788=peg$literalExpectation("SlateBlue",!1),peg$c789="slategray",peg$c790=peg$literalExpectation("slategray",!1),peg$c791=function(){return"#708090ff"},peg$c792="SlateGray",peg$c793=peg$literalExpectation("SlateGray",!1),peg$c794="slategrey",peg$c795=peg$literalExpectation("slategrey",!1),peg$c796="SlateGrey",peg$c797=peg$literalExpectation("SlateGrey",!1),peg$c798="snow",peg$c799=peg$literalExpectation("snow",!1),peg$c800=function(){return"#fffafaff"},peg$c801="Snow",peg$c802=peg$literalExpectation("Snow",!1),peg$c803="springgreen",peg$c804=peg$literalExpectation("springgreen",!1),peg$c805=function(){return"#00ff7fff"},peg$c806="SpringGreen",peg$c807=peg$literalExpectation("SpringGreen",!1),peg$c808="steelblue",peg$c809=peg$literalExpectation("steelblue",!1),peg$c810=function(){return"#4682b4ff"},peg$c811="SteelBlue",peg$c812=peg$literalExpectation("SteelBlue",!1),peg$c813="tan",peg$c814=peg$literalExpectation("tan",!1),peg$c815=function(){return"#d2b48cff"},peg$c816="Tan",peg$c817=peg$literalExpectation("Tan",!1),peg$c818="teal",peg$c819=peg$literalExpectation("teal",!1),peg$c820=function(){return"#008080ff"},peg$c821="Teal",peg$c822=peg$literalExpectation("Teal",!1),peg$c823="thistle",peg$c824=peg$literalExpectation("thistle",!1),peg$c825=function(){return"#d8bfd8ff"},peg$c826="Thistle",peg$c827=peg$literalExpectation("Thistle",!1),peg$c828="tomato",peg$c829=peg$literalExpectation("tomato",!1),peg$c830=function(){return"#ff6347ff"},peg$c831="Tomato",peg$c832=peg$literalExpectation("Tomato",!1),peg$c833="turquoise",peg$c834=peg$literalExpectation("turquoise",!1),peg$c835=function(){return"#40e0d0ff"},peg$c836="Turquoise",peg$c837=peg$literalExpectation("Turquoise",!1),peg$c838="violet",peg$c839=peg$literalExpectation("violet",!1),peg$c840=function(){return"#ee82eeff"},peg$c841="Violet",peg$c842=peg$literalExpectation("Violet",!1),peg$c843="wheat",peg$c844=peg$literalExpectation("wheat",!1),peg$c845=function(){return"#f5deb3ff"},peg$c846="Wheat",peg$c847=peg$literalExpectation("Wheat",!1),peg$c848="white",peg$c849=peg$literalExpectation("white",!1),peg$c850=function(){return"#ffffffff"},peg$c851="White",peg$c852=peg$literalExpectation("White",!1),peg$c853="whitesmoke",peg$c854=peg$literalExpectation("whitesmoke",!1),peg$c855=function(){return"#f5f5f5ff"},peg$c856="WhiteSmoke",peg$c857=peg$literalExpectation("WhiteSmoke",!1),peg$c858="yellow",peg$c859=peg$literalExpectation("yellow",!1),peg$c860=function(){return"#ffff00ff"},peg$c861="Yellow",peg$c862=peg$literalExpectation("Yellow",!1),peg$c863="yellowgreen",peg$c864=peg$literalExpectation("yellowgreen",!1),peg$c865=function(){return"#9acd32ff"},peg$c866="YellowGreen",peg$c867=peg$literalExpectation("YellowGreen",!1),peg$c868="#",peg$c869=peg$literalExpectation("#",!1),peg$c870=function(r,g,b){return""+r+r+g+g+b+b+"ff"},peg$c871=function(r1,r2,g1,g2,b1,b2){return""+r1+r2+g1+g2+b1+b2+"ff"},peg$c872=function(r,g,b,a){return""+r+r+g+g+b+b+a+a},peg$c873=function(r1,r2,g1,g2,b1,b2,a1,a2){return""+r1+r2+g1+g2+b1+b2+a1+a2},peg$c874=peg$otherExpectation("color"),peg$c875="arc_label",peg$c876=peg$literalExpectation("arc_label",!1),peg$c877="head_label",peg$c878=peg$literalExpectation("head_label",!1),peg$c879="tail_label",peg$c880=peg$literalExpectation("tail_label",!1),peg$c881=":",peg$c882=peg$literalExpectation(":",!1),peg$c883=";",peg$c884=peg$literalExpectation(";",!1),peg$c885=function(key,value){return{key:key,value:value}},peg$c886=peg$otherExpectation("single edge color"),peg$c887="edge_color",peg$c888=peg$literalExpectation("edge_color",!1),peg$c889=function(value){return{key:"single_edge_color",value:value}},peg$c890="{",peg$c891=peg$literalExpectation("{",!1),peg$c892="}",peg$c893=peg$literalExpectation("}",!1),peg$c894=function(items){return items},peg$c895="%",peg$c896=peg$literalExpectation("%",!1),peg$c897=function(value){return{key:"arrow probability",value:value}},peg$c898="[",peg$c899=peg$literalExpectation("[",!1),peg$c900="]",peg$c901=peg$literalExpectation("]",!1),peg$c902=function(names){return names.map(function(i){return i[0]})},peg$c903=function(r_action,r_prob,l_desc,arrow,r_desc,l_prob,l_action,label,tail){var base={kind:arrow,to:label};return tail&&tail!==[]&&(base.se=tail),l_desc&&(base.l_desc=l_desc),r_desc&&(base.r_desc=r_desc),l_action&&(base.l_action=l_action),r_action&&(base.r_action=r_action),l_prob&&(base.l_probability=l_prob.value),r_prob&&(base.r_probability=r_prob.value),base},peg$c904=function(label,se){var base={key:"transition",from:label};return se&&se!==[]&&(base.se=se),base},peg$c905="whargarbl",peg$c906=peg$literalExpectation("whargarbl",!1),peg$c907="todo",peg$c908=peg$literalExpectation("todo",!1),peg$c909=function(validationkey,value){return{key:validationkey,value:value}},peg$c910="validation",peg$c911=peg$literalExpectation("validation",!1),peg$c912="};",peg$c913=peg$literalExpectation("};",!1),peg$c914=function(validation_items){return{config_kind:"validation",config_items:validation_items||[]}},peg$c915="dot",peg$c916=peg$literalExpectation("dot",!1),peg$c917="circo",peg$c918=peg$literalExpectation("circo",!1),peg$c919="fdp",peg$c920=peg$literalExpectation("fdp",!1),peg$c921="neato",peg$c922=peg$literalExpectation("neato",!1),peg$c923="in_shape",peg$c924=peg$literalExpectation("in_shape",!1),peg$c925="out_shape",peg$c926=peg$literalExpectation("out_shape",!1),peg$c927="node_shape",peg$c928=peg$literalExpectation("node_shape",!1),peg$c929="state",peg$c930=peg$literalExpectation("state",!1),peg$c931=function(state_items){return{config_kind:"state",config_items:state_items||[]}},peg$c932=function(actionkey,value){return{key:actionkey,value:value}},peg$c933="action",peg$c934=peg$literalExpectation("action",!1),peg$c935=function(action_items){return{config_kind:"action",config_items:action_items||[]}},peg$c936=function(transitionkey,value){return{key:transitionkey,value:value}},peg$c937=peg$otherExpectation("graph default edge color"),peg$c938=function(value){return{key:"graph_default_edge_color",value:value}},peg$c939="transition",peg$c940=peg$literalExpectation("transition",!1),peg$c941=function(transition_items){return{config_kind:"transition",config_items:transition_items||[]}},peg$c942="graph_layout",peg$c943=peg$literalExpectation("graph_layout",!1),peg$c944=function(value){return{key:"graph_layout",value:value}},peg$c945="start_states",peg$c946=peg$literalExpectation("start_states",!1),peg$c947=function(value){return{key:"start_states",value:value}},peg$c948="end_states",peg$c949=peg$literalExpectation("end_states",!1),peg$c950=function(value){return{key:"end_states",value:value}},peg$c951="graph_bg_color",peg$c952=peg$literalExpectation("graph_bg_color",!1),peg$c953=function(value){return{key:"graph_bg_color",value:value}},peg$c954=peg$otherExpectation("configuration"),peg$c955="MIT",peg$c956=peg$literalExpectation("MIT",!1),peg$c957="BSD 2-clause",peg$c958=peg$literalExpectation("BSD 2-clause",!1),peg$c959="BSD 3-clause",peg$c960=peg$literalExpectation("BSD 3-clause",!1),peg$c961="Apache 2.0",peg$c962=peg$literalExpectation("Apache 2.0",!1),peg$c963="Mozilla 2.0",peg$c964=peg$literalExpectation("Mozilla 2.0",!1),peg$c965="Public domain",peg$c966=peg$literalExpectation("Public domain",!1),peg$c967="GPL v2",peg$c968=peg$literalExpectation("GPL v2",!1),peg$c969="GPL v3",peg$c970=peg$literalExpectation("GPL v3",!1),peg$c971="LGPL v2.1",peg$c972=peg$literalExpectation("LGPL v2.1",!1),peg$c973="LGPL v3.0",peg$c974=peg$literalExpectation("LGPL v3.0",!1),peg$c975="color",peg$c976=peg$literalExpectation("color",!1),peg$c977=function(value){return{key:"state color",value:value}},peg$c978=peg$otherExpectation("state quality"),peg$c979=function(name,value){return{key:"state quality",name:name,value:value}},peg$c980=peg$otherExpectation("state definition"),peg$c981=function(name,sq){return{key:"State qualities",value:sq}},peg$c982="machine_author",peg$c983=peg$literalExpectation("machine_author",!1),peg$c984=function(author){return{key:"machine_author",value:author}},peg$c985="machine_contributor",peg$c986=peg$literalExpectation("machine_contributor",!1),peg$c987=function(contributor){return{key:"machine_contributor",value:contributor}},peg$c988="machine_comment",peg$c989=peg$literalExpectation("machine_comment",!1),peg$c990=function(comment){return{key:"machine_comment",value:comment}},peg$c991="machine_definition",peg$c992=peg$literalExpectation("machine_definition",!1),peg$c993=function(definition){return{key:"machine_definition",value:definition}},peg$c994="machine_name",peg$c995=peg$literalExpectation("machine_name",!1),peg$c996=function(name){return{key:"machine_name",value:name}},peg$c1000=(peg$literalExpectation("machine_reference",!1),"machine_version"),peg$c1001=peg$literalExpectation("machine_version",!1),peg$c1002=function(version){return{key:"machine_version",value:version}},peg$c1003="machine_license",peg$c1004=peg$literalExpectation("machine_license",!1),peg$c1005=function(license){return{key:"machine_license",value:license}},peg$c1006="fsl_version",peg$c1007=peg$literalExpectation("fsl_version",!1),peg$c1008=function(fsl_version){return{key:"fsl_version",value:fsl_version}},peg$c1009="group",peg$c1010=peg$literalExpectation("group",!1),peg$c1011=function(name,nl){return{key:"group definition",value:{name:name,list:nl}}},peg$currPos=0,peg$savedPos=0,peg$posDetailsCache=[{line:1,column:1}],peg$maxFailPos=0,peg$maxFailExpected=[],peg$silentFails=0;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]}if((peg$result=peg$startRuleFunction())!==peg$FAILED&&peg$currPos===input.length)return peg$result;throw peg$result!==peg$FAILED&&peg$currPos1&&void 0!==arguments[1]?arguments[1]:"probability";if(!Array.isArray(options))throw new TypeError("options must be a non-empty array of objects");if("object"!==_typeof(options[0]))throw new TypeError("options must be a non-empty array of objects");for(var or_one=function(item){return void 0===item?1:item},rnd=function(cap){return Math.random()*cap}(options.reduce(function(acc,val){return acc+or_one(val[probability_property])},0)),cursor=0,cursor_sum=0;(cursor_sum+=or_one(options[cursor++][probability_property]))<=rnd;);return options[cursor-1]},seq=function(n){return new Array(n).fill(!0).map(function(_,i){return i})},histograph=function(a){return a.sort().reduce(function(m,v){return m.set(v,m.has(v)?m.get(v)+1:1),m},new Map)},weighted_sample_select=function(n,options,probability_property){return seq(n).map(function(i){return weighted_rand_select(options,probability_property)})};exports.seq=seq,exports.histograph=histograph,exports.weighted_histo_key=function(n,options,probability_property,extract){return histograph(weighted_sample_select(n,options,probability_property).map(function(s){return s[extract]}))},exports.weighted_rand_select=weighted_rand_select,exports.weighted_sample_select=weighted_sample_select},{}],jssm:[function(require,module,exports){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i":case"=>":case"~>":return"none";case"<-":case"<->":case"<-=>":case"<-~>":return"legal";case"<=":case"<=>":case"<=->":case"<=~>":return"main";case"<~":case"<~>":case"<~->":case"<~=>":return"forced";default:throw new Error("arrow_direction: unknown arrow type "+arrow)}}function arrow_right_kind(arrow){switch(String(arrow)){case"<-":case"<=":case"<~":return"none";case"->":case"<->":case"<=->":case"<~->":return"legal";case"=>":case"<=>":case"<-=>":case"<~=>":return"main";case"~>":case"<~>":case"<-~>":case"<=~>":return"forced";default:throw new Error("arrow_direction: unknown arrow type "+arrow)}}function compile_rule_transition_step(acc,from,to,this_se,next_se){var edges=[],uFrom=Array.isArray(from)?from:[from],uTo=Array.isArray(to)?to:[to];uFrom.map(function(f){uTo.map(function(t){var rk=arrow_right_kind(this_se.kind),lk=arrow_left_kind(this_se.kind),right={from:f,to:t,kind:rk,forced_only:"forced"===rk,main_path:"main"===rk};this_se.r_action&&(right.action=this_se.r_action),this_se.r_probability&&(right.probability=this_se.r_probability),"none"!==right.kind&&edges.push(right);var left={from:t,to:f,kind:lk,forced_only:"forced"===lk,main_path:"main"===lk};this_se.l_action&&(left.action=this_se.l_action),this_se.l_probability&&(left.probability=this_se.l_probability),"none"!==left.kind&&edges.push(left)})});var new_acc=acc.concat(edges);return next_se?compile_rule_transition_step(new_acc,to,next_se.to,next_se,next_se.se):new_acc}function compile_rule_handle_transition(rule){return compile_rule_transition_step([],rule.from,rule.se.to,rule.se,rule.se.se)}function compile_rule_handler(rule){if("transition"===rule.key)return{agg_as:"transition",val:compile_rule_handle_transition(rule)};if(["graph_layout","start_states","end_states","machine_name","machine_version","machine_comment","machine_author","machine_contributor","machine_definition","machine_reference","machine_license","fsl_version"].includes(rule.key))return{agg_as:rule.key,val:rule.value};throw new Error("compile_rule_handler: Unknown rule: "+JSON.stringify(rule))}function compile(tree){var _ref,results={graph_layout:[],transition:[],start_states:[],end_states:[],fsl_version:[],machine_author:[],machine_comment:[],machine_contributor:[],machine_definition:[],machine_license:[],machine_name:[],machine_version:[]};tree.map(function(tr){var rule=compile_rule_handler(tr),agg_as=rule.agg_as,val=rule.val;results[agg_as]=results[agg_as].concat(val)});var assembled_transitions=(_ref=[]).concat.apply(_ref,_toConsumableArray(results.transition)),result_cfg={start_states:results.start_states.length?results.start_states:[assembled_transitions[0].from],transitions:assembled_transitions};return["graph_layout","machine_name","machine_version","machine_comment","fsl_version","machine_license"].map(function(oneOnlyKey){if(results[oneOnlyKey].length>1)throw new Error("May only have one "+oneOnlyKey+" statement maximum: "+JSON.stringify(results[oneOnlyKey]));results[oneOnlyKey].length&&(result_cfg[oneOnlyKey]=results[oneOnlyKey][0])}),["machine_author"].map(function(multiKey){results[multiKey].length&&(result_cfg[multiKey]=results[multiKey])}),result_cfg}function make(plan){return compile(parse(plan))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.weighted_histo_key=exports.weighted_sample_select=exports.histograph=exports.weighted_rand_select=exports.seq=exports.arrow_right_kind=exports.arrow_left_kind=exports.arrow_direction=exports.sm=exports.compile=exports.parse=exports.make=exports.Machine=exports.version=void 0;var _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:this.state();return{entrances:this.list_entrances(whichState),exits:this.list_exits(whichState)}}},{key:"list_entrances",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return(this._states.get(whichState)||{}).from||[]}},{key:"list_exits",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return(this._states.get(whichState)||{}).to||[]}},{key:"probable_exits_for",value:function(whichState){var _this2=this,wstate=this._states.get(whichState);if(!wstate)throw new Error("No such state "+JSON.stringify(whichState)+" in probable_exits_for");return wstate.to.map(function(ws){return _this2.lookup_transition_for(_this2.state(),ws)}).filter(Boolean)}},{key:"probabilistic_transition",value:function(){var selected=(0,_jssmUtil.weighted_rand_select)(this.probable_exits_for(this.state()));return this.transition(selected.to)}},{key:"probabilistic_walk",value:function(n){var _this3=this;return(0,_jssmUtil.seq)(n).map(function(){var state_was=_this3.state();return _this3.probabilistic_transition(),state_was}).concat([this.state()])}},{key:"probabilistic_histo_walk",value:function(n){return(0,_jssmUtil.histograph)(this.probabilistic_walk(n))}},{key:"actions",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state(),wstate=this._reverse_actions.get(whichState);if(wstate)return[].concat(_toConsumableArray(wstate.keys()));throw new Error("No such state "+JSON.stringify(whichState))}},{key:"list_states_having_action",value:function(whichState){var wstate=this._actions.get(whichState);if(wstate)return[].concat(_toConsumableArray(wstate.keys()));throw new Error("No such state "+JSON.stringify(whichState))}},{key:"list_exit_actions",value:function(){var _this4=this,whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state(),ra_base=this._reverse_actions.get(whichState);if(!ra_base)throw new Error("No such state "+JSON.stringify(whichState));return[].concat(_toConsumableArray(ra_base.values())).map(function(edgeId){return _this4._edges[edgeId]}).filter(function(o){return o.from===whichState}).map(function(filtered){return filtered.action})}},{key:"probable_action_exits",value:function(){var _this5=this,whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state(),ra_base=this._reverse_actions.get(whichState);if(!ra_base)throw new Error("No such state "+JSON.stringify(whichState));return[].concat(_toConsumableArray(ra_base.values())).map(function(edgeId){return _this5._edges[edgeId]}).filter(function(o){return o.from===whichState}).map(function(filtered){return{action:filtered.action,probability:filtered.probability}})}},{key:"is_unenterable",value:function(whichState){return 0===this.list_entrances(whichState).length}},{key:"has_unenterables",value:function(){var _this6=this;return this.states().some(function(x){return _this6.is_unenterable(x)})}},{key:"is_terminal",value:function(){return this.state_is_terminal(this.state())}},{key:"state_is_terminal",value:function(whichState){return 0===this.list_exits(whichState).length}},{key:"has_terminals",value:function(){var _this7=this;return this.states().some(function(x){return _this7.state_is_terminal(x)})}},{key:"is_complete",value:function(){return this.state_is_complete(this.state())}},{key:"state_is_complete",value:function(whichState){var wstate=this._states.get(whichState);if(wstate)return wstate.complete;throw new Error("No such state "+JSON.stringify(whichState))}},{key:"has_completes",value:function(){var _this8=this;return this.states().some(function(x){return _this8.state_is_complete(x)})}},{key:"action",value:function(name,newData){if(this.valid_action(name,newData)){var edge=this.current_action_edge_for(name);return this._state=edge.to,!0}return!1}},{key:"transition",value:function(newState,newData){return!!this.valid_transition(newState,newData)&&(this._state=newState,!0)}},{key:"force_transition",value:function(newState,newData){return!!this.valid_force_transition(newState,newData)&&(this._state=newState,!0)}},{key:"current_action_for",value:function(action){var action_base=this._actions.get(action);return action_base?action_base.get(this.state()):void 0}},{key:"current_action_edge_for",value:function(action){var idx=this.current_action_for(action);if(void 0===idx||null===idx)throw new Error("No such action "+JSON.stringify(action));return this._edges[idx]}},{key:"valid_action",value:function(action,_newData){return void 0!==this.current_action_for(action)}},{key:"valid_transition",value:function(newState,_newData){var transition_for=this.lookup_transition_for(this.state(),newState);return!!transition_for&&!transition_for.forced_only}},{key:"valid_force_transition",value:function(newState,_newData){return void 0!==this.lookup_transition_for(this.state(),newState)}}]),Machine}();exports.version="5.6.0",exports.Machine=Machine,exports.make=make,exports.parse=parse,exports.compile=compile,exports.sm=function(template_strings){var _arguments=arguments;return new Machine(make(template_strings.reduce(function(acc,val,idx){return""+acc+_arguments[idx]+val})))},exports.arrow_direction=function(arrow){switch(String(arrow)){case"->":case"=>":case"~>":return"right";case"<-":case"<=":case"<~":return"left";case"<->":case"<-=>":case"<-~>":case"<=>":case"<=->":case"<=~>":case"<~>":case"<~->":case"<~=>":return"both";default:throw new Error("arrow_direction: unknown arrow type "+arrow)}},exports.arrow_left_kind=arrow_left_kind,exports.arrow_right_kind=arrow_right_kind,exports.seq=_jssmUtil.seq,exports.weighted_rand_select=_jssmUtil.weighted_rand_select,exports.histograph=_jssmUtil.histograph,exports.weighted_sample_select=_jssmUtil.weighted_sample_select,exports.weighted_histo_key=_jssmUtil.weighted_histo_key},{"./jssm-dot.js":1,"./jssm-util.js":2}]},{},[]); \ No newline at end of file +require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n||e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o0){for(i=1,j=1;ipeg$maxFailPos&&(peg$maxFailPos=peg$currPos,peg$maxFailExpected=[]),peg$maxFailExpected.push(expected))}function peg$buildStructuredError(expected,found,location){return new peg$SyntaxError(peg$SyntaxError.buildMessage(expected,found),expected,found,location)}function peg$parseDocument(){var s0,s1,s2,s3;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED&&(s2=peg$parseTermList())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c0(s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseGvizShape(){var s0;return input.substr(peg$currPos,6)===peg$c1?(s0=peg$c1,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c2)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c3?(s0=peg$c3,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c4)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c5?(s0=peg$c5,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c6)))),s0}function peg$parseForwardLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c8?(s0=peg$c8,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c9)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c7),s0}function peg$parseTwoWayLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c11?(s0=peg$c11,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c12)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c10),s0}function peg$parseBackLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c14?(s0=peg$c14,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c15)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c13),s0}function peg$parseForwardFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c17?(s0=peg$c17,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c18)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c16),s0}function peg$parseTwoWayFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c20?(s0=peg$c20,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c21)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c19),s0}function peg$parseBackFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c23?(s0=peg$c23,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c24)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c22),s0}function peg$parseForwardTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c26?(s0=peg$c26,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c27)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c25),s0}function peg$parseTwoWayTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c29?(s0=peg$c29,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c30)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c28),s0}function peg$parseBackTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c32?(s0=peg$c32,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c33)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c31),s0}function peg$parseLightFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c35?(s0=peg$c35,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c36)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c34),s0}function peg$parseLightTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c38?(s0=peg$c38,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c39)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c37),s0}function peg$parseFatLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c41?(s0=peg$c41,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c42)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c40),s0}function peg$parseFatTildeArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c44?(s0=peg$c44,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c45)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c43),s0}function peg$parseTildeLightArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c47?(s0=peg$c47,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c48)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c46),s0}function peg$parseTildeFatArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c50?(s0=peg$c50,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c51)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c49),s0}function peg$parseLightArrow(){var s0;return peg$silentFails++,(s0=peg$parseForwardLightArrow())===peg$FAILED&&(s0=peg$parseTwoWayLightArrow())===peg$FAILED&&(s0=peg$parseBackLightArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c52),s0}function peg$parseFatArrow(){var s0;return peg$silentFails++,(s0=peg$parseForwardFatArrow())===peg$FAILED&&(s0=peg$parseTwoWayFatArrow())===peg$FAILED&&(s0=peg$parseBackFatArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c53),s0}function peg$parseTildeArrow(){var s0;return peg$silentFails++,(s0=peg$parseForwardTildeArrow())===peg$FAILED&&(s0=peg$parseTwoWayTildeArrow())===peg$FAILED&&(s0=peg$parseBackTildeArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c54),s0}function peg$parseMixedArrow(){var s0;return peg$silentFails++,(s0=peg$parseLightFatArrow())===peg$FAILED&&(s0=peg$parseLightTildeArrow())===peg$FAILED&&(s0=peg$parseFatLightArrow())===peg$FAILED&&(s0=peg$parseFatTildeArrow())===peg$FAILED&&(s0=peg$parseTildeLightArrow())===peg$FAILED&&(s0=peg$parseTildeFatArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c55),s0}function peg$parseArrow(){var s0;return peg$silentFails++,(s0=peg$parseMixedArrow())===peg$FAILED&&(s0=peg$parseLightArrow())===peg$FAILED&&(s0=peg$parseFatArrow())===peg$FAILED&&(s0=peg$parseTildeArrow()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c56),s0}function peg$parseHexDigit(){var s0;return peg$c57.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c58)),s0}function peg$parseChar(){var s0,s2,s3,s4,s5,s6,s7,s8,s9;return(s0=peg$parseUnescaped())===peg$FAILED&&(s0=peg$currPos,peg$parseEscape()!==peg$FAILED?(34===input.charCodeAt(peg$currPos)?(s2=peg$c59,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c60)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c61,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c62)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c63,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c64)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c65,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c66)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c67()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c68,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c69)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c70()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c71,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c72)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c73()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c74,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c75)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c76()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c77,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c78)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c79()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c80,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c81)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c82()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c83,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c84)),s3!==peg$FAILED?(s4=peg$currPos,s5=peg$currPos,(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED&&(s8=peg$parseHexDigit())!==peg$FAILED&&(s9=peg$parseHexDigit())!==peg$FAILED?s5=s6=[s6,s7,s8,s9]:(peg$currPos=s5,s5=peg$FAILED),(s4=s5!==peg$FAILED?input.substring(s4,peg$currPos):s5)!==peg$FAILED?(peg$savedPos=s2,s2=s3=peg$c85(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c86(s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseEscape(){var s0;return 92===input.charCodeAt(peg$currPos)?(s0=peg$c61,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c62)),s0}function peg$parseQuoteMark(){var s0;return 34===input.charCodeAt(peg$currPos)?(s0=peg$c59,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c60)),s0}function peg$parseUnescaped(){var s0;return peg$c87.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c88)),s0}function peg$parseActionLabelChar(){var s0,s2,s3,s4,s5,s6,s7,s8,s9;return(s0=peg$parseActionLabelUnescaped())===peg$FAILED&&(s0=peg$currPos,peg$parseEscape()!==peg$FAILED?(39===input.charCodeAt(peg$currPos)?(s2=peg$c89,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c90)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c61,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c62)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c63,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c64)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c65,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c66)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c67()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c68,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c69)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c70()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c71,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c72)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c73()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c74,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c75)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c76()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c77,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c78)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c79()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c80,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c81)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c82()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c83,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c84)),s3!==peg$FAILED?(s4=peg$currPos,s5=peg$currPos,(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED&&(s8=peg$parseHexDigit())!==peg$FAILED&&(s9=peg$parseHexDigit())!==peg$FAILED?s5=s6=[s6,s7,s8,s9]:(peg$currPos=s5,s5=peg$FAILED),(s4=s5!==peg$FAILED?input.substring(s4,peg$currPos):s5)!==peg$FAILED?(peg$savedPos=s2,s2=s3=peg$c85(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c86(s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseActionLabelQuoteMark(){var s0;return 39===input.charCodeAt(peg$currPos)?(s0=peg$c89,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c90)),s0}function peg$parseActionLabelUnescaped(){var s0;return peg$c91.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c92)),s0}function peg$parseActionLabel(){var s0,s2,s3;if(peg$silentFails++,s0=peg$currPos,peg$parseActionLabelQuoteMark()!==peg$FAILED){for(s2=[],s3=peg$parseActionLabelChar();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseActionLabelChar();s2!==peg$FAILED&&(s3=peg$parseActionLabelQuoteMark())!==peg$FAILED?(peg$savedPos=s0,s0=peg$c94(s2)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c93),s0}function peg$parseLineTerminator(){var s0;return peg$c95.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c96)),s0}function peg$parseBlockCommentTail(){var s0,s1,s2;return input.substr(peg$currPos,2)===peg$c99?(s0=peg$c99,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c100)),s0===peg$FAILED&&(s0=peg$currPos,input.length>peg$currPos?(s1=input.charAt(peg$currPos),peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c101)),s1!==peg$FAILED&&(s2=peg$parseBlockCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseBlockComment(){var s0,s1,s2;return s0=peg$currPos,input.substr(peg$currPos,2)===peg$c102?(s1=peg$c102,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c103)),s1!==peg$FAILED&&(s2=peg$parseBlockCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseEOF(){var s0,s1;return s0=peg$currPos,peg$silentFails++,input.length>peg$currPos?(s1=input.charAt(peg$currPos),peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c101)),peg$silentFails--,s1===peg$FAILED?s0=void 0:(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseLineCommentTail(){var s0,s1,s2;return(s0=peg$parseLineTerminator())===peg$FAILED&&(s0=peg$parseEOF())===peg$FAILED&&(s0=peg$currPos,input.length>peg$currPos?(s1=input.charAt(peg$currPos),peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c101)),s1!==peg$FAILED&&(s2=peg$parseLineCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseLineComment(){var s0,s1,s2;return s0=peg$currPos,input.substr(peg$currPos,2)===peg$c104?(s1=peg$c104,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c105)),s1!==peg$FAILED&&(s2=peg$parseLineCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseWS(){var s0,s1,s2;if(s0=peg$currPos,(s1=peg$parseBlockComment())!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0===peg$FAILED&&(s0=peg$currPos,(s1=peg$parseLineComment())!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0===peg$FAILED)){if(s0=peg$currPos,s1=[],peg$c106.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c107)),s2!==peg$FAILED)for(;s2!==peg$FAILED;)s1.push(s2),peg$c106.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c107));else s1=peg$FAILED;s1!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)}return s0}function peg$parseString(){var s0,s2,s3;if(peg$silentFails++,s0=peg$currPos,peg$parseQuoteMark()!==peg$FAILED){for(s2=[],s3=peg$parseChar();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseChar();s2!==peg$FAILED&&(s3=peg$parseQuoteMark())!==peg$FAILED?(peg$savedPos=s0,s0=peg$c94(s2)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c108),s0}function peg$parseAtom(){var s0,s1,s2;if(peg$silentFails++,s0=peg$currPos,s1=[],peg$c110.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c111)),s2!==peg$FAILED)for(;s2!==peg$FAILED;)s1.push(s2),peg$c110.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c111));else s1=peg$FAILED;return s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c112(s1)),s0=s1,peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c109)),s0}function peg$parseLabel(){var s0;return peg$silentFails++,(s0=peg$parseAtom())===peg$FAILED&&(s0=peg$parseString()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c113),s0}function peg$parseIntegerLiteral(){var s0,s1,s2,s3;if(48===input.charCodeAt(peg$currPos)?(s0=peg$c114,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c115)),s0===peg$FAILED)if(s0=peg$currPos,(s1=peg$parseNonZeroDigit())!==peg$FAILED){for(s2=[],s3=peg$parseDecimalDigit();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseDecimalDigit();s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return s0}function peg$parseDecimalDigit(){var s0;return peg$c116.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c117)),s0}function peg$parseNonZeroDigit(){var s0;return peg$c118.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c119)),s0}function peg$parseNonNegNumber(){var s0,s2,s3,s4;if(peg$silentFails++,s0=peg$currPos,peg$parseIntegerLiteral()!==peg$FAILED)if(46===input.charCodeAt(peg$currPos)?(s2=peg$c121,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c122)),s2!==peg$FAILED){for(s3=[],s4=peg$parseDecimalDigit();s4!==peg$FAILED;)s3.push(s4),s4=peg$parseDecimalDigit();s3!==peg$FAILED?((s4=peg$parseWS())===peg$FAILED&&(s4=null),s4!==peg$FAILED?(peg$savedPos=s0,s0=peg$c123()):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;else peg$currPos=s0,s0=peg$FAILED;return s0===peg$FAILED&&(s0=peg$currPos,peg$parseIntegerLiteral()!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c123()):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c120),s0}function peg$parseSemVer(){var s0,s1,s2,s3,s4,s5;return s0=peg$currPos,(s1=peg$parseIntegerLiteral())!==peg$FAILED?(46===input.charCodeAt(peg$currPos)?(s2=peg$c121,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c122)),s2!==peg$FAILED&&(s3=peg$parseIntegerLiteral())!==peg$FAILED?(46===input.charCodeAt(peg$currPos)?(s4=peg$c121,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c122)),s4!==peg$FAILED&&(s5=peg$parseIntegerLiteral())!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c124(s1,s3,s5)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseUrlProtocol(){var s0;return input.substr(peg$currPos,7)===peg$c135?(s0=peg$c135,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c136)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c137?(s0=peg$c137,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c138))),s0}function peg$parseURL(){var s0,s1,s2,s3;if(s0=peg$currPos,(s1=peg$parseUrlProtocol())!==peg$FAILED){if(s2=[],peg$c139.test(input.charAt(peg$currPos))?(s3=input.charAt(peg$currPos),peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c140)),s3!==peg$FAILED)for(;s3!==peg$FAILED;)s2.push(s3),peg$c139.test(input.charAt(peg$currPos))?(s3=input.charAt(peg$currPos),peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c140));else s2=peg$FAILED;s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c141(s1)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return s0}function peg$parseSvgColorLabel(){var s0,s1;return s0=peg$currPos,input.substr(peg$currPos,9)===peg$c142?(s1=peg$c142,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c143)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c144()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c145?(s1=peg$c145,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c146)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c144()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c147?(s1=peg$c147,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c148)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c149()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c150?(s1=peg$c150,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c151)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c149()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c152?(s1=peg$c152,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c153)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c154()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c155?(s1=peg$c155,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c156)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c154()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c157?(s1=peg$c157,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c158)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c159()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c160?(s1=peg$c160,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c161)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c159()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c162?(s1=peg$c162,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c163)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c164()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c165?(s1=peg$c165,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c166)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c164()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c167?(s1=peg$c167,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c168)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c169()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c170?(s1=peg$c170,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c171)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c169()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c172?(s1=peg$c172,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c173)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c174()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c175?(s1=peg$c175,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c176)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c174()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c177?(s1=peg$c177,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c178)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c179()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c180?(s1=peg$c180,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c181)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c179()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c182?(s1=peg$c182,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c183)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c184()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c185?(s1=peg$c185,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c186)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c184()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c187?(s1=peg$c187,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c188)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c189()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c190?(s1=peg$c190,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c191)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c189()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c192?(s1=peg$c192,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c193)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c194()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c195?(s1=peg$c195,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c196)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c194()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c197?(s1=peg$c197,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c198)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c199()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c200?(s1=peg$c200,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c201)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c199()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c202?(s1=peg$c202,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c203)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c204()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c205?(s1=peg$c205,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c206)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c204()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c207?(s1=peg$c207,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c208)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c209()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c210?(s1=peg$c210,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c211)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c209()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c212?(s1=peg$c212,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c213)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c214()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c215?(s1=peg$c215,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c216)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c214()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c217?(s1=peg$c217,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c218)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c219()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c220?(s1=peg$c220,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c221)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c219()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c222?(s1=peg$c222,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c223)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c224()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c225?(s1=peg$c225,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c226)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c224()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c227?(s1=peg$c227,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c228)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c229()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c230?(s1=peg$c230,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c231)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c229()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c232?(s1=peg$c232,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c233)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c234()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c235?(s1=peg$c235,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c236)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c234()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c237?(s1=peg$c237,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c238)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c239()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c240?(s1=peg$c240,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c241)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c239()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c242?(s1=peg$c242,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c243)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c154()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c244?(s1=peg$c244,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c245)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c154()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c246?(s1=peg$c246,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c247)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c248()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c249?(s1=peg$c249,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c250)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c248()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c251?(s1=peg$c251,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c252)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c253()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c254?(s1=peg$c254,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c255)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c253()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c256?(s1=peg$c256,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c257)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c258()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c259?(s1=peg$c259,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c260)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c258()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c261?(s1=peg$c261,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c262)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c263()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c264?(s1=peg$c264,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c265)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c263()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c266?(s1=peg$c266,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c267)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c263()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c268?(s1=peg$c268,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c269)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c263()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c270?(s1=peg$c270,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c271)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c272()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c273?(s1=peg$c273,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c274)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c272()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c275?(s1=peg$c275,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c276)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c277()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c278?(s1=peg$c278,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c279)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c277()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c280?(s1=peg$c280,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c281)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c282()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c283?(s1=peg$c283,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c284)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c282()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c285?(s1=peg$c285,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c286)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c287()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c288?(s1=peg$c288,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c289)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c287()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c290?(s1=peg$c290,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c291)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c292()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c293?(s1=peg$c293,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c294)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c292()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c295?(s1=peg$c295,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c296)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c297()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c298?(s1=peg$c298,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c299)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c297()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c300?(s1=peg$c300,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c301)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c302()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c303?(s1=peg$c303,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c304)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c302()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c305?(s1=peg$c305,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c306)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c307()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c308?(s1=peg$c308,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c309)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c307()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c310?(s1=peg$c310,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c311)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c312()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c313?(s1=peg$c313,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c314)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c312()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c315?(s1=peg$c315,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c316)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c317()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c318?(s1=peg$c318,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c319)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c317()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c320?(s1=peg$c320,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c321)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c322()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c323?(s1=peg$c323,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c324)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c322()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c325?(s1=peg$c325,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c326)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c322()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c327?(s1=peg$c327,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c328)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c322()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c329?(s1=peg$c329,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c330)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c331()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c332?(s1=peg$c332,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c333)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c331()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c334?(s1=peg$c334,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c335)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c336()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c337?(s1=peg$c337,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c338)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c336()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c339?(s1=peg$c339,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c340)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c341()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c342?(s1=peg$c342,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c343)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c341()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c344?(s1=peg$c344,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c345)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c346()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c347?(s1=peg$c347,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c348)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c346()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c349?(s1=peg$c349,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c350)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c351()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c352?(s1=peg$c352,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c353)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c351()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c354?(s1=peg$c354,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c355)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c351()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c356?(s1=peg$c356,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c357)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c351()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c358?(s1=peg$c358,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c359)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c360()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c361?(s1=peg$c361,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c362)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c360()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c363?(s1=peg$c363,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c364)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c365()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c366?(s1=peg$c366,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c367)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c365()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c368?(s1=peg$c368,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c369)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c370()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c371?(s1=peg$c371,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c372)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c370()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c373?(s1=peg$c373,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c374)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c375()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c376?(s1=peg$c376,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c377)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c375()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c378?(s1=peg$c378,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c379)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c380()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c381?(s1=peg$c381,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c382)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c380()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c383?(s1=peg$c383,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c384)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c385()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c386?(s1=peg$c386,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c387)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c385()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c388?(s1=peg$c388,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c389)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c390()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c391?(s1=peg$c391,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c392)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c390()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c393?(s1=peg$c393,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c394)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c395()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c396?(s1=peg$c396,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c397)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c395()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c398?(s1=peg$c398,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c399)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c400()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c401?(s1=peg$c401,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c402)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c400()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c403?(s1=peg$c403,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c404)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c405()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c406?(s1=peg$c406,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c407)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c405()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c408?(s1=peg$c408,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c409)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c405()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c410?(s1=peg$c410,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c411)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c405()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c412?(s1=peg$c412,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c413)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c414()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c415?(s1=peg$c415,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c416)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c414()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c417?(s1=peg$c417,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c418)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c419()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c420?(s1=peg$c420,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c421)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c419()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c422?(s1=peg$c422,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c423)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c424()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c425?(s1=peg$c425,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c426)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c424()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c427?(s1=peg$c427,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c428)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c429()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c430?(s1=peg$c430,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c431)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c429()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c432?(s1=peg$c432,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c433)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c434()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c435?(s1=peg$c435,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c436)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c434()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c437?(s1=peg$c437,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c438)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c439()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c440?(s1=peg$c440,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c441)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c439()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c442?(s1=peg$c442,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c443)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c444()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c445?(s1=peg$c445,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c446)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c444()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c447?(s1=peg$c447,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c448)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c449()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c450?(s1=peg$c450,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c451)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c449()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c452?(s1=peg$c452,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c453)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c454()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c455?(s1=peg$c455,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c456)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c454()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c457?(s1=peg$c457,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c458)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c459()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c460?(s1=peg$c460,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c461)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c459()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c462?(s1=peg$c462,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c463)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c464()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c465?(s1=peg$c465,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c466)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c464()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c467?(s1=peg$c467,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c468)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c469()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c470?(s1=peg$c470,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c471)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c469()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c472?(s1=peg$c472,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c473)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c474()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c475?(s1=peg$c475,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c476)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c474()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c477?(s1=peg$c477,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c478)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c479()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c480?(s1=peg$c480,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c481)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c479()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c482?(s1=peg$c482,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c483)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c484()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c485?(s1=peg$c485,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c486)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c484()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,20)===peg$c487?(s1=peg$c487,peg$currPos+=20):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c488)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c489()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,20)===peg$c490?(s1=peg$c490,peg$currPos+=20):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c491)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c489()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c492?(s1=peg$c492,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c493)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c494()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c495?(s1=peg$c495,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c496)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c494()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c497?(s1=peg$c497,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c498)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c494()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c499?(s1=peg$c499,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c500)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c494()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c501?(s1=peg$c501,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c502)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c503()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c504?(s1=peg$c504,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c505)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c503()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c506?(s1=peg$c506,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c507)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c508()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c509?(s1=peg$c509,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c510)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c508()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c511?(s1=peg$c511,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c512)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c513()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c514?(s1=peg$c514,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c515)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c513()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c516?(s1=peg$c516,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c517)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c518()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c519?(s1=peg$c519,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c520)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c518()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c521?(s1=peg$c521,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c522)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c523()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c524?(s1=peg$c524,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c525)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c523()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c526?(s1=peg$c526,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c527)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c528()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c529?(s1=peg$c529,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c530)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c528()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c531?(s1=peg$c531,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c532)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c528()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c533?(s1=peg$c533,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c534)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c528()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c535?(s1=peg$c535,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c536)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c537()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c538?(s1=peg$c538,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c539)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c537()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c540?(s1=peg$c540,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c541)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c542()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c543?(s1=peg$c543,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c544)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c542()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c545?(s1=peg$c545,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c546)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c547()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c548?(s1=peg$c548,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c549)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c547()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c550?(s1=peg$c550,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c551)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c552()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c553?(s1=peg$c553,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c554)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c552()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c555?(s1=peg$c555,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c556)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c557()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c558?(s1=peg$c558,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c559)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c557()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c560?(s1=peg$c560,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c561)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c380()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c562?(s1=peg$c562,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c563)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c380()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c564?(s1=peg$c564,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c565)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c566()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c567?(s1=peg$c567,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c568)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c566()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,16)===peg$c569?(s1=peg$c569,peg$currPos+=16):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c570)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c571()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,16)===peg$c572?(s1=peg$c572,peg$currPos+=16):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c573)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c571()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c574?(s1=peg$c574,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c575)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c576()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c577?(s1=peg$c577,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c578)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c576()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c579?(s1=peg$c579,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c580)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c581()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c582?(s1=peg$c582,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c583)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c581()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c584?(s1=peg$c584,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c585)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c586()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c587?(s1=peg$c587,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c588)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c586()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c589?(s1=peg$c589,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c590)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c591()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c592?(s1=peg$c592,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c593)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c591()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c594?(s1=peg$c594,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c595)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c596()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c597?(s1=peg$c597,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c598)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c596()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,17)===peg$c599?(s1=peg$c599,peg$currPos+=17):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c600)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c601()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,17)===peg$c602?(s1=peg$c602,peg$currPos+=17):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c603)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c601()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c604?(s1=peg$c604,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c605)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c606()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c607?(s1=peg$c607,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c608)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c606()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c609?(s1=peg$c609,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c610)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c611()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c612?(s1=peg$c612,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c613)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c611()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c614?(s1=peg$c614,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c615)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c616()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c617?(s1=peg$c617,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c618)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c616()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c619?(s1=peg$c619,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c620)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c621()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c622?(s1=peg$c622,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c623)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c621()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c624?(s1=peg$c624,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c625)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c626()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c627?(s1=peg$c627,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c628)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c626()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c629?(s1=peg$c629,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c630)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c631()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c632?(s1=peg$c632,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c633)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c631()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c634?(s1=peg$c634,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c635)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c636()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c637?(s1=peg$c637,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c638)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c636()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c639?(s1=peg$c639,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c640)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c641()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c642?(s1=peg$c642,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c643)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c641()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c644?(s1=peg$c644,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c645)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c646()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c647?(s1=peg$c647,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c648)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c646()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c649?(s1=peg$c649,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c650)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c651()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c652?(s1=peg$c652,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c653)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c651()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c654?(s1=peg$c654,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c655)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c656()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c657?(s1=peg$c657,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c658)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c656()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c659?(s1=peg$c659,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c660)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c661()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c662?(s1=peg$c662,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c663)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c661()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c664?(s1=peg$c664,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c665)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c666()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c667?(s1=peg$c667,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c668)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c666()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c669?(s1=peg$c669,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c670)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c671()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c672?(s1=peg$c672,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c673)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c671()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c674?(s1=peg$c674,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c675)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c676()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c677?(s1=peg$c677,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c678)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c676()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c679?(s1=peg$c679,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c680)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c681()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c682?(s1=peg$c682,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c683)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c681()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c684?(s1=peg$c684,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c685)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c686()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c687?(s1=peg$c687,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c688)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c686()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c689?(s1=peg$c689,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c690)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c691()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c692?(s1=peg$c692,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c693)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c691()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c694?(s1=peg$c694,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c695)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c696()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c697?(s1=peg$c697,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c698)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c696()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c699?(s1=peg$c699,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c700)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c701()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c702?(s1=peg$c702,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c703)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c701()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c704?(s1=peg$c704,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c705)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c706()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c707?(s1=peg$c707,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c708)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c706()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c709?(s1=peg$c709,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c710)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c711()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c712?(s1=peg$c712,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c713)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c711()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c714?(s1=peg$c714,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c715)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c716()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c717?(s1=peg$c717,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c718)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c716()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c719?(s1=peg$c719,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c720)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c721()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c722?(s1=peg$c722,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c723)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c721()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c724?(s1=peg$c724,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c725)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c726()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c727?(s1=peg$c727,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c728)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c726()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c729?(s1=peg$c729,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c730)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c731()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c732?(s1=peg$c732,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c733)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c731()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c734?(s1=peg$c734,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c735)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c736()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c737?(s1=peg$c737,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c738)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c736()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c739?(s1=peg$c739,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c740)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c741()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c742?(s1=peg$c742,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c743)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c741()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c744?(s1=peg$c744,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c745)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c746()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c747?(s1=peg$c747,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c748)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c746()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c749?(s1=peg$c749,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c750)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c751()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c752?(s1=peg$c752,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c753)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c751()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c754?(s1=peg$c754,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c755)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c756()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c757?(s1=peg$c757,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c758)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c756()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c759?(s1=peg$c759,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c760)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c761()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c762?(s1=peg$c762,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c763)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c761()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c764?(s1=peg$c764,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c765)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c766()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c767?(s1=peg$c767,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c768)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c766()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c769?(s1=peg$c769,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c770)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c771()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c772?(s1=peg$c772,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c773)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c771()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c774?(s1=peg$c774,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c775)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c776()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c777?(s1=peg$c777,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c778)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c776()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c779?(s1=peg$c779,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c780)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c781()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c782?(s1=peg$c782,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c783)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c781()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c784?(s1=peg$c784,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c785)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c786()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c787?(s1=peg$c787,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c788)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c786()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c789?(s1=peg$c789,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c790)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c791()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c792?(s1=peg$c792,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c793)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c791()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c794?(s1=peg$c794,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c795)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c791()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c796?(s1=peg$c796,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c797)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c791()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c798?(s1=peg$c798,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c799)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c800()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c801?(s1=peg$c801,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c802)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c800()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c803?(s1=peg$c803,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c804)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c805()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c806?(s1=peg$c806,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c807)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c805()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c808?(s1=peg$c808,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c809)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c810()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c811?(s1=peg$c811,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c812)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c810()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c813?(s1=peg$c813,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c814)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c815()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c816?(s1=peg$c816,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c817)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c815()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c818?(s1=peg$c818,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c819)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c820()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c821?(s1=peg$c821,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c822)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c820()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c823?(s1=peg$c823,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c824)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c825()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c826?(s1=peg$c826,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c827)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c825()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c828?(s1=peg$c828,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c829)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c830()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c831?(s1=peg$c831,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c832)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c830()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c833?(s1=peg$c833,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c834)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c835()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c836?(s1=peg$c836,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c837)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c835()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c838?(s1=peg$c838,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c839)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c840()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c841?(s1=peg$c841,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c842)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c840()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c843?(s1=peg$c843,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c844)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c845()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c846?(s1=peg$c846,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c847)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c845()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c848?(s1=peg$c848,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c849)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c850()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c851?(s1=peg$c851,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c852)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c850()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c853?(s1=peg$c853,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c854)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c855()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c856?(s1=peg$c856,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c857)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c855()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c858?(s1=peg$c858,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c859)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c860()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c861?(s1=peg$c861,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c862)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c860()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c863?(s1=peg$c863,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c864)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c865()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c866?(s1=peg$c866,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c867)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c865()),s0=s1))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s0}function peg$parseSvgColor(){var s0,s1,s2;return s0=peg$currPos,(s1=peg$parseSvgColorLabel())!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseRgb3(){var s0,s1,s2,s3,s4,s5;return s0=peg$currPos,35===input.charCodeAt(peg$currPos)?(s1=peg$c868,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(s2=peg$parseHexDigit())!==peg$FAILED&&(s3=peg$parseHexDigit())!==peg$FAILED&&(s4=peg$parseHexDigit())!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c870(s2,s3,s4)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseRgb6(){var s0,s1,s2,s3,s4,s5,s6,s7,s8;return s0=peg$currPos,35===input.charCodeAt(peg$currPos)?(s1=peg$c868,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(s2=peg$parseHexDigit())!==peg$FAILED&&(s3=peg$parseHexDigit())!==peg$FAILED&&(s4=peg$parseHexDigit())!==peg$FAILED&&(s5=peg$parseHexDigit())!==peg$FAILED&&(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED?((s8=peg$parseWS())===peg$FAILED&&(s8=null),s8!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c871(s2,s3,s4,s5,s6,s7)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseRgba4(){var s0,s1,s2,s3,s4,s5,s6;return s0=peg$currPos,35===input.charCodeAt(peg$currPos)?(s1=peg$c868,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(s2=peg$parseHexDigit())!==peg$FAILED&&(s3=peg$parseHexDigit())!==peg$FAILED&&(s4=peg$parseHexDigit())!==peg$FAILED&&(s5=peg$parseHexDigit())!==peg$FAILED?((s6=peg$parseWS())===peg$FAILED&&(s6=null),s6!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c872(s2,s3,s4,s5)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseRgba8(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10;return s0=peg$currPos,35===input.charCodeAt(peg$currPos)?(s1=peg$c868,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(s2=peg$parseHexDigit())!==peg$FAILED&&(s3=peg$parseHexDigit())!==peg$FAILED&&(s4=peg$parseHexDigit())!==peg$FAILED&&(s5=peg$parseHexDigit())!==peg$FAILED&&(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED&&(s8=peg$parseHexDigit())!==peg$FAILED&&(s9=peg$parseHexDigit())!==peg$FAILED?((s10=peg$parseWS())===peg$FAILED&&(s10=null),s10!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c873(s2,s3,s4,s5,s6,s7,s8,s9)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseColor(){var s0;return peg$silentFails++,(s0=peg$parseSvgColor())===peg$FAILED&&(s0=peg$parseRgb3())===peg$FAILED&&(s0=peg$parseRgb6())===peg$FAILED&&(s0=peg$parseRgba4())===peg$FAILED&&(s0=peg$parseRgba8()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c874),s0}function peg$parseArrowItemKey(){var s0;return input.substr(peg$currPos,9)===peg$c875?(s0=peg$c875,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c876)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c877?(s0=peg$c877,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c878)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c879?(s0=peg$c879,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c880)))),s0}function peg$parseArrowItem(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED&&(s2=peg$parseArrowItemKey())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabel())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c885(s2,s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseSingleEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return peg$silentFails++,s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c887?(s2=peg$c887,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c888)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseColor())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c889(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c886)),s0}function peg$parseArrowItems(){var s0,s1;if((s0=peg$parseSingleEdgeColor())===peg$FAILED)if(s0=[],(s1=peg$parseArrowItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseArrowItem();else s0=peg$FAILED;return s0}function peg$parseArrowDesc(){var s0,s1,s2,s3,s4,s5;return s0=peg$currPos,123===input.charCodeAt(peg$currPos)?(s1=peg$c890,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s1!==peg$FAILED?((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED?((s3=peg$parseArrowItems())===peg$FAILED&&(s3=null),s3!==peg$FAILED?((s4=peg$parseWS())===peg$FAILED&&(s4=null),s4!==peg$FAILED?(125===input.charCodeAt(peg$currPos)?(s5=peg$c892,peg$currPos++):(s5=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c893)),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c894(s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseArrowProbability(){var s0,s1,s2;return s0=peg$currPos,(s1=peg$parseNonNegNumber())!==peg$FAILED?(37===input.charCodeAt(peg$currPos)?(s2=peg$c895,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c896)),s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c897(s1)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseLabelList(){var s0,s1,s2,s3,s4,s5,s6;if(s0=peg$currPos,91===input.charCodeAt(peg$currPos)?(s1=peg$c898,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c899)),s1!==peg$FAILED)if((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED){for(s3=[],s4=peg$currPos,(s5=peg$parseLabel())!==peg$FAILED?((s6=peg$parseWS())===peg$FAILED&&(s6=null),s6!==peg$FAILED?s4=s5=[s5,s6]:(peg$currPos=s4,s4=peg$FAILED)):(peg$currPos=s4,s4=peg$FAILED);s4!==peg$FAILED;)s3.push(s4),s4=peg$currPos,(s5=peg$parseLabel())!==peg$FAILED?((s6=peg$parseWS())===peg$FAILED&&(s6=null),s6!==peg$FAILED?s4=s5=[s5,s6]:(peg$currPos=s4,s4=peg$FAILED)):(peg$currPos=s4,s4=peg$FAILED);s3!==peg$FAILED?(93===input.charCodeAt(peg$currPos)?(s4=peg$c900,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c901)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c902(s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;else peg$currPos=s0,s0=peg$FAILED;return s0}function peg$parseLabelOrLabelList(){var s0;return(s0=peg$parseLabelList())===peg$FAILED&&(s0=peg$parseLabel()),s0}function peg$parseSubexp(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?((s2=peg$parseActionLabel())===peg$FAILED&&(s2=null),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?((s4=peg$parseArrowProbability())===peg$FAILED&&(s4=null),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?((s6=peg$parseArrowDesc())===peg$FAILED&&(s6=null),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED&&(s8=peg$parseArrow())!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?((s10=peg$parseArrowDesc())===peg$FAILED&&(s10=null),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?((s12=peg$parseArrowProbability())===peg$FAILED&&(s12=null),s12!==peg$FAILED?((s13=peg$parseWS())===peg$FAILED&&(s13=null),s13!==peg$FAILED?((s14=peg$parseActionLabel())===peg$FAILED&&(s14=null),s14!==peg$FAILED?((s15=peg$parseWS())===peg$FAILED&&(s15=null),s15!==peg$FAILED&&(s16=peg$parseLabelOrLabelList())!==peg$FAILED?((s17=peg$parseWS())===peg$FAILED&&(s17=null),s17!==peg$FAILED?((s18=peg$parseSubexp())===peg$FAILED&&(s18=null),s18!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c903(s2,s4,s6,s8,s10,s12,s14,s16,s18)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseExp(){var s0,s1,s2,s3,s4,s5;return s0=peg$currPos,(s1=peg$parseLabelOrLabelList())!==peg$FAILED&&(s2=peg$parseSubexp())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c883,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c904(s1,s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseValidationKey(){var s0;return input.substr(peg$currPos,9)===peg$c905?(s0=peg$c905,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c906)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c907?(s0=peg$c907,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c908))),s0}function peg$parseValidationItem(){var s0,s1,s2,s3,s4;return s0=peg$currPos,(s1=peg$parseValidationKey())!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s2=peg$c881,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c883,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c909(s1,s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseValidationItems(){var s0,s1;if(s0=[],(s1=peg$parseValidationItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseValidationItem();else s0=peg$FAILED;return s0}function peg$parseConfigValidation(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c910?(s2=peg$c910,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c911)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c890,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?((s8=peg$parseValidationItems())===peg$FAILED&&(s8=null),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(input.substr(peg$currPos,2)===peg$c912?(s10=peg$c912,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c913)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c914(s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseGvizLayout(){var s0;return input.substr(peg$currPos,3)===peg$c915?(s0=peg$c915,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c916)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c917?(s0=peg$c917,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c918)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c919?(s0=peg$c919,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c920)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c921?(s0=peg$c921,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c922))))),s0}function peg$parseStateItemShapeKey(){var s0;return input.substr(peg$currPos,8)===peg$c923?(s0=peg$c923,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c924)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c925?(s0=peg$c925,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c926)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c927?(s0=peg$c927,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c928)))),s0}function peg$parseStateItemShape(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED&&(s2=peg$parseStateItemShapeKey())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseGvizShape())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c885(s2,s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseStateItems(){var s0,s1;if(s0=[],(s1=peg$parseStateItemShape())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseStateItemShape();else s0=peg$FAILED;return s0}function peg$parseConfigState(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,5)===peg$c929?(s2=peg$c929,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c930)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c890,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?((s8=peg$parseStateItems())===peg$FAILED&&(s8=null),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(input.substr(peg$currPos,2)===peg$c912?(s10=peg$c912,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c913)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c931(s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseActionKey(){var s0;return input.substr(peg$currPos,9)===peg$c905?(s0=peg$c905,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c906)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c907?(s0=peg$c907,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c908))),s0}function peg$parseActionItem(){var s0,s1,s2,s3,s4;return s0=peg$currPos,(s1=peg$parseActionKey())!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s2=peg$c881,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c883,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c932(s1,s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseActionItems(){var s0,s1;if(s0=[],(s1=peg$parseActionItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseActionItem();else s0=peg$FAILED;return s0}function peg$parseConfigAction(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,6)===peg$c933?(s2=peg$c933,peg$currPos+=6):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c934)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c890,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?((s8=peg$parseActionItems())===peg$FAILED&&(s8=null),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(input.substr(peg$currPos,2)===peg$c912?(s10=peg$c912,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c913)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c935(s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseTransitionKey(){var s0;return input.substr(peg$currPos,9)===peg$c905?(s0=peg$c905,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c906)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c907?(s0=peg$c907,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c908))),s0}function peg$parseTransitionItem(){var s0,s1,s2,s3,s4;return s0=peg$currPos,(s1=peg$parseTransitionKey())!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s2=peg$c881,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c883,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c936(s1,s3)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseTransitionItems(){var s0,s1;if((s0=peg$parseGraphDefaultEdgeColor())===peg$FAILED)if(s0=[],(s1=peg$parseTransitionItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseTransitionItem();else s0=peg$FAILED;return s0}function peg$parseGraphDefaultEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return peg$silentFails++,s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c887?(s2=peg$c887,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c888)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseColor())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c938(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c937)),s0}function peg$parseConfigTransition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c939?(s2=peg$c939,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c940)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c890,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c891)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?((s8=peg$parseTransitionItems())===peg$FAILED&&(s8=null),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(input.substr(peg$currPos,2)===peg$c912?(s10=peg$c912,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c913)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c941(s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfigGraphLayout(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,12)===peg$c942?(s2=peg$c942,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c943)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseGvizLayout())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c944(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfigStartNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,12)===peg$c945?(s2=peg$c945,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c946)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c947(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfigEndNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,10)===peg$c948?(s2=peg$c948,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c949)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c950(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfigGraphBgColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,14)===peg$c951?(s2=peg$c951,peg$currPos+=14):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c952)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseColor())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c953(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseConfig(){var s0;return peg$silentFails++,(s0=peg$parseConfigGraphLayout())===peg$FAILED&&(s0=peg$parseConfigStartNodes())===peg$FAILED&&(s0=peg$parseConfigEndNodes())===peg$FAILED&&(s0=peg$parseConfigTransition())===peg$FAILED&&(s0=peg$parseConfigAction())===peg$FAILED&&(s0=peg$parseConfigState())===peg$FAILED&&(s0=peg$parseConfigValidation())===peg$FAILED&&(s0=peg$parseConfigGraphBgColor()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c954),s0}function peg$parseLicenseOrLabelOrList(){var s0;return input.substr(peg$currPos,3)===peg$c955?(s0=peg$c955,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c956)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c957?(s0=peg$c957,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c958)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c959?(s0=peg$c959,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c960)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c961?(s0=peg$c961,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c962)),s0===peg$FAILED&&(input.substr(peg$currPos,11)===peg$c963?(s0=peg$c963,peg$currPos+=11):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c964)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c965?(s0=peg$c965,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c966)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c967?(s0=peg$c967,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c968)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c969?(s0=peg$c969,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c970)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c971?(s0=peg$c971,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c972)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c973?(s0=peg$c973,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c974)),s0===peg$FAILED&&(s0=peg$parseLabel())===peg$FAILED&&(s0=peg$parseLabelList())))))))))),s0}function peg$parseStateColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,5)===peg$c975?(s2=peg$c975,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c976)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseColor())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c977(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseArbitraryStateQuality(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return peg$silentFails++,s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED&&(s2=peg$parseLabel())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabel())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c979(s2,s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c978)),s0}function peg$parseStateQuality(){var s0;return(s0=peg$parseStateColor())===peg$FAILED&&(s0=peg$parseArbitraryStateQuality()),s0}function peg$parseStateDef(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13;if(peg$silentFails++,s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED)if(input.substr(peg$currPos,5)===peg$c929?(s2=peg$c929,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c930)),s2!==peg$FAILED)if((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED)if((s4=peg$parseLabel())!==peg$FAILED)if((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED)if(91===input.charCodeAt(peg$currPos)?(s6=peg$c898,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c899)),s6!==peg$FAILED)if((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED){for(s8=[],s9=peg$parseStateQuality();s9!==peg$FAILED;)s8.push(s9),s9=peg$parseStateQuality();s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(93===input.charCodeAt(peg$currPos)?(s10=peg$c900,peg$currPos++):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c901)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s12=peg$c883,peg$currPos++):(s12=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s12!==peg$FAILED?((s13=peg$parseWS())===peg$FAILED&&(s13=null),s13!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c981(s4,s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(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;else peg$currPos=s0,s0=peg$FAILED;else peg$currPos=s0,s0=peg$FAILED;else peg$currPos=s0,s0=peg$FAILED;return peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c980)),s0}function peg$parseMachineAuthor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,14)===peg$c982?(s2=peg$c982,peg$currPos+=14):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c983)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelOrLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c984(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineContributor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,19)===peg$c985?(s2=peg$c985,peg$currPos+=19):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c986)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelOrLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c987(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineComment(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,15)===peg$c988?(s2=peg$c988,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c989)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabelOrLabelList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c990(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineDefinition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,18)===peg$c991?(s2=peg$c991,peg$currPos+=18):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c992)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseURL())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c993(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineName(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,12)===peg$c994?(s2=peg$c994,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c995)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLabel())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c996(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,15)===peg$c1000?(s2=peg$c1000,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1001)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseSemVer())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1002(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseMachineLicense(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,15)===peg$c1003?(s2=peg$c1003,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1004)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseLicenseOrLabelOrList())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1005(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseFslVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,11)===peg$c1006?(s2=peg$c1006,peg$currPos+=11):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1007)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c881,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseSemVer())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c883,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1008(s6)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseStateGroupDef(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;return s0=peg$currPos,(s1=peg$parseWS())===peg$FAILED&&(s1=null),s1!==peg$FAILED?(input.substr(peg$currPos,5)===peg$c1009?(s2=peg$c1009,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1010)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED&&(s4=peg$parseLabel())!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s6=peg$c881,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s6!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED&&(s8=peg$parseLabelOrLabelList())!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s10=peg$c883,peg$currPos++):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1011(s4,s8)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseTerm(){var s0;return(s0=peg$parseExp())===peg$FAILED&&(s0=peg$parseStateDef())===peg$FAILED&&(s0=peg$parseFslVersion())===peg$FAILED&&(s0=peg$parseMachineName())===peg$FAILED&&(s0=peg$parseMachineAuthor())===peg$FAILED&&(s0=peg$parseMachineContributor())===peg$FAILED&&(s0=peg$parseMachineComment())===peg$FAILED&&(s0=peg$parseMachineDefinition())===peg$FAILED&&(s0=peg$parseMachineVersion())===peg$FAILED&&(s0=peg$parseMachineLicense())===peg$FAILED&&(s0=peg$parseStateGroupDef())===peg$FAILED&&(s0=peg$parseConfig()),s0}function peg$parseTermList(){var s0,s1;for(s0=[],s1=peg$parseTerm();s1!==peg$FAILED;)s0.push(s1),s1=peg$parseTerm();return s0}options=void 0!==options?options:{};var peg$result,peg$FAILED={},peg$startRuleFunctions={Document:peg$parseDocument},peg$startRuleFunction=peg$parseDocument,peg$c0=function(e){return e},peg$c1="square",peg$c2=peg$literalExpectation("square",!1),peg$c3="rectangle",peg$c4=peg$literalExpectation("rectangle",!1),peg$c5="circle",peg$c6=peg$literalExpectation("circle",!1),peg$c7=peg$otherExpectation("forward light arrow ->"),peg$c8="->",peg$c9=peg$literalExpectation("->",!1),peg$c10=peg$otherExpectation("two way light arrow <->"),peg$c11="<->",peg$c12=peg$literalExpectation("<->",!1),peg$c13=peg$otherExpectation("back light arrow <-"),peg$c14="<-",peg$c15=peg$literalExpectation("<-",!1),peg$c16=peg$otherExpectation("forward fat arrow =>"),peg$c17="=>",peg$c18=peg$literalExpectation("=>",!1),peg$c19=peg$otherExpectation("two way fat arrow <=>"),peg$c20="<=>",peg$c21=peg$literalExpectation("<=>",!1),peg$c22=peg$otherExpectation("back fat arrow <="),peg$c23="<=",peg$c24=peg$literalExpectation("<=",!1),peg$c25=peg$otherExpectation("forward tilde arrow ~>"),peg$c26="~>",peg$c27=peg$literalExpectation("~>",!1),peg$c28=peg$otherExpectation("two way tilde arrow <~>"),peg$c29="<~>",peg$c30=peg$literalExpectation("<~>",!1),peg$c31=peg$otherExpectation("back tilde arrow <~"),peg$c32="<~",peg$c33=peg$literalExpectation("<~",!1),peg$c34=peg$otherExpectation("light fat arrow <-=>"),peg$c35="<-=>",peg$c36=peg$literalExpectation("<-=>",!1),peg$c37=peg$otherExpectation("light tilde arrow <-~>"),peg$c38="<-~>",peg$c39=peg$literalExpectation("<-~>",!1),peg$c40=peg$otherExpectation("fat light arrow <=->"),peg$c41="<=->",peg$c42=peg$literalExpectation("<=->",!1),peg$c43=peg$otherExpectation("fat tilde arrow <=~>"),peg$c44="<=~>",peg$c45=peg$literalExpectation("<=~>",!1),peg$c46=peg$otherExpectation("tilde light arrow <~->"),peg$c47="<~->",peg$c48=peg$literalExpectation("<~->",!1),peg$c49=peg$otherExpectation("tilde fat arrow <~=>"),peg$c50="<~=>",peg$c51=peg$literalExpectation("<~=>",!1),peg$c52=peg$otherExpectation("light arrow"),peg$c53=peg$otherExpectation("fat arrow"),peg$c54=peg$otherExpectation("tilde arrow"),peg$c55=peg$otherExpectation("mixed arrow"),peg$c56=peg$otherExpectation("arrow"),peg$c57=/^[0-9a-fA-F]/,peg$c58=peg$classExpectation([["0","9"],["a","f"],["A","F"]],!1,!1),peg$c59='"',peg$c60=peg$literalExpectation('"',!1),peg$c61="\\",peg$c62=peg$literalExpectation("\\",!1),peg$c63="/",peg$c64=peg$literalExpectation("/",!1),peg$c65="b",peg$c66=peg$literalExpectation("b",!1),peg$c67=function(){return"\b"},peg$c68="f",peg$c69=peg$literalExpectation("f",!1),peg$c70=function(){return"\f"},peg$c71="n",peg$c72=peg$literalExpectation("n",!1),peg$c73=function(){return"\n"},peg$c74="r",peg$c75=peg$literalExpectation("r",!1),peg$c76=function(){return"\r"},peg$c77="t",peg$c78=peg$literalExpectation("t",!1),peg$c79=function(){return"\t"},peg$c80="v",peg$c81=peg$literalExpectation("v",!1),peg$c82=function(){return"\v"},peg$c83="u",peg$c84=peg$literalExpectation("u",!1),peg$c85=function(digits){return String.fromCharCode(parseInt(digits,16))},peg$c86=function(Sequence){return Sequence},peg$c87=/^[ -!#-[\]-\u10FFFF]/,peg$c88=peg$classExpectation([[" ","!"],["#","["],["]","ჿ"],"F","F"],!1,!1),peg$c89="'",peg$c90=peg$literalExpectation("'",!1),peg$c91=/^[ -&(-[\]-\u10FFFF]/,peg$c92=peg$classExpectation([[" ","&"],["(","["],["]","ჿ"],"F","F"],!1,!1),peg$c93=peg$otherExpectation("action label"),peg$c94=function(chars){return chars.join("")},peg$c95=/^[\n\r\u2028\u2029]/,peg$c96=peg$classExpectation(["\n","\r","\u2028","\u2029"],!1,!1),peg$c99=(peg$classExpectation([" ","\t","\n","\r","\v"],!1,!1),"*/"),peg$c100=peg$literalExpectation("*/",!1),peg$c101={type:"any"},peg$c102="/*",peg$c103=peg$literalExpectation("/*",!1),peg$c104="//",peg$c105=peg$literalExpectation("//",!1),peg$c106=/^[ \t\r\n\x0B]/,peg$c107=peg$classExpectation([" ","\t","\r","\n","\v"],!1,!1),peg$c108=peg$otherExpectation("string"),peg$c109=peg$otherExpectation("atom"),peg$c110=/^[0-9a-zA-Z.+_&()$#@!?,]/,peg$c111=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","_","&","(",")","$","#","@","!","?",","],!1,!1),peg$c112=function(text){return text.join("")},peg$c113=peg$otherExpectation("label"),peg$c114="0",peg$c115=peg$literalExpectation("0",!1),peg$c116=/^[0-9]/,peg$c117=peg$classExpectation([["0","9"]],!1,!1),peg$c118=/^[1-9]/,peg$c119=peg$classExpectation([["1","9"]],!1,!1),peg$c120=peg$otherExpectation("nonneg number"),peg$c121=".",peg$c122=peg$literalExpectation(".",!1),peg$c123=function(){return parseFloat(text())},peg$c124=function(major,minor,patch){return{major:parseInt(major,10),minor:parseInt(minor,10),patch:parseInt(patch,10),full:text()}},peg$c135=(peg$literalExpectation("^",!1),peg$literalExpectation("~",!1),peg$literalExpectation(">=",!1),peg$literalExpectation("<",!1),peg$literalExpectation(">",!1),"http://"),peg$c136=peg$literalExpectation("http://",!1),peg$c137="https://",peg$c138=peg$literalExpectation("https://",!1),peg$c139=/^[a-zA-Z0-9!*'():;@&=+$,\/?#[\]_.~\-]/,peg$c140=peg$classExpectation([["a","z"],["A","Z"],["0","9"],"!","*","'","(",")",":",";","@","&","=","+","$",",","/","?","#","[","]","_",".","~","-"],!1,!1),peg$c141=function(protocol){return text()},peg$c142="aliceblue",peg$c143=peg$literalExpectation("aliceblue",!1),peg$c144=function(){return"#f0f8ffff"},peg$c145="AliceBlue",peg$c146=peg$literalExpectation("AliceBlue",!1),peg$c147="antiquewhite",peg$c148=peg$literalExpectation("antiquewhite",!1),peg$c149=function(){return"#faebd7ff"},peg$c150="AntiqueWhite",peg$c151=peg$literalExpectation("AntiqueWhite",!1),peg$c152="aqua",peg$c153=peg$literalExpectation("aqua",!1),peg$c154=function(){return"#00ffffff"},peg$c155="Aqua",peg$c156=peg$literalExpectation("Aqua",!1),peg$c157="aquamarine",peg$c158=peg$literalExpectation("aquamarine",!1),peg$c159=function(){return"#7fffd4ff"},peg$c160="Aquamarine",peg$c161=peg$literalExpectation("Aquamarine",!1),peg$c162="azure",peg$c163=peg$literalExpectation("azure",!1),peg$c164=function(){return"#f0ffffff"},peg$c165="Azure",peg$c166=peg$literalExpectation("Azure",!1),peg$c167="beige",peg$c168=peg$literalExpectation("beige",!1),peg$c169=function(){return"#f5f5dcff"},peg$c170="Beige",peg$c171=peg$literalExpectation("Beige",!1),peg$c172="bisque",peg$c173=peg$literalExpectation("bisque",!1),peg$c174=function(){return"#ffe4c4ff"},peg$c175="Bisque",peg$c176=peg$literalExpectation("Bisque",!1),peg$c177="black",peg$c178=peg$literalExpectation("black",!1),peg$c179=function(){return"#000000ff"},peg$c180="Black",peg$c181=peg$literalExpectation("Black",!1),peg$c182="blanchedalmond",peg$c183=peg$literalExpectation("blanchedalmond",!1),peg$c184=function(){return"#ffebcdff"},peg$c185="BlanchedAlmond",peg$c186=peg$literalExpectation("BlanchedAlmond",!1),peg$c187="blue",peg$c188=peg$literalExpectation("blue",!1),peg$c189=function(){return"#0000ffff"},peg$c190="Blue",peg$c191=peg$literalExpectation("Blue",!1),peg$c192="blueviolet",peg$c193=peg$literalExpectation("blueviolet",!1),peg$c194=function(){return"#8a2be2ff"},peg$c195="BlueViolet",peg$c196=peg$literalExpectation("BlueViolet",!1),peg$c197="brown",peg$c198=peg$literalExpectation("brown",!1),peg$c199=function(){return"#a52a2aff"},peg$c200="Brown",peg$c201=peg$literalExpectation("Brown",!1),peg$c202="burlywood",peg$c203=peg$literalExpectation("burlywood",!1),peg$c204=function(){return"#deb887ff"},peg$c205="BurlyWood",peg$c206=peg$literalExpectation("BurlyWood",!1),peg$c207="cadetblue",peg$c208=peg$literalExpectation("cadetblue",!1),peg$c209=function(){return"#5f9ea0ff"},peg$c210="CadetBlue",peg$c211=peg$literalExpectation("CadetBlue",!1),peg$c212="chartreuse",peg$c213=peg$literalExpectation("chartreuse",!1),peg$c214=function(){return"#7fff00ff"},peg$c215="Chartreuse",peg$c216=peg$literalExpectation("Chartreuse",!1),peg$c217="chocolate",peg$c218=peg$literalExpectation("chocolate",!1),peg$c219=function(){return"#d2691eff"},peg$c220="Chocolate",peg$c221=peg$literalExpectation("Chocolate",!1),peg$c222="coral",peg$c223=peg$literalExpectation("coral",!1),peg$c224=function(){return"#ff7f50ff"},peg$c225="Coral",peg$c226=peg$literalExpectation("Coral",!1),peg$c227="cornflowerblue",peg$c228=peg$literalExpectation("cornflowerblue",!1),peg$c229=function(){return"#6495edff"},peg$c230="CornflowerBlue",peg$c231=peg$literalExpectation("CornflowerBlue",!1),peg$c232="cornsilk",peg$c233=peg$literalExpectation("cornsilk",!1),peg$c234=function(){return"#fff8dcff"},peg$c235="Cornsilk",peg$c236=peg$literalExpectation("Cornsilk",!1),peg$c237="crimson",peg$c238=peg$literalExpectation("crimson",!1),peg$c239=function(){return"#dc143cff"},peg$c240="Crimson",peg$c241=peg$literalExpectation("Crimson",!1),peg$c242="cyan",peg$c243=peg$literalExpectation("cyan",!1),peg$c244="Cyan",peg$c245=peg$literalExpectation("Cyan",!1),peg$c246="darkblue",peg$c247=peg$literalExpectation("darkblue",!1),peg$c248=function(){return"#00008bff"},peg$c249="DarkBlue",peg$c250=peg$literalExpectation("DarkBlue",!1),peg$c251="darkcyan",peg$c252=peg$literalExpectation("darkcyan",!1),peg$c253=function(){return"#008b8bff"},peg$c254="DarkCyan",peg$c255=peg$literalExpectation("DarkCyan",!1),peg$c256="darkgoldenrod",peg$c257=peg$literalExpectation("darkgoldenrod",!1),peg$c258=function(){return"#b8860bff"},peg$c259="DarkGoldenRod",peg$c260=peg$literalExpectation("DarkGoldenRod",!1),peg$c261="darkgray",peg$c262=peg$literalExpectation("darkgray",!1),peg$c263=function(){return"#a9a9a9ff"},peg$c264="DarkGray",peg$c265=peg$literalExpectation("DarkGray",!1),peg$c266="darkgrey",peg$c267=peg$literalExpectation("darkgrey",!1),peg$c268="DarkGrey",peg$c269=peg$literalExpectation("DarkGrey",!1),peg$c270="darkgreen",peg$c271=peg$literalExpectation("darkgreen",!1),peg$c272=function(){return"#006400ff"},peg$c273="DarkGreen",peg$c274=peg$literalExpectation("DarkGreen",!1),peg$c275="darkkhaki",peg$c276=peg$literalExpectation("darkkhaki",!1),peg$c277=function(){return"#bdb76bff"},peg$c278="DarkKhaki",peg$c279=peg$literalExpectation("DarkKhaki",!1),peg$c280="darkmagenta",peg$c281=peg$literalExpectation("darkmagenta",!1),peg$c282=function(){return"#8b008bff"},peg$c283="DarkMagenta",peg$c284=peg$literalExpectation("DarkMagenta",!1),peg$c285="darkolivegreen",peg$c286=peg$literalExpectation("darkolivegreen",!1),peg$c287=function(){return"#556b2fff"},peg$c288="DarkOliveGreen",peg$c289=peg$literalExpectation("DarkOliveGreen",!1),peg$c290="darkorange",peg$c291=peg$literalExpectation("darkorange",!1),peg$c292=function(){return"#ff8c00ff"},peg$c293="Darkorange",peg$c294=peg$literalExpectation("Darkorange",!1),peg$c295="darkorchid",peg$c296=peg$literalExpectation("darkorchid",!1),peg$c297=function(){return"#9932ccff"},peg$c298="DarkOrchid",peg$c299=peg$literalExpectation("DarkOrchid",!1),peg$c300="darkred",peg$c301=peg$literalExpectation("darkred",!1),peg$c302=function(){return"#8b0000ff"},peg$c303="DarkRed",peg$c304=peg$literalExpectation("DarkRed",!1),peg$c305="darksalmon",peg$c306=peg$literalExpectation("darksalmon",!1),peg$c307=function(){return"#e9967aff"},peg$c308="DarkSalmon",peg$c309=peg$literalExpectation("DarkSalmon",!1),peg$c310="darkseagreen",peg$c311=peg$literalExpectation("darkseagreen",!1),peg$c312=function(){return"#8fbc8fff"},peg$c313="DarkSeaGreen",peg$c314=peg$literalExpectation("DarkSeaGreen",!1),peg$c315="darkslateblue",peg$c316=peg$literalExpectation("darkslateblue",!1),peg$c317=function(){return"#483d8bff"},peg$c318="DarkSlateBlue",peg$c319=peg$literalExpectation("DarkSlateBlue",!1),peg$c320="darkslategray",peg$c321=peg$literalExpectation("darkslategray",!1),peg$c322=function(){return"#2f4f4fff"},peg$c323="DarkSlateGray",peg$c324=peg$literalExpectation("DarkSlateGray",!1),peg$c325="darkslategrey",peg$c326=peg$literalExpectation("darkslategrey",!1),peg$c327="DarkSlateGrey",peg$c328=peg$literalExpectation("DarkSlateGrey",!1),peg$c329="darkturquoise",peg$c330=peg$literalExpectation("darkturquoise",!1),peg$c331=function(){return"#00ced1ff"},peg$c332="DarkTurquoise",peg$c333=peg$literalExpectation("DarkTurquoise",!1),peg$c334="darkviolet",peg$c335=peg$literalExpectation("darkviolet",!1),peg$c336=function(){return"#9400d3ff"},peg$c337="DarkViolet",peg$c338=peg$literalExpectation("DarkViolet",!1),peg$c339="deeppink",peg$c340=peg$literalExpectation("deeppink",!1),peg$c341=function(){return"#ff1493ff"},peg$c342="DeepPink",peg$c343=peg$literalExpectation("DeepPink",!1),peg$c344="deepskyblue",peg$c345=peg$literalExpectation("deepskyblue",!1),peg$c346=function(){return"#00bfffff"},peg$c347="DeepSkyBlue",peg$c348=peg$literalExpectation("DeepSkyBlue",!1),peg$c349="dimgray",peg$c350=peg$literalExpectation("dimgray",!1),peg$c351=function(){return"#696969ff"},peg$c352="DimGray",peg$c353=peg$literalExpectation("DimGray",!1),peg$c354="dimgrey",peg$c355=peg$literalExpectation("dimgrey",!1),peg$c356="DimGrey",peg$c357=peg$literalExpectation("DimGrey",!1),peg$c358="dodgerblue",peg$c359=peg$literalExpectation("dodgerblue",!1),peg$c360=function(){return"#1e90ffff"},peg$c361="DodgerBlue",peg$c362=peg$literalExpectation("DodgerBlue",!1),peg$c363="firebrick",peg$c364=peg$literalExpectation("firebrick",!1),peg$c365=function(){return"#b22222ff"},peg$c366="FireBrick",peg$c367=peg$literalExpectation("FireBrick",!1),peg$c368="floralwhite",peg$c369=peg$literalExpectation("floralwhite",!1),peg$c370=function(){return"#fffaf0ff"},peg$c371="FloralWhite",peg$c372=peg$literalExpectation("FloralWhite",!1),peg$c373="forestgreen",peg$c374=peg$literalExpectation("forestgreen",!1),peg$c375=function(){return"#228b22ff"},peg$c376="ForestGreen",peg$c377=peg$literalExpectation("ForestGreen",!1),peg$c378="fuchsia",peg$c379=peg$literalExpectation("fuchsia",!1),peg$c380=function(){return"#ff00ffff"},peg$c381="Fuchsia",peg$c382=peg$literalExpectation("Fuchsia",!1),peg$c383="gainsboro",peg$c384=peg$literalExpectation("gainsboro",!1),peg$c385=function(){return"#dcdcdcff"},peg$c386="Gainsboro",peg$c387=peg$literalExpectation("Gainsboro",!1),peg$c388="ghostwhite",peg$c389=peg$literalExpectation("ghostwhite",!1),peg$c390=function(){return"#f8f8ffff"},peg$c391="GhostWhite",peg$c392=peg$literalExpectation("GhostWhite",!1),peg$c393="gold",peg$c394=peg$literalExpectation("gold",!1),peg$c395=function(){return"#ffd700ff"},peg$c396="Gold",peg$c397=peg$literalExpectation("Gold",!1),peg$c398="goldenrod",peg$c399=peg$literalExpectation("goldenrod",!1),peg$c400=function(){return"#daa520ff"},peg$c401="GoldenRod",peg$c402=peg$literalExpectation("GoldenRod",!1),peg$c403="gray",peg$c404=peg$literalExpectation("gray",!1),peg$c405=function(){return"#808080ff"},peg$c406="Gray",peg$c407=peg$literalExpectation("Gray",!1),peg$c408="grey",peg$c409=peg$literalExpectation("grey",!1),peg$c410="Grey",peg$c411=peg$literalExpectation("Grey",!1),peg$c412="green",peg$c413=peg$literalExpectation("green",!1),peg$c414=function(){return"#008000ff"},peg$c415="Green",peg$c416=peg$literalExpectation("Green",!1),peg$c417="greenyellow",peg$c418=peg$literalExpectation("greenyellow",!1),peg$c419=function(){return"#adff2fff"},peg$c420="GreenYellow",peg$c421=peg$literalExpectation("GreenYellow",!1),peg$c422="honeydew",peg$c423=peg$literalExpectation("honeydew",!1),peg$c424=function(){return"#f0fff0ff"},peg$c425="HoneyDew",peg$c426=peg$literalExpectation("HoneyDew",!1),peg$c427="hotpink",peg$c428=peg$literalExpectation("hotpink",!1),peg$c429=function(){return"#ff69b4ff"},peg$c430="HotPink",peg$c431=peg$literalExpectation("HotPink",!1),peg$c432="indianred",peg$c433=peg$literalExpectation("indianred",!1),peg$c434=function(){return"#cd5c5cff"},peg$c435="IndianRed",peg$c436=peg$literalExpectation("IndianRed",!1),peg$c437="indigo",peg$c438=peg$literalExpectation("indigo",!1),peg$c439=function(){return"#4b0082ff"},peg$c440="Indigo",peg$c441=peg$literalExpectation("Indigo",!1),peg$c442="ivory",peg$c443=peg$literalExpectation("ivory",!1),peg$c444=function(){return"#fffff0ff"},peg$c445="Ivory",peg$c446=peg$literalExpectation("Ivory",!1),peg$c447="khaki",peg$c448=peg$literalExpectation("khaki",!1),peg$c449=function(){return"#f0e68cff"},peg$c450="Khaki",peg$c451=peg$literalExpectation("Khaki",!1),peg$c452="lavender",peg$c453=peg$literalExpectation("lavender",!1),peg$c454=function(){return"#e6e6faff"},peg$c455="Lavender",peg$c456=peg$literalExpectation("Lavender",!1),peg$c457="lavenderblush",peg$c458=peg$literalExpectation("lavenderblush",!1),peg$c459=function(){return"#fff0f5ff"},peg$c460="LavenderBlush",peg$c461=peg$literalExpectation("LavenderBlush",!1),peg$c462="lawngreen",peg$c463=peg$literalExpectation("lawngreen",!1),peg$c464=function(){return"#7cfc00ff"},peg$c465="LawnGreen",peg$c466=peg$literalExpectation("LawnGreen",!1),peg$c467="lemonchiffon",peg$c468=peg$literalExpectation("lemonchiffon",!1),peg$c469=function(){return"#fffacdff"},peg$c470="LemonChiffon",peg$c471=peg$literalExpectation("LemonChiffon",!1),peg$c472="lightblue",peg$c473=peg$literalExpectation("lightblue",!1),peg$c474=function(){return"#add8e6ff"},peg$c475="LightBlue",peg$c476=peg$literalExpectation("LightBlue",!1),peg$c477="lightcoral",peg$c478=peg$literalExpectation("lightcoral",!1),peg$c479=function(){return"#f08080ff"},peg$c480="LightCoral",peg$c481=peg$literalExpectation("LightCoral",!1),peg$c482="lightcyan",peg$c483=peg$literalExpectation("lightcyan",!1),peg$c484=function(){return"#e0ffffff"},peg$c485="LightCyan",peg$c486=peg$literalExpectation("LightCyan",!1),peg$c487="lightgoldenrodyellow",peg$c488=peg$literalExpectation("lightgoldenrodyellow",!1),peg$c489=function(){return"#fafad2ff"},peg$c490="LightGoldenRodYellow",peg$c491=peg$literalExpectation("LightGoldenRodYellow",!1),peg$c492="lightgray",peg$c493=peg$literalExpectation("lightgray",!1),peg$c494=function(){return"#d3d3d3ff"},peg$c495="LightGray",peg$c496=peg$literalExpectation("LightGray",!1),peg$c497="lightgrey",peg$c498=peg$literalExpectation("lightgrey",!1),peg$c499="LightGrey",peg$c500=peg$literalExpectation("LightGrey",!1),peg$c501="lightgreen",peg$c502=peg$literalExpectation("lightgreen",!1),peg$c503=function(){return"#90ee90ff"},peg$c504="LightGreen",peg$c505=peg$literalExpectation("LightGreen",!1),peg$c506="lightpink",peg$c507=peg$literalExpectation("lightpink",!1),peg$c508=function(){return"#ffb6c1ff"},peg$c509="LightPink",peg$c510=peg$literalExpectation("LightPink",!1),peg$c511="lightsalmon",peg$c512=peg$literalExpectation("lightsalmon",!1),peg$c513=function(){return"#ffa07aff"},peg$c514="LightSalmon",peg$c515=peg$literalExpectation("LightSalmon",!1),peg$c516="lightseagreen",peg$c517=peg$literalExpectation("lightseagreen",!1),peg$c518=function(){return"#20b2aaff"},peg$c519="LightSeaGreen",peg$c520=peg$literalExpectation("LightSeaGreen",!1),peg$c521="lightskyblue",peg$c522=peg$literalExpectation("lightskyblue",!1),peg$c523=function(){return"#87cefaff"},peg$c524="LightSkyBlue",peg$c525=peg$literalExpectation("LightSkyBlue",!1),peg$c526="lightslategray",peg$c527=peg$literalExpectation("lightslategray",!1),peg$c528=function(){return"#778899ff"},peg$c529="LightSlateGray",peg$c530=peg$literalExpectation("LightSlateGray",!1),peg$c531="lightslategrey",peg$c532=peg$literalExpectation("lightslategrey",!1),peg$c533="LightSlateGrey",peg$c534=peg$literalExpectation("LightSlateGrey",!1),peg$c535="lightsteelblue",peg$c536=peg$literalExpectation("lightsteelblue",!1),peg$c537=function(){return"#b0c4deff"},peg$c538="LightSteelBlue",peg$c539=peg$literalExpectation("LightSteelBlue",!1),peg$c540="lightyellow",peg$c541=peg$literalExpectation("lightyellow",!1),peg$c542=function(){return"#ffffe0ff"},peg$c543="LightYellow",peg$c544=peg$literalExpectation("LightYellow",!1),peg$c545="lime",peg$c546=peg$literalExpectation("lime",!1),peg$c547=function(){return"#00ff00ff"},peg$c548="Lime",peg$c549=peg$literalExpectation("Lime",!1),peg$c550="limegreen",peg$c551=peg$literalExpectation("limegreen",!1),peg$c552=function(){return"#32cd32ff"},peg$c553="LimeGreen",peg$c554=peg$literalExpectation("LimeGreen",!1),peg$c555="linen",peg$c556=peg$literalExpectation("linen",!1),peg$c557=function(){return"#faf0e6ff"},peg$c558="Linen",peg$c559=peg$literalExpectation("Linen",!1),peg$c560="magenta",peg$c561=peg$literalExpectation("magenta",!1),peg$c562="Magenta",peg$c563=peg$literalExpectation("Magenta",!1),peg$c564="maroon",peg$c565=peg$literalExpectation("maroon",!1),peg$c566=function(){return"#800000ff"},peg$c567="Maroon",peg$c568=peg$literalExpectation("Maroon",!1),peg$c569="mediumaquamarine",peg$c570=peg$literalExpectation("mediumaquamarine",!1),peg$c571=function(){return"#66cdaaff"},peg$c572="MediumAquaMarine",peg$c573=peg$literalExpectation("MediumAquaMarine",!1),peg$c574="mediumblue",peg$c575=peg$literalExpectation("mediumblue",!1),peg$c576=function(){return"#0000cdff"},peg$c577="MediumBlue",peg$c578=peg$literalExpectation("MediumBlue",!1),peg$c579="mediumorchid",peg$c580=peg$literalExpectation("mediumorchid",!1),peg$c581=function(){return"#ba55d3ff"},peg$c582="MediumOrchid",peg$c583=peg$literalExpectation("MediumOrchid",!1),peg$c584="mediumpurple",peg$c585=peg$literalExpectation("mediumpurple",!1),peg$c586=function(){return"#9370d8ff"},peg$c587="MediumPurple",peg$c588=peg$literalExpectation("MediumPurple",!1),peg$c589="mediumseagreen",peg$c590=peg$literalExpectation("mediumseagreen",!1),peg$c591=function(){return"#3cb371ff"},peg$c592="MediumSeaGreen",peg$c593=peg$literalExpectation("MediumSeaGreen",!1),peg$c594="mediumslateblue",peg$c595=peg$literalExpectation("mediumslateblue",!1),peg$c596=function(){return"#7b68eeff"},peg$c597="MediumSlateBlue",peg$c598=peg$literalExpectation("MediumSlateBlue",!1),peg$c599="mediumspringgreen",peg$c600=peg$literalExpectation("mediumspringgreen",!1),peg$c601=function(){return"#00fa9aff"},peg$c602="MediumSpringGreen",peg$c603=peg$literalExpectation("MediumSpringGreen",!1),peg$c604="mediumturquoise",peg$c605=peg$literalExpectation("mediumturquoise",!1),peg$c606=function(){return"#48d1ccff"},peg$c607="MediumTurquoise",peg$c608=peg$literalExpectation("MediumTurquoise",!1),peg$c609="mediumvioletred",peg$c610=peg$literalExpectation("mediumvioletred",!1),peg$c611=function(){return"#c71585ff"},peg$c612="MediumVioletRed",peg$c613=peg$literalExpectation("MediumVioletRed",!1),peg$c614="midnightblue",peg$c615=peg$literalExpectation("midnightblue",!1),peg$c616=function(){return"#191970ff"},peg$c617="MidnightBlue",peg$c618=peg$literalExpectation("MidnightBlue",!1),peg$c619="mintcream",peg$c620=peg$literalExpectation("mintcream",!1),peg$c621=function(){return"#f5fffaff"},peg$c622="MintCream",peg$c623=peg$literalExpectation("MintCream",!1),peg$c624="mistyrose",peg$c625=peg$literalExpectation("mistyrose",!1),peg$c626=function(){return"#ffe4e1ff"},peg$c627="MistyRose",peg$c628=peg$literalExpectation("MistyRose",!1),peg$c629="moccasin",peg$c630=peg$literalExpectation("moccasin",!1),peg$c631=function(){return"#ffe4b5ff"},peg$c632="Moccasin",peg$c633=peg$literalExpectation("Moccasin",!1),peg$c634="navajowhite",peg$c635=peg$literalExpectation("navajowhite",!1),peg$c636=function(){return"#ffdeadff"},peg$c637="NavajoWhite",peg$c638=peg$literalExpectation("NavajoWhite",!1),peg$c639="navy",peg$c640=peg$literalExpectation("navy",!1),peg$c641=function(){return"#000080ff"},peg$c642="Navy",peg$c643=peg$literalExpectation("Navy",!1),peg$c644="oldlace",peg$c645=peg$literalExpectation("oldlace",!1),peg$c646=function(){return"#fdf5e6ff"},peg$c647="OldLace",peg$c648=peg$literalExpectation("OldLace",!1),peg$c649="olive",peg$c650=peg$literalExpectation("olive",!1),peg$c651=function(){return"#808000ff"},peg$c652="Olive",peg$c653=peg$literalExpectation("Olive",!1),peg$c654="olivedrab",peg$c655=peg$literalExpectation("olivedrab",!1),peg$c656=function(){return"#6b8e23ff"},peg$c657="OliveDrab",peg$c658=peg$literalExpectation("OliveDrab",!1),peg$c659="orange",peg$c660=peg$literalExpectation("orange",!1),peg$c661=function(){return"#ffa500ff"},peg$c662="Orange",peg$c663=peg$literalExpectation("Orange",!1),peg$c664="orangered",peg$c665=peg$literalExpectation("orangered",!1),peg$c666=function(){return"#ff4500ff"},peg$c667="OrangeRed",peg$c668=peg$literalExpectation("OrangeRed",!1),peg$c669="orchid",peg$c670=peg$literalExpectation("orchid",!1),peg$c671=function(){return"#da70d6ff"},peg$c672="Orchid",peg$c673=peg$literalExpectation("Orchid",!1),peg$c674="palegoldenrod",peg$c675=peg$literalExpectation("palegoldenrod",!1),peg$c676=function(){return"#eee8aaff"},peg$c677="PaleGoldenRod",peg$c678=peg$literalExpectation("PaleGoldenRod",!1),peg$c679="palegreen",peg$c680=peg$literalExpectation("palegreen",!1),peg$c681=function(){return"#98fb98ff"},peg$c682="PaleGreen",peg$c683=peg$literalExpectation("PaleGreen",!1),peg$c684="paleturquoise",peg$c685=peg$literalExpectation("paleturquoise",!1),peg$c686=function(){return"#afeeeeff"},peg$c687="PaleTurquoise",peg$c688=peg$literalExpectation("PaleTurquoise",!1),peg$c689="palevioletred",peg$c690=peg$literalExpectation("palevioletred",!1),peg$c691=function(){return"#d87093ff"},peg$c692="PaleVioletRed",peg$c693=peg$literalExpectation("PaleVioletRed",!1),peg$c694="papayawhip",peg$c695=peg$literalExpectation("papayawhip",!1),peg$c696=function(){return"#ffefd5ff"},peg$c697="PapayaWhip",peg$c698=peg$literalExpectation("PapayaWhip",!1),peg$c699="peachpuff",peg$c700=peg$literalExpectation("peachpuff",!1),peg$c701=function(){return"#ffdab9ff"},peg$c702="PeachPuff",peg$c703=peg$literalExpectation("PeachPuff",!1),peg$c704="peru",peg$c705=peg$literalExpectation("peru",!1),peg$c706=function(){return"#cd853fff"},peg$c707="Peru",peg$c708=peg$literalExpectation("Peru",!1),peg$c709="pink",peg$c710=peg$literalExpectation("pink",!1),peg$c711=function(){return"#ffc0cbff"},peg$c712="Pink",peg$c713=peg$literalExpectation("Pink",!1),peg$c714="plum",peg$c715=peg$literalExpectation("plum",!1),peg$c716=function(){return"#dda0ddff"},peg$c717="Plum",peg$c718=peg$literalExpectation("Plum",!1),peg$c719="powderblue",peg$c720=peg$literalExpectation("powderblue",!1),peg$c721=function(){return"#b0e0e6ff"},peg$c722="PowderBlue",peg$c723=peg$literalExpectation("PowderBlue",!1),peg$c724="purple",peg$c725=peg$literalExpectation("purple",!1),peg$c726=function(){return"#800080ff"},peg$c727="Purple",peg$c728=peg$literalExpectation("Purple",!1),peg$c729="red",peg$c730=peg$literalExpectation("red",!1),peg$c731=function(){return"#ff0000ff"},peg$c732="Red",peg$c733=peg$literalExpectation("Red",!1),peg$c734="rosybrown",peg$c735=peg$literalExpectation("rosybrown",!1),peg$c736=function(){return"#bc8f8fff"},peg$c737="RosyBrown",peg$c738=peg$literalExpectation("RosyBrown",!1),peg$c739="royalblue",peg$c740=peg$literalExpectation("royalblue",!1),peg$c741=function(){return"#4169e1ff"},peg$c742="RoyalBlue",peg$c743=peg$literalExpectation("RoyalBlue",!1),peg$c744="saddlebrown",peg$c745=peg$literalExpectation("saddlebrown",!1),peg$c746=function(){return"#8b4513ff"},peg$c747="SaddleBrown",peg$c748=peg$literalExpectation("SaddleBrown",!1),peg$c749="salmon",peg$c750=peg$literalExpectation("salmon",!1),peg$c751=function(){return"#fa8072ff"},peg$c752="Salmon",peg$c753=peg$literalExpectation("Salmon",!1),peg$c754="sandybrown",peg$c755=peg$literalExpectation("sandybrown",!1),peg$c756=function(){return"#f4a460ff"},peg$c757="SandyBrown",peg$c758=peg$literalExpectation("SandyBrown",!1),peg$c759="seagreen",peg$c760=peg$literalExpectation("seagreen",!1),peg$c761=function(){return"#2e8b57ff"},peg$c762="SeaGreen",peg$c763=peg$literalExpectation("SeaGreen",!1),peg$c764="seashell",peg$c765=peg$literalExpectation("seashell",!1),peg$c766=function(){return"#fff5eeff"},peg$c767="SeaShell",peg$c768=peg$literalExpectation("SeaShell",!1),peg$c769="sienna",peg$c770=peg$literalExpectation("sienna",!1),peg$c771=function(){return"#a0522dff"},peg$c772="Sienna",peg$c773=peg$literalExpectation("Sienna",!1),peg$c774="silver",peg$c775=peg$literalExpectation("silver",!1),peg$c776=function(){return"#c0c0c0ff"},peg$c777="Silver",peg$c778=peg$literalExpectation("Silver",!1),peg$c779="skyblue",peg$c780=peg$literalExpectation("skyblue",!1),peg$c781=function(){return"#87ceebff"},peg$c782="SkyBlue",peg$c783=peg$literalExpectation("SkyBlue",!1),peg$c784="slateblue",peg$c785=peg$literalExpectation("slateblue",!1),peg$c786=function(){return"#6a5acdff"},peg$c787="SlateBlue",peg$c788=peg$literalExpectation("SlateBlue",!1),peg$c789="slategray",peg$c790=peg$literalExpectation("slategray",!1),peg$c791=function(){return"#708090ff"},peg$c792="SlateGray",peg$c793=peg$literalExpectation("SlateGray",!1),peg$c794="slategrey",peg$c795=peg$literalExpectation("slategrey",!1),peg$c796="SlateGrey",peg$c797=peg$literalExpectation("SlateGrey",!1),peg$c798="snow",peg$c799=peg$literalExpectation("snow",!1),peg$c800=function(){return"#fffafaff"},peg$c801="Snow",peg$c802=peg$literalExpectation("Snow",!1),peg$c803="springgreen",peg$c804=peg$literalExpectation("springgreen",!1),peg$c805=function(){return"#00ff7fff"},peg$c806="SpringGreen",peg$c807=peg$literalExpectation("SpringGreen",!1),peg$c808="steelblue",peg$c809=peg$literalExpectation("steelblue",!1),peg$c810=function(){return"#4682b4ff"},peg$c811="SteelBlue",peg$c812=peg$literalExpectation("SteelBlue",!1),peg$c813="tan",peg$c814=peg$literalExpectation("tan",!1),peg$c815=function(){return"#d2b48cff"},peg$c816="Tan",peg$c817=peg$literalExpectation("Tan",!1),peg$c818="teal",peg$c819=peg$literalExpectation("teal",!1),peg$c820=function(){return"#008080ff"},peg$c821="Teal",peg$c822=peg$literalExpectation("Teal",!1),peg$c823="thistle",peg$c824=peg$literalExpectation("thistle",!1),peg$c825=function(){return"#d8bfd8ff"},peg$c826="Thistle",peg$c827=peg$literalExpectation("Thistle",!1),peg$c828="tomato",peg$c829=peg$literalExpectation("tomato",!1),peg$c830=function(){return"#ff6347ff"},peg$c831="Tomato",peg$c832=peg$literalExpectation("Tomato",!1),peg$c833="turquoise",peg$c834=peg$literalExpectation("turquoise",!1),peg$c835=function(){return"#40e0d0ff"},peg$c836="Turquoise",peg$c837=peg$literalExpectation("Turquoise",!1),peg$c838="violet",peg$c839=peg$literalExpectation("violet",!1),peg$c840=function(){return"#ee82eeff"},peg$c841="Violet",peg$c842=peg$literalExpectation("Violet",!1),peg$c843="wheat",peg$c844=peg$literalExpectation("wheat",!1),peg$c845=function(){return"#f5deb3ff"},peg$c846="Wheat",peg$c847=peg$literalExpectation("Wheat",!1),peg$c848="white",peg$c849=peg$literalExpectation("white",!1),peg$c850=function(){return"#ffffffff"},peg$c851="White",peg$c852=peg$literalExpectation("White",!1),peg$c853="whitesmoke",peg$c854=peg$literalExpectation("whitesmoke",!1),peg$c855=function(){return"#f5f5f5ff"},peg$c856="WhiteSmoke",peg$c857=peg$literalExpectation("WhiteSmoke",!1),peg$c858="yellow",peg$c859=peg$literalExpectation("yellow",!1),peg$c860=function(){return"#ffff00ff"},peg$c861="Yellow",peg$c862=peg$literalExpectation("Yellow",!1),peg$c863="yellowgreen",peg$c864=peg$literalExpectation("yellowgreen",!1),peg$c865=function(){return"#9acd32ff"},peg$c866="YellowGreen",peg$c867=peg$literalExpectation("YellowGreen",!1),peg$c868="#",peg$c869=peg$literalExpectation("#",!1),peg$c870=function(r,g,b){return""+r+r+g+g+b+b+"ff"},peg$c871=function(r1,r2,g1,g2,b1,b2){return""+r1+r2+g1+g2+b1+b2+"ff"},peg$c872=function(r,g,b,a){return""+r+r+g+g+b+b+a+a},peg$c873=function(r1,r2,g1,g2,b1,b2,a1,a2){return""+r1+r2+g1+g2+b1+b2+a1+a2},peg$c874=peg$otherExpectation("color"),peg$c875="arc_label",peg$c876=peg$literalExpectation("arc_label",!1),peg$c877="head_label",peg$c878=peg$literalExpectation("head_label",!1),peg$c879="tail_label",peg$c880=peg$literalExpectation("tail_label",!1),peg$c881=":",peg$c882=peg$literalExpectation(":",!1),peg$c883=";",peg$c884=peg$literalExpectation(";",!1),peg$c885=function(key,value){return{key:key,value:value}},peg$c886=peg$otherExpectation("single edge color"),peg$c887="edge_color",peg$c888=peg$literalExpectation("edge_color",!1),peg$c889=function(value){return{key:"single_edge_color",value:value}},peg$c890="{",peg$c891=peg$literalExpectation("{",!1),peg$c892="}",peg$c893=peg$literalExpectation("}",!1),peg$c894=function(items){return items},peg$c895="%",peg$c896=peg$literalExpectation("%",!1),peg$c897=function(value){return{key:"arrow probability",value:value}},peg$c898="[",peg$c899=peg$literalExpectation("[",!1),peg$c900="]",peg$c901=peg$literalExpectation("]",!1),peg$c902=function(names){return names.map(function(i){return i[0]})},peg$c903=function(r_action,r_prob,l_desc,arrow,r_desc,l_prob,l_action,label,tail){var base={kind:arrow,to:label};return tail&&tail!==[]&&(base.se=tail),l_desc&&(base.l_desc=l_desc),r_desc&&(base.r_desc=r_desc),l_action&&(base.l_action=l_action),r_action&&(base.r_action=r_action),l_prob&&(base.l_probability=l_prob.value),r_prob&&(base.r_probability=r_prob.value),base},peg$c904=function(label,se){var base={key:"transition",from:label};return se&&se!==[]&&(base.se=se),base},peg$c905="whargarbl",peg$c906=peg$literalExpectation("whargarbl",!1),peg$c907="todo",peg$c908=peg$literalExpectation("todo",!1),peg$c909=function(validationkey,value){return{key:validationkey,value:value}},peg$c910="validation",peg$c911=peg$literalExpectation("validation",!1),peg$c912="};",peg$c913=peg$literalExpectation("};",!1),peg$c914=function(validation_items){return{config_kind:"validation",config_items:validation_items||[]}},peg$c915="dot",peg$c916=peg$literalExpectation("dot",!1),peg$c917="circo",peg$c918=peg$literalExpectation("circo",!1),peg$c919="fdp",peg$c920=peg$literalExpectation("fdp",!1),peg$c921="neato",peg$c922=peg$literalExpectation("neato",!1),peg$c923="in_shape",peg$c924=peg$literalExpectation("in_shape",!1),peg$c925="out_shape",peg$c926=peg$literalExpectation("out_shape",!1),peg$c927="node_shape",peg$c928=peg$literalExpectation("node_shape",!1),peg$c929="state",peg$c930=peg$literalExpectation("state",!1),peg$c931=function(state_items){return{config_kind:"state",config_items:state_items||[]}},peg$c932=function(actionkey,value){return{key:actionkey,value:value}},peg$c933="action",peg$c934=peg$literalExpectation("action",!1),peg$c935=function(action_items){return{config_kind:"action",config_items:action_items||[]}},peg$c936=function(transitionkey,value){return{key:transitionkey,value:value}},peg$c937=peg$otherExpectation("graph default edge color"),peg$c938=function(value){return{key:"graph_default_edge_color",value:value}},peg$c939="transition",peg$c940=peg$literalExpectation("transition",!1),peg$c941=function(transition_items){return{config_kind:"transition",config_items:transition_items||[]}},peg$c942="graph_layout",peg$c943=peg$literalExpectation("graph_layout",!1),peg$c944=function(value){return{key:"graph_layout",value:value}},peg$c945="start_states",peg$c946=peg$literalExpectation("start_states",!1),peg$c947=function(value){return{key:"start_states",value:value}},peg$c948="end_states",peg$c949=peg$literalExpectation("end_states",!1),peg$c950=function(value){return{key:"end_states",value:value}},peg$c951="graph_bg_color",peg$c952=peg$literalExpectation("graph_bg_color",!1),peg$c953=function(value){return{key:"graph_bg_color",value:value}},peg$c954=peg$otherExpectation("configuration"),peg$c955="MIT",peg$c956=peg$literalExpectation("MIT",!1),peg$c957="BSD 2-clause",peg$c958=peg$literalExpectation("BSD 2-clause",!1),peg$c959="BSD 3-clause",peg$c960=peg$literalExpectation("BSD 3-clause",!1),peg$c961="Apache 2.0",peg$c962=peg$literalExpectation("Apache 2.0",!1),peg$c963="Mozilla 2.0",peg$c964=peg$literalExpectation("Mozilla 2.0",!1),peg$c965="Public domain",peg$c966=peg$literalExpectation("Public domain",!1),peg$c967="GPL v2",peg$c968=peg$literalExpectation("GPL v2",!1),peg$c969="GPL v3",peg$c970=peg$literalExpectation("GPL v3",!1),peg$c971="LGPL v2.1",peg$c972=peg$literalExpectation("LGPL v2.1",!1),peg$c973="LGPL v3.0",peg$c974=peg$literalExpectation("LGPL v3.0",!1),peg$c975="color",peg$c976=peg$literalExpectation("color",!1),peg$c977=function(value){return{key:"state color",value:value}},peg$c978=peg$otherExpectation("state quality"),peg$c979=function(name,value){return{key:"state quality",name:name,value:value}},peg$c980=peg$otherExpectation("state definition"),peg$c981=function(name,sq){return{key:"State qualities",value:sq}},peg$c982="machine_author",peg$c983=peg$literalExpectation("machine_author",!1),peg$c984=function(author){return{key:"machine_author",value:author}},peg$c985="machine_contributor",peg$c986=peg$literalExpectation("machine_contributor",!1),peg$c987=function(contributor){return{key:"machine_contributor",value:contributor}},peg$c988="machine_comment",peg$c989=peg$literalExpectation("machine_comment",!1),peg$c990=function(comment){return{key:"machine_comment",value:comment}},peg$c991="machine_definition",peg$c992=peg$literalExpectation("machine_definition",!1),peg$c993=function(definition){return{key:"machine_definition",value:definition}},peg$c994="machine_name",peg$c995=peg$literalExpectation("machine_name",!1),peg$c996=function(name){return{key:"machine_name",value:name}},peg$c1000=(peg$literalExpectation("machine_reference",!1),"machine_version"),peg$c1001=peg$literalExpectation("machine_version",!1),peg$c1002=function(version){return{key:"machine_version",value:version}},peg$c1003="machine_license",peg$c1004=peg$literalExpectation("machine_license",!1),peg$c1005=function(license){return{key:"machine_license",value:license}},peg$c1006="fsl_version",peg$c1007=peg$literalExpectation("fsl_version",!1),peg$c1008=function(fsl_version){return{key:"fsl_version",value:fsl_version}},peg$c1009="group",peg$c1010=peg$literalExpectation("group",!1),peg$c1011=function(name,nl){return{key:"group definition",value:{name:name,list:nl}}},peg$currPos=0,peg$savedPos=0,peg$posDetailsCache=[{line:1,column:1}],peg$maxFailPos=0,peg$maxFailExpected=[],peg$silentFails=0;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]}if((peg$result=peg$startRuleFunction())!==peg$FAILED&&peg$currPos===input.length)return peg$result;throw peg$result!==peg$FAILED&&peg$currPos1&&void 0!==arguments[1]?arguments[1]:"probability";if(!Array.isArray(options))throw new TypeError("options must be a non-empty array of objects");if("object"!==_typeof(options[0]))throw new TypeError("options must be a non-empty array of objects");for(var or_one=function(item){return void 0===item?1:item},rnd=function(cap){return Math.random()*cap}(options.reduce(function(acc,val){return acc+or_one(val[probability_property])},0)),cursor=0,cursor_sum=0;(cursor_sum+=or_one(options[cursor++][probability_property]))<=rnd;);return options[cursor-1]},seq=function(n){return new Array(n).fill(!0).map(function(_,i){return i})},histograph=function(a){return a.sort().reduce(function(m,v){return m.set(v,m.has(v)?m.get(v)+1:1),m},new Map)},weighted_sample_select=function(n,options,probability_property){return seq(n).map(function(i){return weighted_rand_select(options,probability_property)})};exports.seq=seq,exports.histograph=histograph,exports.weighted_histo_key=function(n,options,probability_property,extract){return histograph(weighted_sample_select(n,options,probability_property).map(function(s){return s[extract]}))},exports.weighted_rand_select=weighted_rand_select,exports.weighted_sample_select=weighted_sample_select},{}],jssm:[function(require,module,exports){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i":case"=>":case"~>":return"none";case"<-":case"<->":case"<-=>":case"<-~>":return"legal";case"<=":case"<=>":case"<=->":case"<=~>":return"main";case"<~":case"<~>":case"<~->":case"<~=>":return"forced";default:throw new Error("arrow_direction: unknown arrow type "+arrow)}}function arrow_right_kind(arrow){switch(String(arrow)){case"<-":case"<=":case"<~":return"none";case"->":case"<->":case"<=->":case"<~->":return"legal";case"=>":case"<=>":case"<-=>":case"<~=>":return"main";case"~>":case"<~>":case"<-~>":case"<=~>":return"forced";default:throw new Error("arrow_direction: unknown arrow type "+arrow)}}function compile_rule_transition_step(acc,from,to,this_se,next_se){var edges=[],uFrom=Array.isArray(from)?from:[from],uTo=Array.isArray(to)?to:[to];uFrom.map(function(f){uTo.map(function(t){var rk=arrow_right_kind(this_se.kind),lk=arrow_left_kind(this_se.kind),right={from:f,to:t,kind:rk,forced_only:"forced"===rk,main_path:"main"===rk};this_se.r_action&&(right.action=this_se.r_action),this_se.r_probability&&(right.probability=this_se.r_probability),"none"!==right.kind&&edges.push(right);var left={from:t,to:f,kind:lk,forced_only:"forced"===lk,main_path:"main"===lk};this_se.l_action&&(left.action=this_se.l_action),this_se.l_probability&&(left.probability=this_se.l_probability),"none"!==left.kind&&edges.push(left)})});var new_acc=acc.concat(edges);return next_se?compile_rule_transition_step(new_acc,to,next_se.to,next_se,next_se.se):new_acc}function compile_rule_handle_transition(rule){return compile_rule_transition_step([],rule.from,rule.se.to,rule.se,rule.se.se)}function compile_rule_handler(rule){if("transition"===rule.key)return{agg_as:"transition",val:compile_rule_handle_transition(rule)};if(["graph_layout","start_states","end_states","machine_name","machine_version","machine_comment","machine_author","machine_contributor","machine_definition","machine_reference","machine_license","fsl_version"].includes(rule.key))return{agg_as:rule.key,val:rule.value};throw new Error("compile_rule_handler: Unknown rule: "+JSON.stringify(rule))}function compile(tree){var _ref,results={graph_layout:[],transition:[],start_states:[],end_states:[],fsl_version:[],machine_author:[],machine_comment:[],machine_contributor:[],machine_definition:[],machine_license:[],machine_name:[],machine_reference:[],machine_version:[]};tree.map(function(tr){var rule=compile_rule_handler(tr),agg_as=rule.agg_as,val=rule.val;results[agg_as]=results[agg_as].concat(val)});var assembled_transitions=(_ref=[]).concat.apply(_ref,_toConsumableArray(results.transition)),result_cfg={start_states:results.start_states.length?results.start_states:[assembled_transitions[0].from],transitions:assembled_transitions};return["graph_layout","machine_name","machine_version","machine_comment","fsl_version","machine_license","machine_definition"].map(function(oneOnlyKey){if(results[oneOnlyKey].length>1)throw new Error("May only have one "+oneOnlyKey+" statement maximum: "+JSON.stringify(results[oneOnlyKey]));results[oneOnlyKey].length&&(result_cfg[oneOnlyKey]=results[oneOnlyKey][0])}),["machine_author","machine_contributor","machine_reference"].map(function(multiKey){results[multiKey].length&&(result_cfg[multiKey]=results[multiKey])}),result_cfg}function make(plan){return compile(parse(plan))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.weighted_histo_key=exports.weighted_sample_select=exports.histograph=exports.weighted_rand_select=exports.seq=exports.arrow_right_kind=exports.arrow_left_kind=exports.arrow_direction=exports.sm=exports.compile=exports.parse=exports.make=exports.Machine=exports.version=void 0;var _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:this.state();return{entrances:this.list_entrances(whichState),exits:this.list_exits(whichState)}}},{key:"list_entrances",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return(this._states.get(whichState)||{}).from||[]}},{key:"list_exits",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return(this._states.get(whichState)||{}).to||[]}},{key:"probable_exits_for",value:function(whichState){var _this2=this,wstate=this._states.get(whichState);if(!wstate)throw new Error("No such state "+JSON.stringify(whichState)+" in probable_exits_for");return wstate.to.map(function(ws){return _this2.lookup_transition_for(_this2.state(),ws)}).filter(Boolean)}},{key:"probabilistic_transition",value:function(){var selected=(0,_jssmUtil.weighted_rand_select)(this.probable_exits_for(this.state()));return this.transition(selected.to)}},{key:"probabilistic_walk",value:function(n){var _this3=this;return(0,_jssmUtil.seq)(n).map(function(){var state_was=_this3.state();return _this3.probabilistic_transition(),state_was}).concat([this.state()])}},{key:"probabilistic_histo_walk",value:function(n){return(0,_jssmUtil.histograph)(this.probabilistic_walk(n))}},{key:"actions",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state(),wstate=this._reverse_actions.get(whichState);if(wstate)return[].concat(_toConsumableArray(wstate.keys()));throw new Error("No such state "+JSON.stringify(whichState))}},{key:"list_states_having_action",value:function(whichState){var wstate=this._actions.get(whichState);if(wstate)return[].concat(_toConsumableArray(wstate.keys()));throw new Error("No such state "+JSON.stringify(whichState))}},{key:"list_exit_actions",value:function(){var _this4=this,whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state(),ra_base=this._reverse_actions.get(whichState);if(!ra_base)throw new Error("No such state "+JSON.stringify(whichState));return[].concat(_toConsumableArray(ra_base.values())).map(function(edgeId){return _this4._edges[edgeId]}).filter(function(o){return o.from===whichState}).map(function(filtered){return filtered.action})}},{key:"probable_action_exits",value:function(){var _this5=this,whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state(),ra_base=this._reverse_actions.get(whichState);if(!ra_base)throw new Error("No such state "+JSON.stringify(whichState));return[].concat(_toConsumableArray(ra_base.values())).map(function(edgeId){return _this5._edges[edgeId]}).filter(function(o){return o.from===whichState}).map(function(filtered){return{action:filtered.action,probability:filtered.probability}})}},{key:"is_unenterable",value:function(whichState){return 0===this.list_entrances(whichState).length}},{key:"has_unenterables",value:function(){var _this6=this;return this.states().some(function(x){return _this6.is_unenterable(x)})}},{key:"is_terminal",value:function(){return this.state_is_terminal(this.state())}},{key:"state_is_terminal",value:function(whichState){return 0===this.list_exits(whichState).length}},{key:"has_terminals",value:function(){var _this7=this;return this.states().some(function(x){return _this7.state_is_terminal(x)})}},{key:"is_complete",value:function(){return this.state_is_complete(this.state())}},{key:"state_is_complete",value:function(whichState){var wstate=this._states.get(whichState);if(wstate)return wstate.complete;throw new Error("No such state "+JSON.stringify(whichState))}},{key:"has_completes",value:function(){var _this8=this;return this.states().some(function(x){return _this8.state_is_complete(x)})}},{key:"action",value:function(name,newData){if(this.valid_action(name,newData)){var edge=this.current_action_edge_for(name);return this._state=edge.to,!0}return!1}},{key:"transition",value:function(newState,newData){return!!this.valid_transition(newState,newData)&&(this._state=newState,!0)}},{key:"force_transition",value:function(newState,newData){return!!this.valid_force_transition(newState,newData)&&(this._state=newState,!0)}},{key:"current_action_for",value:function(action){var action_base=this._actions.get(action);return action_base?action_base.get(this.state()):void 0}},{key:"current_action_edge_for",value:function(action){var idx=this.current_action_for(action);if(void 0===idx||null===idx)throw new Error("No such action "+JSON.stringify(action));return this._edges[idx]}},{key:"valid_action",value:function(action,_newData){return void 0!==this.current_action_for(action)}},{key:"valid_transition",value:function(newState,_newData){var transition_for=this.lookup_transition_for(this.state(),newState);return!!transition_for&&!transition_for.forced_only}},{key:"valid_force_transition",value:function(newState,_newData){return void 0!==this.lookup_transition_for(this.state(),newState)}}]),Machine}();exports.version="5.7.0",exports.Machine=Machine,exports.make=make,exports.parse=parse,exports.compile=compile,exports.sm=function(template_strings){var _arguments=arguments;return new Machine(make(template_strings.reduce(function(acc,val,idx){return""+acc+_arguments[idx]+val})))},exports.arrow_direction=function(arrow){switch(String(arrow)){case"->":case"=>":case"~>":return"right";case"<-":case"<=":case"<~":return"left";case"<->":case"<-=>":case"<-~>":case"<=>":case"<=->":case"<=~>":case"<~>":case"<~->":case"<~=>":return"both";default:throw new Error("arrow_direction: unknown arrow type "+arrow)}},exports.arrow_left_kind=arrow_left_kind,exports.arrow_right_kind=arrow_right_kind,exports.seq=_jssmUtil.seq,exports.weighted_rand_select=_jssmUtil.weighted_rand_select,exports.histograph=_jssmUtil.histograph,exports.weighted_sample_select=_jssmUtil.weighted_sample_select,exports.weighted_histo_key=_jssmUtil.weighted_histo_key},{"./jssm-dot.js":1,"./jssm-util.js":2}]},{},[]); \ No newline at end of file diff --git a/docs/lib/index.html b/docs/lib/index.html index 9020a205..7b7fd36d 100644 --- a/docs/lib/index.html +++ b/docs/lib/index.html @@ -2,7 +2,7 @@ - jssm 5.6.0 | Documentation + jssm 5.7.0 | Documentation @@ -14,7 +14,7 @@

jssm

-
5.6.0
+
5.7.0
=6.0.0" }, @@ -86,7 +86,6 @@ "del-cli": "^1.1.0", "documentation": "^4.0.0", "eslint": "^4.3.0", - "eslint-config-stonecypher": "^1.14.5", "eslint-plugin-ava": "^4.2.1", "eslint-plugin-flowtype": "^2.35.0", "eslint-plugin-fp": "^2.3.0", @@ -105,5 +104,7 @@ "uglify-js": "^3.0.26", "viz.js": "^1.7.1" }, - "dependencies": {} + "dependencies": { + "eslint-config-stonecypher": "^1.15.6" + } } diff --git a/src/js/jssm-types.js b/src/js/jssm-types.js index 510731e6..5bad3529 100644 --- a/src/js/jssm-types.js +++ b/src/js/jssm-types.js @@ -111,29 +111,39 @@ type JssmTransitionList = { type JssmGenericConfig = { - graph_layout? : JssmLayout, + graph_layout? : JssmLayout, - complete? : Array, - transitions : JssmTransitions, + complete? : Array, + transitions : JssmTransitions, - name? : string, - data? : mixed, - nodes? : Array, // uncommon - check? : JssmStatePermitterMaybeArray, + name? : string, + data? : mixed, + nodes? : Array, // uncommon + check? : JssmStatePermitterMaybeArray, -//locked? : bool = true, - min_exits? : number, - max_exits? : number, - allow_islands? : false, - allow_force? : false, - actions? : JssmPermittedOpt, +//locked? : bool = true, + min_exits? : number, + max_exits? : number, + allow_islands? : false, + allow_force? : false, + actions? : JssmPermittedOpt, - simplify_bidi? : boolean, + simplify_bidi? : boolean, - start_states : Array, - end_states? : Array, + start_states : Array, + end_states? : Array, - auto_api? : boolean | string // boolean false means don't; boolean true means do; string means do-with-this-prefix + machine_author? : Array, + machine_comment? : string, + machine_contributor? : Array, + machine_definition? : string, + machine_license? : string, + machine_name? : string, + machine_version? : string, + + fsl_version? : string, + + auto_api? : boolean | string // boolean false means don't; boolean true means do; string means do-with-this-prefix }; diff --git a/src/js/jssm.js b/src/js/jssm.js index 31888b8c..6be4d5d0 100644 --- a/src/js/jssm.js +++ b/src/js/jssm.js @@ -195,6 +195,8 @@ function compile_rule_handler(rule : JssmCompileSeStart) : JssmCompile + + function compile(tree : JssmParseTree) : JssmGenericConfig { // todo flow describe the output of the parser const results : { @@ -209,6 +211,7 @@ function compile(tree : JssmParseTree) : JssmGenericConfig, machine_license : Array< string >, machine_name : Array< string >, + machine_reference : Array< string >, machine_version : Array< string > // semver } = { graph_layout : [], @@ -222,6 +225,7 @@ function compile(tree : JssmParseTree) : JssmGenericConfig(tree : JssmParseTree) : JssmGenericConfig = [ - 'graph_layout', 'machine_name', 'machine_version', 'machine_comment', 'fsl_version', 'machine_license' + 'graph_layout', 'machine_name', 'machine_version', 'machine_comment', 'fsl_version', 'machine_license', + 'machine_definition' ]; oneOnlyKeys.map( (oneOnlyKey : string) => { @@ -256,7 +261,7 @@ function compile(tree : JssmParseTree) : JssmGenericConfig { + ['machine_author', 'machine_contributor', 'machine_reference'].map( (multiKey : string) => { if (results[multiKey].length) { result_cfg[multiKey] = results[multiKey]; } @@ -268,6 +273,8 @@ function compile(tree : JssmParseTree) : JssmGenericConfig(plan : string) : JssmGenericConfig { return compile(parse(plan)); } @@ -287,13 +294,34 @@ class Machine { _actions : Map>; _reverse_actions : Map>; _reverse_action_targets : Map>; - _author : Array; - _contributor : Array; + + _machine_author : ?Array; + _machine_comment : ?string; + _machine_contributor : ?Array; + _machine_definition : ?string; + _machine_license : ?string; + _machine_name : ?string; + _machine_version : ?string; + _fsl_version : ?string; _graph_layout : JssmLayout; + // whargarbl this badly needs to be broken up, monolith master - constructor({ start_states, complete=[], transitions, graph_layout = 'dot' } : JssmGenericConfig) { + constructor({ + start_states, + complete = [], + transitions, + machine_author, + machine_comment, + machine_contributor, + machine_definition, + machine_license, + machine_name, + machine_version, + fsl_version, + graph_layout = 'dot' + } : JssmGenericConfig) { this._state = start_states[0]; this._states = new Map(); @@ -304,6 +332,15 @@ class Machine { this._reverse_actions = new Map(); this._reverse_action_targets = new Map(); // todo + this._machine_author = machine_author; + this._machine_comment = machine_comment; + this._machine_contributor = machine_contributor; + this._machine_definition = machine_definition; + this._machine_license = machine_license; + this._machine_name = machine_name; + this._machine_version = machine_version; + this._fsl_version = fsl_version; + this._graph_layout = graph_layout; transitions.map( (tr:JssmTransition) => { @@ -448,7 +485,41 @@ class Machine { } graph_layout() : string { - return String(this._graph_layout); + return this._graph_layout; + } + + + + machine_author() : ?Array { + return this._machine_author; + } + + machine_comment() : ?string { + return this._machine_comment; + } + + machine_contributor() : ?Array { + return this._machine_contributor; + } + + machine_definition() : ?string { + return this._machine_definition; + } + + machine_license() : ?string { + return this._machine_license; + } + + machine_name() : ?string { + return this._machine_name; + } + + machine_version() : ?string { + return this._machine_version; + } + + fsl_version() : ?string { + return this._fsl_version; } diff --git a/src/js/tests/machine_attributes.js b/src/js/tests/machine_attributes.js index e6aa2dae..db74a75f 100644 --- a/src/js/tests/machine_attributes.js +++ b/src/js/tests/machine_attributes.js @@ -9,8 +9,12 @@ const jssm = require('../../../build/jssm.es5.js'), describe('machine_name', async it => { - it('atom', t => t.notThrows(() => { const _foo = sm`machine_name: bob; a->b;`; }) ); - it('quoted string', t => t.notThrows(() => { const _foo = sm`machine_name: "bo b"; a->b;`; }) ); + + it('atom', t => t.notThrows(() => { const _foo = sm`machine_name: bob; a->b;`; }) ); + it('quoted string', t => t.notThrows(() => { const _foo = sm`machine_name: "bo b"; a->b;`; }) ); + + it('retval correct', t => t.is("testval", sm`machine_name: testval; a->b;`.machine_name() ) ); + }); @@ -18,12 +22,17 @@ describe('machine_name', async it => { describe('machine_author', async it2 => { + it2('single atom', t => t.notThrows(() => { const _foo = sm`machine_author: bob; a->b;`; }) ); it2('single quoted string', t => t.notThrows(() => { const _foo = sm`machine_author: "bo b"; a->b;`; }) ); it2('atom list', t => t.notThrows(() => { const _foo = sm`machine_author: [bob dobbs]; a->b;`; }) ); it2('quoted string list', t => t.notThrows(() => { const _foo = sm`machine_author: ["bo b" "do bbs"]; a->b;`; }) ); it2('mixed list a/q', t => t.notThrows(() => { const _foo = sm`machine_author: [bob "do bbs"]; a->b;`; }) ); it2('mixed list q/a', t => t.notThrows(() => { const _foo = sm`machine_author: ["bo b" dobbs]; a->b;`; }) ); + + it2('single retval', t => t.deepEqual(["testval"], sm`machine_author: testval; a->b;`.machine_author() ) ); + it2('multiple retval', t => t.deepEqual(['bob','david'], sm`machine_author: [bob david]; a->b;`.machine_author() ) ); + }); @@ -31,12 +40,20 @@ describe('machine_author', async it2 => { describe('machine_contributor', async it3 => { + it3('atom', t => t.notThrows(() => { const _ = sm`machine_contributor: bob; a->b;`; }) ); it3('quoted string', t => t.notThrows(() => { const _ = sm`machine_contributor: "bo b"; a->b;`; }) ); it3('atom list', t => t.notThrows(() => { const _ = sm`machine_contributor: [bob dobbs]; a->b;`; }) ); it3('quoted string list', t => t.notThrows(() => { const _ = sm`machine_contributor: ["bo b" "do bbs"]; a->b;`; }) ); it3('mixed list a/q', t => t.notThrows(() => { const _ = sm`machine_contributor: [bob "do bbs"]; a->b;`; }) ); it3('mixed list q/a', t => t.notThrows(() => { const _ = sm`machine_contributor: ["bo b" dobbs]; a->b;`; }) ); + + it3('single retval', t => + t.deepEqual(["testval"], sm`machine_contributor: testval; a->b;`.machine_contributor() ) ); + + it3('multiple retval', t => + t.deepEqual(['bob','david'], sm`machine_contributor: [bob david]; a->b;`.machine_contributor() ) ); + }); @@ -44,8 +61,12 @@ describe('machine_contributor', async it3 => { describe('machine_comment', async it4 => { + it4('atom', t => t.notThrows(() => { const _foo = sm`machine_comment: bob; a->b;`; }) ); it4('quoted string', t => t.notThrows(() => { const _foo = sm`machine_comment: "bo b"; a->b;`; }) ); + + it4('retval correct', t => t.is("testval", sm`machine_comment: testval; a->b;`.machine_comment() ) ); + }); @@ -53,8 +74,14 @@ describe('machine_comment', async it4 => { describe('machine_definition', async it5 => { + it5('url', t => t.notThrows(() => { const _foo = sm`machine_definition: http://google.com/ ; a->b;`; }) ); it5('url', t => t.notThrows(() => { const _foo = sm`machine_definition: http://google.com/ ; a->b;`; }) ); + it5('url', t => t.throws( () => { const _foo = sm`machine_definition: "not a url"; a->b;`; }) ); + + it5('retval correct', t => + t.is("http://google.com/", sm`machine_definition: http://google.com/ ; a->b;`.machine_definition() ) ); + }); @@ -62,6 +89,7 @@ describe('machine_definition', async it5 => { describe('machine_version', async it6 => { + it6('semver 0.0.0', t => t.notThrows(() => { const _f = sm`machine_version: 0.0.0; a->b;`; }) ); it6('semver 0.0.1', t => t.notThrows(() => { const _f = sm`machine_version: 0.0.1; a->b;`; }) ); it6('semver 0.1.0', t => t.notThrows(() => { const _f = sm`machine_version: 0.1.0; a->b;`; }) ); @@ -69,6 +97,17 @@ describe('machine_version', async it6 => { it6('semver 1.0.1', t => t.notThrows(() => { const _f = sm`machine_version: 1.0.1; a->b;`; }) ); it6('semver 1.1.1', t => t.notThrows(() => { const _f = sm`machine_version: 1.1.1; a->b;`; }) ); it6('semver 2.0.0', t => t.notThrows(() => { const _f = sm`machine_version: 2.0.0; a->b;`; }) ); + + it6('semver notAS', t => t.throws(() => { const _f = sm`machine_version: "Not a semver"; a->b;`; }) ); + + it6('retval correct', t => + t.deepEqual( + {full:"0.0.0", major:0, minor:0, patch:0}, + sm`machine_version: 0.0.0; a->b;`.machine_version() + ) + ); + + }); @@ -77,6 +116,8 @@ describe('machine_version', async it6 => { describe('machine_license', async oit => { + oit('retval correct', t => t.is("testval", sm`machine_license: testval; a->b;`.machine_license() ) ); + describe('near', async it => { it('Public domain', t => t.notThrows(() => { const _ = sm`machine_license:Public domain; a->b;`; }) ); it('MIT', t => t.notThrows(() => { const _ = sm`machine_license:MIT; a->b;`; }) ); @@ -113,6 +154,7 @@ describe('machine_license', async oit => { describe('fsl_version', async it7 => { + it7('semver 0.0.0', t => t.notThrows(() => { const _f = sm`fsl_version: 0.0.0; a->b;`; }) ); it7('semver 0.0.1', t => t.notThrows(() => { const _f = sm`fsl_version: 0.0.1; a->b;`; }) ); it7('semver 0.1.0', t => t.notThrows(() => { const _f = sm`fsl_version: 0.1.0; a->b;`; }) ); @@ -120,4 +162,14 @@ describe('fsl_version', async it7 => { it7('semver 1.0.1', t => t.notThrows(() => { const _f = sm`fsl_version: 1.0.1; a->b;`; }) ); it7('semver 1.1.1', t => t.notThrows(() => { const _f = sm`fsl_version: 1.1.1; a->b;`; }) ); it7('semver 2.0.0', t => t.notThrows(() => { const _f = sm`fsl_version: 2.0.0; a->b;`; }) ); + + it7('semver notAS', t => t.throws(() => { const _f = sm`fsl_version: "Not a semver"; a->b;`; }) ); + + it7('retval correct', t => + t.deepEqual( + {full:"0.0.0", major:0, minor:0, patch:0}, + sm`fsl_version: 0.0.0; a->b;`.fsl_version() + ) + ); + });