diff --git a/CHANGELOG.md b/CHANGELOG.md index b97e621e..67c49913 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +* [[`ef6a3e01de`](https://github.com/StoneCypher/jssm/commit/ef6a3e01de)] - get coverage back (John Haugeland) +* [[`c628ae06ac`](https://github.com/StoneCypher/jssm/commit/c628ae06ac)] - intermediate status before merge (John Haugeland) +* [[`11fa8ce1ee`](https://github.com/StoneCypher/jssm/commit/11fa8ce1ee)] - minor build improvements (John Haugeland) +* [[`f56b0b9f4f`](https://github.com/StoneCypher/jssm/commit/f56b0b9f4f)] - bump again for scoring (John Haugeland) +* [[`80ed40e7ec`](https://github.com/StoneCypher/jssm/commit/80ed40e7ec)] - Stray punctuation in readme. Bumping to see what happens to scores (John Haugeland) +* [[`4bfe33809c`](https://github.com/StoneCypher/jssm/commit/4bfe33809c)] - let's see if a commit with a published bump changes things (John Haugeland) +* [[`12f221b9b6`](https://github.com/StoneCypher/jssm/commit/12f221b9b6)] - let's see if a commit changes things (John Haugeland) * [[`b33aea269e`](https://github.com/StoneCypher/jssm/commit/b33aea269e)] - underway; committing to see if a mainstream commit changes my testing score (John Haugeland) * [[`4e2593a3c5`](https://github.com/StoneCypher/jssm/commit/4e2593a3c5)] - Merge branch 'master' of github.com:StoneCypher/jssm (John Haugeland) * [[`58c0c19f95`](https://github.com/StoneCypher/jssm/commit/58c0c19f95)] - Set up autoupdate block in prep for CDN (John Haugeland) diff --git a/build/jssm.es5.cjs.js b/build/jssm.es5.cjs.js index d46ded3d..78c20eef 100644 --- a/build/jssm.es5.cjs.js +++ b/build/jssm.es5.cjs.js @@ -113,7 +113,7 @@ module.exports={"abkhazian":"ab","аҧсуа бызшәа, аҧсшәа":"ab","a Object.defineProperty(exports, "__esModule", { value: true }); -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 = undefined; +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.transfer_state_properties = exports.version = undefined; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -400,6 +400,25 @@ function make(plan) { return compile(parse(plan)); } +function transfer_state_properties(state_decl) { + + state_decl.declarations.map(function (d) { + switch (d.key) { + + case 'node_shape': + state_decl.node_shape = d.value;break; + case 'node_color': + state_decl.node_color = d.value;break; + + default: + throw new Error('Unknown state property: \'' + JSON.stringify(d) + '\''); + + } + }); + + return state_decl; +} + var Machine = function () { // whargarbl this badly needs to be broken up, monolith master @@ -449,6 +468,18 @@ var Machine = function () { this._graph_layout = graph_layout; + if (state_declaration) { + state_declaration.map(function (state_decl) { + + if (_this._state_declarations.has(state_decl.state)) { + // no repeats + throw new Error('Added the same state declaration twice: ' + JSON.stringify(state_decl.state)); + } + + _this._state_declarations.set(state_decl.state, transfer_state_properties(state_decl)); + }); + } + transitions.map(function (tr) { if (tr.from === undefined) { @@ -548,7 +579,7 @@ var Machine = function () { */ } }); - } // eslint-disable-line flowtype/no-weak-types + } _createClass(Machine, [{ key: '_new_state', @@ -641,7 +672,6 @@ var Machine = function () { }, { key: 'state_declaration', value: function state_declaration(which) { - // eslint-disable-line flowtype/no-weak-types return this._state_declarations.get(which); } }, { @@ -1045,6 +1075,7 @@ function sm(template_strings /* , arguments */) { } exports.version = version; +exports.transfer_state_properties = transfer_state_properties; exports.Machine = Machine; exports.make = make; exports.parse = parse; diff --git a/build/jssm.es5.cjs.min.js b/build/jssm.es5.cjs.min.js index 470cf51b..d477fa49 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,3)===peg$c1?(s0=peg$c1,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c2)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c3?(s0=peg$c3,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c4)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c5?(s0=peg$c5,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c6)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c7?(s0=peg$c7,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c8)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c9?(s0=peg$c9,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c10)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c11?(s0=peg$c11,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c12)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c13?(s0=peg$c13,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c14)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c15?(s0=peg$c15,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c16)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c17?(s0=peg$c17,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c18)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c19?(s0=peg$c19,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c20)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c21?(s0=peg$c21,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c22)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c23?(s0=peg$c23,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c24)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c25?(s0=peg$c25,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c26)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c27?(s0=peg$c27,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c28)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c29?(s0=peg$c29,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c30)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c31?(s0=peg$c31,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c32)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c33?(s0=peg$c33,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c34)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c35?(s0=peg$c35,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c36)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c37?(s0=peg$c37,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c38)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c39?(s0=peg$c39,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c40)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c41?(s0=peg$c41,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c42)),s0===peg$FAILED&&(input.substr(peg$currPos,11)===peg$c43?(s0=peg$c43,peg$currPos+=11):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c44)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c45?(s0=peg$c45,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c46)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c47?(s0=peg$c47,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c48)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c49?(s0=peg$c49,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c50)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c51?(s0=peg$c51,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c52)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c53?(s0=peg$c53,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c54)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c55?(s0=peg$c55,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c56)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c57?(s0=peg$c57,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c58)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c59?(s0=peg$c59,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c60)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c61?(s0=peg$c61,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c62)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c63?(s0=peg$c63,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c64)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c65?(s0=peg$c65,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c66)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c67?(s0=peg$c67,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c68)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c69?(s0=peg$c69,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c70)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c71?(s0=peg$c71,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c72)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c73?(s0=peg$c73,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c74)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c75?(s0=peg$c75,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c76)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c77?(s0=peg$c77,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c78)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c79?(s0=peg$c79,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c80)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c81?(s0=peg$c81,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c82)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c83?(s0=peg$c83,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c84)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c85?(s0=peg$c85,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c86)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c87?(s0=peg$c87,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c88)),s0===peg$FAILED&&(input.substr(peg$currPos,15)===peg$c89?(s0=peg$c89,peg$currPos+=15):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c90)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c91?(s0=peg$c91,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c92)),s0===peg$FAILED&&(input.substr(peg$currPos,14)===peg$c93?(s0=peg$c93,peg$currPos+=14):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c94)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c95?(s0=peg$c95,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c96)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c97?(s0=peg$c97,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c98)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c99?(s0=peg$c99,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c100)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c101?(s0=peg$c101,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c102)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c103?(s0=peg$c103,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c104)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c105?(s0=peg$c105,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c106)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c107?(s0=peg$c107,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c108)),s0===peg$FAILED&&(input.substr(peg$currPos,11)===peg$c109?(s0=peg$c109,peg$currPos+=11):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c110)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c111?(s0=peg$c111,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c112)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c113?(s0=peg$c113,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c114)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c115?(s0=peg$c115,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c116)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c117?(s0=peg$c117,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c118)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c119?(s0=peg$c119,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c120))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s0}function peg$parseForwardLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c122?(s0=peg$c122,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c123)),s0===peg$FAILED&&(s0=peg$currPos,8594===input.charCodeAt(peg$currPos)?(s1=peg$c124,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c125)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c126()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c121)),s0}function peg$parseTwoWayLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c128?(s0=peg$c128,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c129)),s0===peg$FAILED&&(s0=peg$currPos,8596===input.charCodeAt(peg$currPos)?(s1=peg$c130,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c131)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c132()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c127)),s0}function peg$parseBackLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c134?(s0=peg$c134,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c135)),s0===peg$FAILED&&(s0=peg$currPos,8592===input.charCodeAt(peg$currPos)?(s1=peg$c136,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c137)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c138()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c133)),s0}function peg$parseForwardFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c140?(s0=peg$c140,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c141)),s0===peg$FAILED&&(s0=peg$currPos,8658===input.charCodeAt(peg$currPos)?(s1=peg$c142,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c143)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c144()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c139)),s0}function peg$parseTwoWayFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c146?(s0=peg$c146,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c147)),s0===peg$FAILED&&(s0=peg$currPos,8660===input.charCodeAt(peg$currPos)?(s1=peg$c148,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c149)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c150()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c145)),s0}function peg$parseBackFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c152?(s0=peg$c152,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c153)),s0===peg$FAILED&&(s0=peg$currPos,8656===input.charCodeAt(peg$currPos)?(s1=peg$c154,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c155)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c156()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c151)),s0}function peg$parseForwardTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c158?(s0=peg$c158,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c159)),s0===peg$FAILED&&(s0=peg$currPos,8603===input.charCodeAt(peg$currPos)?(s1=peg$c160,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c161)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c162()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c157)),s0}function peg$parseTwoWayTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c164?(s0=peg$c164,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c165)),s0===peg$FAILED&&(s0=peg$currPos,8622===input.charCodeAt(peg$currPos)?(s1=peg$c166,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c167)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c168()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c163)),s0}function peg$parseBackTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c170?(s0=peg$c170,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c171)),s0===peg$FAILED&&(s0=peg$currPos,8602===input.charCodeAt(peg$currPos)?(s1=peg$c172,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c173)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c174()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c169)),s0}function peg$parseLightFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c176?(s0=peg$c176,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c177)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c178?(s1=peg$c178,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c179)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c180()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c175)),s0}function peg$parseLightTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c182?(s0=peg$c182,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c183)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c184?(s1=peg$c184,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c185)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c186()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c181)),s0}function peg$parseFatLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c188?(s0=peg$c188,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c189)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c190?(s1=peg$c190,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c191)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c192()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c187)),s0}function peg$parseFatTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c194?(s0=peg$c194,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c195)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c196?(s1=peg$c196,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c197)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c198()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c193)),s0}function peg$parseTildeLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c200?(s0=peg$c200,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c201)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c202?(s1=peg$c202,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c203)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c204()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c199)),s0}function peg$parseTildeFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c206?(s0=peg$c206,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c207)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c208?(s1=peg$c208,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c209)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c210()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c205)),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$c211),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$c212),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$c213),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$c214),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$c215),s0}function peg$parseHexDigit(){var s0;return peg$c216.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c217)),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$c218,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c219)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c220,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c221)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c222,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c223)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c224,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c225)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c226()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c227,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c228)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c229()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c230,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c231)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c232()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c233,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c234)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c235()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c236,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c237)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c238()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c239,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c240)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c241()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c242,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c243)),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$c244(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c245(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$c220,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c221)),s0}function peg$parseQuoteMark(){var s0;return 34===input.charCodeAt(peg$currPos)?(s0=peg$c218,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c219)),s0}function peg$parseUnescaped(){var s0;return peg$c246.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c247)),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$c248,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c249)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c220,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c221)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c222,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c223)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c224,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c225)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c226()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c227,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c228)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c229()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c230,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c231)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c232()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c233,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c234)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c235()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c236,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c237)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c238()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c239,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c240)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c241()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c242,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c243)),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$c244(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c245(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$c248,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c249)),s0}function peg$parseActionLabelUnescaped(){var s0;return peg$c250.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c251)),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$c253(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$c252),s0}function peg$parseLineTerminator(){var s0;return peg$c254.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c255)),s0}function peg$parseBlockCommentTail(){var s0,s1,s2;return input.substr(peg$currPos,2)===peg$c258?(s0=peg$c258,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c259)),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$c260)),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 peg$silentFails++,s0=peg$currPos,input.substr(peg$currPos,2)===peg$c262?(s1=peg$c262,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c263)),s1!==peg$FAILED&&(s2=peg$parseBlockCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c261)),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$c260)),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$c260)),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 peg$silentFails++,s0=peg$currPos,input.substr(peg$currPos,2)===peg$c265?(s1=peg$c265,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c266)),s1!==peg$FAILED&&(s2=peg$parseLineCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c264)),s0}function peg$parseWS(){var s0,s1,s2;if(peg$silentFails++,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$c268.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c269)),s2!==peg$FAILED)for(;s2!==peg$FAILED;)s1.push(s2),peg$c268.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c269));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 peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c267)),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$c253(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$c270),s0}function peg$parseAtomFirstLetter(){var s0;return peg$c271.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c272)),s0}function peg$parseAtomLetter(){var s0;return peg$c273.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c274)),s0}function peg$parseAtom(){var s0,s1,s2,s3;if(peg$silentFails++,s0=peg$currPos,(s1=peg$parseAtomFirstLetter())!==peg$FAILED){for(s2=[],s3=peg$parseAtomLetter();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseAtomLetter();s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c276(s1,s2)):(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$c275)),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$c277),s0}function peg$parseIntegerLiteral(){var s0,s1,s2,s3;if(48===input.charCodeAt(peg$currPos)?(s0=peg$c278,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c279)),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$c280.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c281)),s0}function peg$parseNonZeroDigit(){var s0;return peg$c282.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c283)),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$c285,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c286)),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$c287()):(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$c287()):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c284),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$c285,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c286)),s2!==peg$FAILED&&(s3=peg$parseIntegerLiteral())!==peg$FAILED?(46===input.charCodeAt(peg$currPos)?(s4=peg$c285,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c286)),s4!==peg$FAILED&&(s5=peg$parseIntegerLiteral())!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c288(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$c299?(s0=peg$c299,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c300)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c301?(s0=peg$c301,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c302))),s0}function peg$parseURL(){var s0,s1,s2,s3;if(s0=peg$currPos,(s1=peg$parseUrlProtocol())!==peg$FAILED){if(s2=[],peg$c303.test(input.charAt(peg$currPos))?(s3=input.charAt(peg$currPos),peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c304)),s3!==peg$FAILED)for(;s3!==peg$FAILED;)s2.push(s3),peg$c303.test(input.charAt(peg$currPos))?(s3=input.charAt(peg$currPos),peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c304));else s2=peg$FAILED;s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c305(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$c306?(s1=peg$c306,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c307)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c308()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c309?(s1=peg$c309,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c310)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c308()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c311?(s1=peg$c311,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c312)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c313()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c314?(s1=peg$c314,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c315)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c313()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c316?(s1=peg$c316,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c317)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c318()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c319?(s1=peg$c319,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c320)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c318()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c321?(s1=peg$c321,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c322)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c323()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c324?(s1=peg$c324,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c325)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c323()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c326?(s1=peg$c326,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c327)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c328()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c329?(s1=peg$c329,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c330)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c328()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c331?(s1=peg$c331,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c332)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c333()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c334?(s1=peg$c334,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c335)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c333()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c336?(s1=peg$c336,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c337)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c338()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c339?(s1=peg$c339,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c340)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c338()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c341?(s1=peg$c341,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c342)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c343()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c344?(s1=peg$c344,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c345)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c343()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c346?(s1=peg$c346,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c347)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c348()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c349?(s1=peg$c349,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c350)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c348()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c351?(s1=peg$c351,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c352)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c353()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c354?(s1=peg$c354,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c355)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c353()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c356?(s1=peg$c356,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c357)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c358()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c359?(s1=peg$c359,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c360)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c358()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c361?(s1=peg$c361,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c362)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c363()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c364?(s1=peg$c364,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c365)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c363()),(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$c368()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c369?(s1=peg$c369,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c370)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c368()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c371?(s1=peg$c371,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c372)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c373()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c374?(s1=peg$c374,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c375)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c373()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c376?(s1=peg$c376,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c377)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c378()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c379?(s1=peg$c379,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c380)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c378()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c381?(s1=peg$c381,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c382)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c383()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c384?(s1=peg$c384,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c385)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c383()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c386?(s1=peg$c386,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c387)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c388()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c389?(s1=peg$c389,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c390)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c388()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c391?(s1=peg$c391,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c392)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c393()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c394?(s1=peg$c394,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c395)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c393()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c396?(s1=peg$c396,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c397)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c398()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c399?(s1=peg$c399,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c400)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c398()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c401?(s1=peg$c401,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c402)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c403()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c404?(s1=peg$c404,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c405)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c403()),(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$c318()),(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$c318()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c410?(s1=peg$c410,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c411)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c412()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c413?(s1=peg$c413,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c414)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c412()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c415?(s1=peg$c415,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c416)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c417()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c418?(s1=peg$c418,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c419)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c417()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c420?(s1=peg$c420,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c421)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c422()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c423?(s1=peg$c423,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c424)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c422()),(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$c427()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c428?(s1=peg$c428,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c429)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c427()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c430?(s1=peg$c430,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c431)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c427()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c432?(s1=peg$c432,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c433)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c427()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c434?(s1=peg$c434,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c435)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c436()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c437?(s1=peg$c437,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c438)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c436()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c439?(s1=peg$c439,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c440)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c441()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c442?(s1=peg$c442,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c443)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c441()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c444?(s1=peg$c444,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c445)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c446()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c447?(s1=peg$c447,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c448)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c446()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c449?(s1=peg$c449,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c450)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c451()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c452?(s1=peg$c452,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c453)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c451()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c454?(s1=peg$c454,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c455)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c456()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c457?(s1=peg$c457,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c458)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c456()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c459?(s1=peg$c459,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c460)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c461()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c462?(s1=peg$c462,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c463)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c461()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c464?(s1=peg$c464,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c465)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c466()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c467?(s1=peg$c467,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c468)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c466()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c469?(s1=peg$c469,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c470)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c471()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c472?(s1=peg$c472,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c473)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c471()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c474?(s1=peg$c474,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c475)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c476()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c477?(s1=peg$c477,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c478)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c476()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c479?(s1=peg$c479,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c480)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c481()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c482?(s1=peg$c482,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c483)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c481()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c484?(s1=peg$c484,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c485)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c486()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c487?(s1=peg$c487,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c488)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c486()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c489?(s1=peg$c489,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c490)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c486()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c491?(s1=peg$c491,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c492)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c486()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c493?(s1=peg$c493,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c494)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c495()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c496?(s1=peg$c496,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c497)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c495()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c498?(s1=peg$c498,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c499)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c500()),(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$c500()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c503?(s1=peg$c503,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c504)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c505()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c506?(s1=peg$c506,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c507)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c505()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c508?(s1=peg$c508,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c509)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c510()),(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$c510()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c513?(s1=peg$c513,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c514)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c515()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c516?(s1=peg$c516,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c517)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c515()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c518?(s1=peg$c518,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c519)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c515()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c520?(s1=peg$c520,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c521)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c515()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c522?(s1=peg$c522,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c523)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c524()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c525?(s1=peg$c525,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c526)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c524()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c527?(s1=peg$c527,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c528)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c529()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c530?(s1=peg$c530,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c531)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c529()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c532?(s1=peg$c532,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c533)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c534()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c535?(s1=peg$c535,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c536)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c534()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c537?(s1=peg$c537,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c538)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c539()),(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$c539()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c542?(s1=peg$c542,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c543)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c544()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c545?(s1=peg$c545,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c546)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c544()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c547?(s1=peg$c547,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c548)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c549()),(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$c549()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c552?(s1=peg$c552,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c553)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c554()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c555?(s1=peg$c555,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c556)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c554()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c557?(s1=peg$c557,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c558)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c559()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c560?(s1=peg$c560,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c561)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c559()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c562?(s1=peg$c562,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c563)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c564()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c565?(s1=peg$c565,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c566)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c564()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c567?(s1=peg$c567,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c568)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c569()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c570?(s1=peg$c570,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c571)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c569()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c572?(s1=peg$c572,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c573)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c569()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c574?(s1=peg$c574,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c575)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c569()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c576?(s1=peg$c576,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c577)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c578()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c579?(s1=peg$c579,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c580)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c578()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c581?(s1=peg$c581,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c582)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c583()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c584?(s1=peg$c584,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c585)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c583()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c586?(s1=peg$c586,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c587)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c588()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c589?(s1=peg$c589,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c590)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c588()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c591?(s1=peg$c591,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c592)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c593()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c594?(s1=peg$c594,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c595)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c593()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c596?(s1=peg$c596,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c597)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c598()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c599?(s1=peg$c599,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c600)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c598()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c601?(s1=peg$c601,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c602)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c603()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c604?(s1=peg$c604,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c605)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c603()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c606?(s1=peg$c606,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c607)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c608()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c609?(s1=peg$c609,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c610)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c608()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c611?(s1=peg$c611,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c612)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c613()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c614?(s1=peg$c614,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c615)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c613()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c616?(s1=peg$c616,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c617)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c618()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c619?(s1=peg$c619,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c620)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c618()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c621?(s1=peg$c621,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c622)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c623()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c624?(s1=peg$c624,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c625)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c623()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c626?(s1=peg$c626,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c627)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c628()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c629?(s1=peg$c629,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c630)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c628()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c631?(s1=peg$c631,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c632)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c633()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c634?(s1=peg$c634,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c635)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c633()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c636?(s1=peg$c636,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c637)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c638()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c639?(s1=peg$c639,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c640)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c638()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c641?(s1=peg$c641,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c642)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c643()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c644?(s1=peg$c644,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c645)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c643()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c646?(s1=peg$c646,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c647)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c648()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c649?(s1=peg$c649,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c650)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c648()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,20)===peg$c651?(s1=peg$c651,peg$currPos+=20):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c652)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c653()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,20)===peg$c654?(s1=peg$c654,peg$currPos+=20):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c655)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c653()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c656?(s1=peg$c656,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c657)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c658()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c659?(s1=peg$c659,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c660)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c658()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c661?(s1=peg$c661,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c662)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c658()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c663?(s1=peg$c663,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c664)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c658()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c665?(s1=peg$c665,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c666)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c667()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c668?(s1=peg$c668,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c669)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c667()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c670?(s1=peg$c670,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c671)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c672()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c673?(s1=peg$c673,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c674)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c672()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c675?(s1=peg$c675,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c676)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c677()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c678?(s1=peg$c678,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c679)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c677()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c680?(s1=peg$c680,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c681)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c682()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c683?(s1=peg$c683,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c684)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c682()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c685?(s1=peg$c685,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c686)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c687()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c688?(s1=peg$c688,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c689)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c687()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c690?(s1=peg$c690,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c691)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c692()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c693?(s1=peg$c693,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c694)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c692()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c695?(s1=peg$c695,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c696)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c692()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c697?(s1=peg$c697,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c698)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c692()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c699?(s1=peg$c699,peg$currPos+=14):(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,14)===peg$c702?(s1=peg$c702,peg$currPos+=14):(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,11)===peg$c704?(s1=peg$c704,peg$currPos+=11):(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,11)===peg$c707?(s1=peg$c707,peg$currPos+=11):(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,9)===peg$c714?(s1=peg$c714,peg$currPos+=9):(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,9)===peg$c717?(s1=peg$c717,peg$currPos+=9):(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,5)===peg$c719?(s1=peg$c719,peg$currPos+=5):(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,5)===peg$c722?(s1=peg$c722,peg$currPos+=5):(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,7)===peg$c724?(s1=peg$c724,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c725)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c544()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c726?(s1=peg$c726,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c727)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c544()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c728?(s1=peg$c728,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c729)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c730()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c731?(s1=peg$c731,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c732)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c730()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,16)===peg$c733?(s1=peg$c733,peg$currPos+=16):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c734)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c735()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,16)===peg$c736?(s1=peg$c736,peg$currPos+=16):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c737)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c735()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c738?(s1=peg$c738,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c739)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c740()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c741?(s1=peg$c741,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c742)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c740()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c743?(s1=peg$c743,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c744)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c745()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c746?(s1=peg$c746,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c747)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c745()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c748?(s1=peg$c748,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c749)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c750()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c751?(s1=peg$c751,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c752)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c750()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c753?(s1=peg$c753,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c754)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c755()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c756?(s1=peg$c756,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c757)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c755()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c758?(s1=peg$c758,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c759)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c760()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c761?(s1=peg$c761,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c762)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c760()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,17)===peg$c763?(s1=peg$c763,peg$currPos+=17):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c764)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c765()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,17)===peg$c766?(s1=peg$c766,peg$currPos+=17):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c767)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c765()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c768?(s1=peg$c768,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c769)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c770()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c771?(s1=peg$c771,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c772)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c770()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c773?(s1=peg$c773,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c774)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c775()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c776?(s1=peg$c776,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c777)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c775()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c778?(s1=peg$c778,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c779)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c780()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c781?(s1=peg$c781,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c782)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c780()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c783?(s1=peg$c783,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c784)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c785()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c786?(s1=peg$c786,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c787)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c785()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c788?(s1=peg$c788,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c789)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c790()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c791?(s1=peg$c791,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c792)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c790()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c793?(s1=peg$c793,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c794)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c795()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c796?(s1=peg$c796,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c797)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c795()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c798?(s1=peg$c798,peg$currPos+=11):(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,11)===peg$c801?(s1=peg$c801,peg$currPos+=11):(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,4)===peg$c803?(s1=peg$c803,peg$currPos+=4):(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,4)===peg$c806?(s1=peg$c806,peg$currPos+=4):(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,7)===peg$c808?(s1=peg$c808,peg$currPos+=7):(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,7)===peg$c811?(s1=peg$c811,peg$currPos+=7):(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,5)===peg$c813?(s1=peg$c813,peg$currPos+=5):(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,5)===peg$c816?(s1=peg$c816,peg$currPos+=5):(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,9)===peg$c818?(s1=peg$c818,peg$currPos+=9):(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,9)===peg$c821?(s1=peg$c821,peg$currPos+=9):(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,6)===peg$c823?(s1=peg$c823,peg$currPos+=6):(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,6)===peg$c826?(s1=peg$c826,peg$currPos+=6):(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,9)===peg$c828?(s1=peg$c828,peg$currPos+=9):(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,9)===peg$c831?(s1=peg$c831,peg$currPos+=9):(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,6)===peg$c833?(s1=peg$c833,peg$currPos+=6):(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,6)===peg$c836?(s1=peg$c836,peg$currPos+=6):(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,13)===peg$c838?(s1=peg$c838,peg$currPos+=13):(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,13)===peg$c841?(s1=peg$c841,peg$currPos+=13):(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,9)===peg$c843?(s1=peg$c843,peg$currPos+=9):(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,9)===peg$c846?(s1=peg$c846,peg$currPos+=9):(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,13)===peg$c848?(s1=peg$c848,peg$currPos+=13):(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,13)===peg$c851?(s1=peg$c851,peg$currPos+=13):(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,13)===peg$c853?(s1=peg$c853,peg$currPos+=13):(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,13)===peg$c856?(s1=peg$c856,peg$currPos+=13):(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,10)===peg$c858?(s1=peg$c858,peg$currPos+=10):(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,10)===peg$c861?(s1=peg$c861,peg$currPos+=10):(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,9)===peg$c863?(s1=peg$c863,peg$currPos+=9):(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,9)===peg$c866?(s1=peg$c866,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c867)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c865()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c868?(s1=peg$c868,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c870()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c871?(s1=peg$c871,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c872)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c870()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c873?(s1=peg$c873,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c874)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c875()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c876?(s1=peg$c876,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c877)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c875()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c878?(s1=peg$c878,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c879)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c880()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c881?(s1=peg$c881,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c880()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c883?(s1=peg$c883,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c885()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c886?(s1=peg$c886,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c887)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c885()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c888?(s1=peg$c888,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c889)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c890()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c891?(s1=peg$c891,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c892)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c890()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c893?(s1=peg$c893,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c894)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c895()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c896?(s1=peg$c896,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c897)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c895()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c898?(s1=peg$c898,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c899)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c900()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c901?(s1=peg$c901,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c902)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c900()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c903?(s1=peg$c903,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c904)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c905()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c906?(s1=peg$c906,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c907)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c905()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c908?(s1=peg$c908,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c909)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c910()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c911?(s1=peg$c911,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c912)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c910()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c913?(s1=peg$c913,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c914)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c915()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c916?(s1=peg$c916,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c917)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c915()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c918?(s1=peg$c918,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c919)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c920()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c921?(s1=peg$c921,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c922)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c920()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c923?(s1=peg$c923,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c924)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c925()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c926?(s1=peg$c926,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c927)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c925()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c928?(s1=peg$c928,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c929)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c930()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c931?(s1=peg$c931,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c932)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c930()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c933?(s1=peg$c933,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c934)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c935()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c936?(s1=peg$c936,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c937)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c935()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c938?(s1=peg$c938,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c939)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c940()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c941?(s1=peg$c941,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c942)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c940()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c943?(s1=peg$c943,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c944)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c945()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c946?(s1=peg$c946,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c947)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c945()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c948?(s1=peg$c948,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c949)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c950()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c951?(s1=peg$c951,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c952)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c950()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c953?(s1=peg$c953,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c954)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c955()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c956?(s1=peg$c956,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c957)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c955()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c958?(s1=peg$c958,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c959)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c955()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c960?(s1=peg$c960,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c961)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c955()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c962?(s1=peg$c962,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c963)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c964()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c965?(s1=peg$c965,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c966)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c964()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c967?(s1=peg$c967,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c968)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c969()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c970?(s1=peg$c970,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c971)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c969()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c972?(s1=peg$c972,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c973)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c974()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c975?(s1=peg$c975,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c976)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c974()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c977?(s1=peg$c977,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c978)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c979()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c980?(s1=peg$c980,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c981)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c979()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c982?(s1=peg$c982,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c983)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c984()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c985?(s1=peg$c985,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c986)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c984()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c987?(s1=peg$c987,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c988)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c989()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c990?(s1=peg$c990,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c991)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c989()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c992?(s1=peg$c992,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c993)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c994()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c995?(s1=peg$c995,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c996)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c994()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c997?(s1=peg$c997,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c998)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c999()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c1000?(s1=peg$c1000,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1001)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c999()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c1002?(s1=peg$c1002,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1003)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1004()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c1005?(s1=peg$c1005,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1006)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1004()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c1007?(s1=peg$c1007,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1008)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1009()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c1010?(s1=peg$c1010,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1011)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1009()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c1012?(s1=peg$c1012,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1013)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1014()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c1015?(s1=peg$c1015,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1016)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1014()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c1017?(s1=peg$c1017,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1018)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1019()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c1020?(s1=peg$c1020,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1021)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1019()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c1022?(s1=peg$c1022,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1023)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1024()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c1025?(s1=peg$c1025,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1026)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1024()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c1027?(s1=peg$c1027,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1028)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1029()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c1030?(s1=peg$c1030,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1031)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1029()),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?(peg$savedPos=s0,s0=s1=peg$c1032(s1)):(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$c1033,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1034)),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$c1035(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$c1033,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1034)),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$c1036(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$c1033,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1034)),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$c1037(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$c1033,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1034)),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$c1038(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$c1039),s0}function peg$parseArrowItemKey(){var s0;return input.substr(peg$currPos,9)===peg$c1040?(s0=peg$c1040,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1041)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c1042?(s0=peg$c1042,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1043)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c1044?(s0=peg$c1044,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1045)))),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$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1050(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$c1052?(s2=peg$c1052,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1053)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1054(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$c1051)),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$c1055,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1057,peg$currPos++):(s5=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1058)),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1059(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$c1060,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1061)),s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1062(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$c1063,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1064)),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$c1065,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1066)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1067(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$c1068(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$c1048,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1069(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$c1070?(s0=peg$c1070,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1071)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c1072?(s0=peg$c1072,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1073))),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$c1046,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c1048,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1074(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$c1075?(s2=peg$c1075,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1076)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c1055,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1077?(s10=peg$c1077,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1078)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1079(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$c1080?(s0=peg$c1080,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1081)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c1082?(s0=peg$c1082,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1083)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c1084?(s0=peg$c1084,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1085)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c1086?(s0=peg$c1086,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1087))))),s0}function peg$parseStateItemShapeKey(){var s0;return input.substr(peg$currPos,8)===peg$c1088?(s0=peg$c1088,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1089)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c1090?(s0=peg$c1090,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1091)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c1092?(s0=peg$c1092,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1093)))),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$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1050(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$c1094?(s2=peg$c1094,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1095)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c1055,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1077?(s10=peg$c1077,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1078)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1096(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$c1070?(s0=peg$c1070,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1071)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c1072?(s0=peg$c1072,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1073))),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$c1046,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c1048,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1097(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$c1098?(s2=peg$c1098,peg$currPos+=6):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1099)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c1055,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1077?(s10=peg$c1077,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1078)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1100(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$c1070?(s0=peg$c1070,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1071)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c1072?(s0=peg$c1072,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1073))),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$c1046,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c1048,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1101(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$c1052?(s2=peg$c1052,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1053)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1103(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$c1102)),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$c1104?(s2=peg$c1104,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1105)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c1055,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1077?(s10=peg$c1077,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1078)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1106(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$c1107?(s2=peg$c1107,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1108)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1109(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$c1110?(s2=peg$c1110,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1111)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1112(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$c1113?(s2=peg$c1113,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1114)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1115(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$c1116?(s2=peg$c1116,peg$currPos+=14):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1117)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1118(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$c1119),s0}function peg$parseLicenseOrLabelOrList(){var s0;return input.substr(peg$currPos,3)===peg$c1120?(s0=peg$c1120,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1121)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c1122?(s0=peg$c1122,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1123)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c1124?(s0=peg$c1124,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1125)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c1126?(s0=peg$c1126,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1127)),s0===peg$FAILED&&(input.substr(peg$currPos,11)===peg$c1128?(s0=peg$c1128,peg$currPos+=11):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1129)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c1130?(s0=peg$c1130,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1131)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c1132?(s0=peg$c1132,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1133)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c1134?(s0=peg$c1134,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1135)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c1136?(s0=peg$c1136,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1137)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c1138?(s0=peg$c1138,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1139)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c1140?(s0=peg$c1140,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1141)),s0===peg$FAILED&&(s0=peg$parseLabel())===peg$FAILED&&(s0=peg$parseLabelList()))))))))))),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$c1142?(s2=peg$c1142,peg$currPos+=14):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1143)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1144(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$c1145?(s2=peg$c1145,peg$currPos+=19):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1146)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1147(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$c1148?(s2=peg$c1148,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1149)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1150(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$c1151?(s2=peg$c1151,peg$currPos+=18):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1152)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1153(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$c1154?(s2=peg$c1154,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1155)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1156(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$c1160?(s2=peg$c1160,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1161)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1162(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$c1163?(s2=peg$c1163,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1164)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1165(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$parseMachineLanguage(){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,16)===peg$c1166?(s2=peg$c1166,peg$currPos+=16):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1167)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1168(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$c1169?(s2=peg$c1169,peg$currPos+=11):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1170)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1171(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$parseMachineAttribute(){var s0;return peg$silentFails++,(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$parseMachineLanguage()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c1172),s0}function peg$parseSdNodeColor(){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$c1174?(s2=peg$c1174,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1175)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1176(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$c1173)),s0}function peg$parseSdNodeShape(){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$c1092?(s2=peg$c1092,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1093)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1178(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$c1177)),s0}function peg$parseStateDeclarationItems(){var s0;return(s0=peg$parseSdNodeColor())===peg$FAILED&&(s0=peg$parseSdNodeShape()),s0}function peg$parseStateDeclarationDesc(){var s0,s1,s2,s3,s4,s5;if(s0=peg$currPos,123===input.charCodeAt(peg$currPos)?(s1=peg$c1055,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),s1!==peg$FAILED)if((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED){for(s3=[],s4=peg$parseStateDeclarationItems();s4!==peg$FAILED;)s3.push(s4),s4=peg$parseStateDeclarationItems();s3!==peg$FAILED?((s4=peg$parseWS())===peg$FAILED&&(s4=null),s4!==peg$FAILED?(125===input.charCodeAt(peg$currPos)?(s5=peg$c1057,peg$currPos++):(s5=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1058)),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1059(s3)):(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;return s0}function peg$parseStateDeclaration(){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$parseLabel())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseStateDeclarationDesc())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1179(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$parseNamedList(){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?(38===input.charCodeAt(peg$currPos)?(s2=peg$c1180,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1181)),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$c1046,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1182(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$parseStateDeclaration())===peg$FAILED&&(s0=peg$parseNamedList())===peg$FAILED&&(s0=peg$parseMachineAttribute())===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="box",peg$c2=peg$literalExpectation("box",!1),peg$c3="polygon",peg$c4=peg$literalExpectation("polygon",!1),peg$c5="ellipse",peg$c6=peg$literalExpectation("ellipse",!1),peg$c7="oval",peg$c8=peg$literalExpectation("oval",!1),peg$c9="circle",peg$c10=peg$literalExpectation("circle",!1),peg$c11="point",peg$c12=peg$literalExpectation("point",!1),peg$c13="egg",peg$c14=peg$literalExpectation("egg",!1),peg$c15="triangle",peg$c16=peg$literalExpectation("triangle",!1),peg$c17="plaintext",peg$c18=peg$literalExpectation("plaintext",!1),peg$c19="plain",peg$c20=peg$literalExpectation("plain",!1),peg$c21="diamond",peg$c22=peg$literalExpectation("diamond",!1),peg$c23="trapezium",peg$c24=peg$literalExpectation("trapezium",!1),peg$c25="parallelogram",peg$c26=peg$literalExpectation("parallelogram",!1),peg$c27="house",peg$c28=peg$literalExpectation("house",!1),peg$c29="pentagon",peg$c30=peg$literalExpectation("pentagon",!1),peg$c31="hexagon",peg$c32=peg$literalExpectation("hexagon",!1),peg$c33="septagon",peg$c34=peg$literalExpectation("septagon",!1),peg$c35="octagon",peg$c36=peg$literalExpectation("octagon",!1),peg$c37="doublecircle",peg$c38=peg$literalExpectation("doublecircle",!1),peg$c39="doubleoctagon",peg$c40=peg$literalExpectation("doubleoctagon",!1),peg$c41="tripleoctagon",peg$c42=peg$literalExpectation("tripleoctagon",!1),peg$c43="invtriangle",peg$c44=peg$literalExpectation("invtriangle",!1),peg$c45="invtrapezium",peg$c46=peg$literalExpectation("invtrapezium",!1),peg$c47="invhouse",peg$c48=peg$literalExpectation("invhouse",!1),peg$c49="Mdiamond",peg$c50=peg$literalExpectation("Mdiamond",!1),peg$c51="Msquare",peg$c52=peg$literalExpectation("Msquare",!1),peg$c53="Mcircle",peg$c54=peg$literalExpectation("Mcircle",!1),peg$c55="rect",peg$c56=peg$literalExpectation("rect",!1),peg$c57="rectangle",peg$c58=peg$literalExpectation("rectangle",!1),peg$c59="square",peg$c60=peg$literalExpectation("square",!1),peg$c61="star",peg$c62=peg$literalExpectation("star",!1),peg$c63="none",peg$c64=peg$literalExpectation("none",!1),peg$c65="underline",peg$c66=peg$literalExpectation("underline",!1),peg$c67="cylinder",peg$c68=peg$literalExpectation("cylinder",!1),peg$c69="note",peg$c70=peg$literalExpectation("note",!1),peg$c71="tab",peg$c72=peg$literalExpectation("tab",!1),peg$c73="folder",peg$c74=peg$literalExpectation("folder",!1),peg$c75="box3d",peg$c76=peg$literalExpectation("box3d",!1),peg$c77="component",peg$c78=peg$literalExpectation("component",!1),peg$c79="promoter",peg$c80=peg$literalExpectation("promoter",!1),peg$c81="cds",peg$c82=peg$literalExpectation("cds",!1),peg$c83="terminator",peg$c84=peg$literalExpectation("terminator",!1),peg$c85="utr",peg$c86=peg$literalExpectation("utr",!1),peg$c87="primersite",peg$c88=peg$literalExpectation("primersite",!1),peg$c89="restrictionsite",peg$c90=peg$literalExpectation("restrictionsite",!1),peg$c91="fivepoverhang",peg$c92=peg$literalExpectation("fivepoverhang",!1),peg$c93="threepoverhang",peg$c94=peg$literalExpectation("threepoverhang",!1),peg$c95="noverhang",peg$c96=peg$literalExpectation("noverhang",!1),peg$c97="assembly",peg$c98=peg$literalExpectation("assembly",!1),peg$c99="signature",peg$c100=peg$literalExpectation("signature",!1),peg$c101="insulator",peg$c102=peg$literalExpectation("insulator",!1),peg$c103="ribosite",peg$c104=peg$literalExpectation("ribosite",!1),peg$c105="rnastab",peg$c106=peg$literalExpectation("rnastab",!1),peg$c107="proteasesite",peg$c108=peg$literalExpectation("proteasesite",!1),peg$c109="proteinstab",peg$c110=peg$literalExpectation("proteinstab",!1),peg$c111="rpromoter",peg$c112=peg$literalExpectation("rpromoter",!1),peg$c113="rarrow",peg$c114=peg$literalExpectation("rarrow",!1),peg$c115="larrow",peg$c116=peg$literalExpectation("larrow",!1),peg$c117="lpromoter",peg$c118=peg$literalExpectation("lpromoter",!1),peg$c119="record",peg$c120=peg$literalExpectation("record",!1),peg$c121=peg$otherExpectation("forward light arrow ->"),peg$c122="->",peg$c123=peg$literalExpectation("->",!1),peg$c124="→",peg$c125=peg$literalExpectation("→",!1),peg$c126=function(){return"->"},peg$c127=peg$otherExpectation("two way light arrow <->"),peg$c128="<->",peg$c129=peg$literalExpectation("<->",!1),peg$c130="↔",peg$c131=peg$literalExpectation("↔",!1),peg$c132=function(){return"<->"},peg$c133=peg$otherExpectation("back light arrow <-"),peg$c134="<-",peg$c135=peg$literalExpectation("<-",!1),peg$c136="←",peg$c137=peg$literalExpectation("←",!1),peg$c138=function(){return"<-"},peg$c139=peg$otherExpectation("forward fat arrow =>"),peg$c140="=>",peg$c141=peg$literalExpectation("=>",!1),peg$c142="⇒",peg$c143=peg$literalExpectation("⇒",!1),peg$c144=function(){return"=>"},peg$c145=peg$otherExpectation("two way fat arrow <=>"),peg$c146="<=>",peg$c147=peg$literalExpectation("<=>",!1),peg$c148="⇔",peg$c149=peg$literalExpectation("⇔",!1),peg$c150=function(){return"<=>"},peg$c151=peg$otherExpectation("back fat arrow <="),peg$c152="<=",peg$c153=peg$literalExpectation("<=",!1),peg$c154="⇐",peg$c155=peg$literalExpectation("⇐",!1),peg$c156=function(){return"<="},peg$c157=peg$otherExpectation("forward tilde arrow ~>"),peg$c158="~>",peg$c159=peg$literalExpectation("~>",!1),peg$c160="↛",peg$c161=peg$literalExpectation("↛",!1),peg$c162=function(){return"~>"},peg$c163=peg$otherExpectation("two way tilde arrow <~>"),peg$c164="<~>",peg$c165=peg$literalExpectation("<~>",!1),peg$c166="↮",peg$c167=peg$literalExpectation("↮",!1),peg$c168=function(){return"<~>"},peg$c169=peg$otherExpectation("back tilde arrow <~"),peg$c170="<~",peg$c171=peg$literalExpectation("<~",!1),peg$c172="↚",peg$c173=peg$literalExpectation("↚",!1),peg$c174=function(){return"<~"},peg$c175=peg$otherExpectation("light fat arrow <-=>"),peg$c176="<-=>",peg$c177=peg$literalExpectation("<-=>",!1),peg$c178="←⇒",peg$c179=peg$literalExpectation("←⇒",!1),peg$c180=function(){return"<-=>"},peg$c181=peg$otherExpectation("light tilde arrow <-~>"),peg$c182="<-~>",peg$c183=peg$literalExpectation("<-~>",!1),peg$c184="←↛",peg$c185=peg$literalExpectation("←↛",!1),peg$c186=function(){return"<-~>"},peg$c187=peg$otherExpectation("fat light arrow <=->"),peg$c188="<=->",peg$c189=peg$literalExpectation("<=->",!1),peg$c190="⇐→",peg$c191=peg$literalExpectation("⇐→",!1),peg$c192=function(){return"<=->"},peg$c193=peg$otherExpectation("fat tilde arrow <=~>"),peg$c194="<=~>",peg$c195=peg$literalExpectation("<=~>",!1),peg$c196="⇐↛",peg$c197=peg$literalExpectation("⇐↛",!1),peg$c198=function(){return"<=~>"},peg$c199=peg$otherExpectation("tilde light arrow <~->"),peg$c200="<~->",peg$c201=peg$literalExpectation("<~->",!1),peg$c202="↚→",peg$c203=peg$literalExpectation("↚→",!1),peg$c204=function(){return"<~->"},peg$c205=peg$otherExpectation("tilde fat arrow <~=>"),peg$c206="<~=>",peg$c207=peg$literalExpectation("<~=>",!1),peg$c208="↚⇒",peg$c209=peg$literalExpectation("↚⇒",!1),peg$c210=function(){return"<~=>"},peg$c211=peg$otherExpectation("light arrow"),peg$c212=peg$otherExpectation("fat arrow"),peg$c213=peg$otherExpectation("tilde arrow"),peg$c214=peg$otherExpectation("mixed arrow"),peg$c215=peg$otherExpectation("arrow"),peg$c216=/^[0-9a-fA-F]/,peg$c217=peg$classExpectation([["0","9"],["a","f"],["A","F"]],!1,!1),peg$c218='"',peg$c219=peg$literalExpectation('"',!1),peg$c220="\\",peg$c221=peg$literalExpectation("\\",!1),peg$c222="/",peg$c223=peg$literalExpectation("/",!1),peg$c224="b",peg$c225=peg$literalExpectation("b",!1),peg$c226=function(){return"\b"},peg$c227="f",peg$c228=peg$literalExpectation("f",!1),peg$c229=function(){return"\f"},peg$c230="n",peg$c231=peg$literalExpectation("n",!1),peg$c232=function(){return"\n"},peg$c233="r",peg$c234=peg$literalExpectation("r",!1),peg$c235=function(){return"\r"},peg$c236="t",peg$c237=peg$literalExpectation("t",!1),peg$c238=function(){return"\t"},peg$c239="v",peg$c240=peg$literalExpectation("v",!1),peg$c241=function(){return"\v"},peg$c242="u",peg$c243=peg$literalExpectation("u",!1),peg$c244=function(digits){return String.fromCharCode(parseInt(digits,16))},peg$c245=function(Sequence){return Sequence},peg$c246=/^[ -!#-[\]-\u10FFFF]/,peg$c247=peg$classExpectation([[" ","!"],["#","["],["]","ჿ"],"F","F"],!1,!1),peg$c248="'",peg$c249=peg$literalExpectation("'",!1),peg$c250=/^[ -&(-[\]-\u10FFFF]/,peg$c251=peg$classExpectation([[" ","&"],["(","["],["]","ჿ"],"F","F"],!1,!1),peg$c252=peg$otherExpectation("action label"),peg$c253=function(chars){return chars.join("")},peg$c254=/^[\n\r\u2028\u2029]/,peg$c255=peg$classExpectation(["\n","\r","\u2028","\u2029"],!1,!1),peg$c258=(peg$classExpectation([" ","\t","\n","\r","\v"],!1,!1),"*/"),peg$c259=peg$literalExpectation("*/",!1),peg$c260={type:"any"},peg$c261=peg$otherExpectation("block comment"),peg$c262="/*",peg$c263=peg$literalExpectation("/*",!1),peg$c264=peg$otherExpectation("line comment"),peg$c265="//",peg$c266=peg$literalExpectation("//",!1),peg$c267=peg$otherExpectation("whitespace"),peg$c268=/^[ \t\r\n\x0B]/,peg$c269=peg$classExpectation([" ","\t","\r","\n","\v"],!1,!1),peg$c270=peg$otherExpectation("string"),peg$c271=/^[0-9a-zA-Z.+_!$\^*!?,\x80-\uFFFF]/,peg$c272=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","_","!","$","^","*","!","?",",",["€","￿"]],!1,!1),peg$c273=/^[0-9a-zA-Z.+=_\^()*&$#@!?,\x80-\uFFFF]/,peg$c274=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","=","_","^","(",")","*","&","$","#","@","!","?",",",["€","￿"]],!1,!1),peg$c275=peg$otherExpectation("atom"),peg$c276=function(firstletter,text){return firstletter+(text||[]).join("")},peg$c277=peg$otherExpectation("label"),peg$c278="0",peg$c279=peg$literalExpectation("0",!1),peg$c280=/^[0-9]/,peg$c281=peg$classExpectation([["0","9"]],!1,!1),peg$c282=/^[1-9]/,peg$c283=peg$classExpectation([["1","9"]],!1,!1),peg$c284=peg$otherExpectation("nonneg number"),peg$c285=".",peg$c286=peg$literalExpectation(".",!1),peg$c287=function(){return parseFloat(text())},peg$c288=function(major,minor,patch){return{major:parseInt(major,10),minor:parseInt(minor,10),patch:parseInt(patch,10),full:text()}},peg$c299=(peg$literalExpectation("^",!1),peg$literalExpectation("~",!1),peg$literalExpectation(">=",!1),peg$literalExpectation("<",!1),peg$literalExpectation(">",!1),"http://"),peg$c300=peg$literalExpectation("http://",!1),peg$c301="https://",peg$c302=peg$literalExpectation("https://",!1),peg$c303=/^[a-zA-Z0-9!*'():;@&=+$,\/?#[\]_.~\-]/,peg$c304=peg$classExpectation([["a","z"],["A","Z"],["0","9"],"!","*","'","(",")",":",";","@","&","=","+","$",",","/","?","#","[","]","_",".","~","-"],!1,!1),peg$c305=function(protocol){return text()},peg$c306="aliceblue",peg$c307=peg$literalExpectation("aliceblue",!1),peg$c308=function(){return"#f0f8ffff"},peg$c309="AliceBlue",peg$c310=peg$literalExpectation("AliceBlue",!1),peg$c311="antiquewhite",peg$c312=peg$literalExpectation("antiquewhite",!1),peg$c313=function(){return"#faebd7ff"},peg$c314="AntiqueWhite",peg$c315=peg$literalExpectation("AntiqueWhite",!1),peg$c316="aqua",peg$c317=peg$literalExpectation("aqua",!1),peg$c318=function(){return"#00ffffff"},peg$c319="Aqua",peg$c320=peg$literalExpectation("Aqua",!1),peg$c321="aquamarine",peg$c322=peg$literalExpectation("aquamarine",!1),peg$c323=function(){return"#7fffd4ff"},peg$c324="Aquamarine",peg$c325=peg$literalExpectation("Aquamarine",!1),peg$c326="azure",peg$c327=peg$literalExpectation("azure",!1),peg$c328=function(){return"#f0ffffff"},peg$c329="Azure",peg$c330=peg$literalExpectation("Azure",!1),peg$c331="beige",peg$c332=peg$literalExpectation("beige",!1),peg$c333=function(){return"#f5f5dcff"},peg$c334="Beige",peg$c335=peg$literalExpectation("Beige",!1),peg$c336="bisque",peg$c337=peg$literalExpectation("bisque",!1),peg$c338=function(){return"#ffe4c4ff"},peg$c339="Bisque",peg$c340=peg$literalExpectation("Bisque",!1),peg$c341="black",peg$c342=peg$literalExpectation("black",!1),peg$c343=function(){return"#000000ff"},peg$c344="Black",peg$c345=peg$literalExpectation("Black",!1),peg$c346="blanchedalmond",peg$c347=peg$literalExpectation("blanchedalmond",!1),peg$c348=function(){return"#ffebcdff"},peg$c349="BlanchedAlmond",peg$c350=peg$literalExpectation("BlanchedAlmond",!1),peg$c351="blue",peg$c352=peg$literalExpectation("blue",!1),peg$c353=function(){return"#0000ffff"},peg$c354="Blue",peg$c355=peg$literalExpectation("Blue",!1),peg$c356="blueviolet",peg$c357=peg$literalExpectation("blueviolet",!1),peg$c358=function(){return"#8a2be2ff"},peg$c359="BlueViolet",peg$c360=peg$literalExpectation("BlueViolet",!1),peg$c361="brown",peg$c362=peg$literalExpectation("brown",!1),peg$c363=function(){return"#a52a2aff"},peg$c364="Brown",peg$c365=peg$literalExpectation("Brown",!1),peg$c366="burlywood",peg$c367=peg$literalExpectation("burlywood",!1),peg$c368=function(){return"#deb887ff"},peg$c369="BurlyWood",peg$c370=peg$literalExpectation("BurlyWood",!1),peg$c371="cadetblue",peg$c372=peg$literalExpectation("cadetblue",!1),peg$c373=function(){return"#5f9ea0ff"},peg$c374="CadetBlue",peg$c375=peg$literalExpectation("CadetBlue",!1),peg$c376="chartreuse",peg$c377=peg$literalExpectation("chartreuse",!1),peg$c378=function(){return"#7fff00ff"},peg$c379="Chartreuse",peg$c380=peg$literalExpectation("Chartreuse",!1),peg$c381="chocolate",peg$c382=peg$literalExpectation("chocolate",!1),peg$c383=function(){return"#d2691eff"},peg$c384="Chocolate",peg$c385=peg$literalExpectation("Chocolate",!1),peg$c386="coral",peg$c387=peg$literalExpectation("coral",!1),peg$c388=function(){return"#ff7f50ff"},peg$c389="Coral",peg$c390=peg$literalExpectation("Coral",!1),peg$c391="cornflowerblue",peg$c392=peg$literalExpectation("cornflowerblue",!1),peg$c393=function(){return"#6495edff"},peg$c394="CornflowerBlue",peg$c395=peg$literalExpectation("CornflowerBlue",!1),peg$c396="cornsilk",peg$c397=peg$literalExpectation("cornsilk",!1),peg$c398=function(){return"#fff8dcff"},peg$c399="Cornsilk",peg$c400=peg$literalExpectation("Cornsilk",!1),peg$c401="crimson",peg$c402=peg$literalExpectation("crimson",!1),peg$c403=function(){return"#dc143cff"},peg$c404="Crimson",peg$c405=peg$literalExpectation("Crimson",!1),peg$c406="cyan",peg$c407=peg$literalExpectation("cyan",!1),peg$c408="Cyan",peg$c409=peg$literalExpectation("Cyan",!1),peg$c410="darkblue",peg$c411=peg$literalExpectation("darkblue",!1),peg$c412=function(){return"#00008bff"},peg$c413="DarkBlue",peg$c414=peg$literalExpectation("DarkBlue",!1),peg$c415="darkcyan",peg$c416=peg$literalExpectation("darkcyan",!1),peg$c417=function(){return"#008b8bff"},peg$c418="DarkCyan",peg$c419=peg$literalExpectation("DarkCyan",!1),peg$c420="darkgoldenrod",peg$c421=peg$literalExpectation("darkgoldenrod",!1),peg$c422=function(){return"#b8860bff"},peg$c423="DarkGoldenRod",peg$c424=peg$literalExpectation("DarkGoldenRod",!1),peg$c425="darkgray",peg$c426=peg$literalExpectation("darkgray",!1),peg$c427=function(){return"#a9a9a9ff"},peg$c428="DarkGray",peg$c429=peg$literalExpectation("DarkGray",!1),peg$c430="darkgrey",peg$c431=peg$literalExpectation("darkgrey",!1),peg$c432="DarkGrey",peg$c433=peg$literalExpectation("DarkGrey",!1),peg$c434="darkgreen",peg$c435=peg$literalExpectation("darkgreen",!1),peg$c436=function(){return"#006400ff"},peg$c437="DarkGreen",peg$c438=peg$literalExpectation("DarkGreen",!1),peg$c439="darkkhaki",peg$c440=peg$literalExpectation("darkkhaki",!1),peg$c441=function(){return"#bdb76bff"},peg$c442="DarkKhaki",peg$c443=peg$literalExpectation("DarkKhaki",!1),peg$c444="darkmagenta",peg$c445=peg$literalExpectation("darkmagenta",!1),peg$c446=function(){return"#8b008bff"},peg$c447="DarkMagenta",peg$c448=peg$literalExpectation("DarkMagenta",!1),peg$c449="darkolivegreen",peg$c450=peg$literalExpectation("darkolivegreen",!1),peg$c451=function(){return"#556b2fff"},peg$c452="DarkOliveGreen",peg$c453=peg$literalExpectation("DarkOliveGreen",!1),peg$c454="darkorange",peg$c455=peg$literalExpectation("darkorange",!1),peg$c456=function(){return"#ff8c00ff"},peg$c457="Darkorange",peg$c458=peg$literalExpectation("Darkorange",!1),peg$c459="darkorchid",peg$c460=peg$literalExpectation("darkorchid",!1),peg$c461=function(){return"#9932ccff"},peg$c462="DarkOrchid",peg$c463=peg$literalExpectation("DarkOrchid",!1),peg$c464="darkred",peg$c465=peg$literalExpectation("darkred",!1),peg$c466=function(){return"#8b0000ff"},peg$c467="DarkRed",peg$c468=peg$literalExpectation("DarkRed",!1),peg$c469="darksalmon",peg$c470=peg$literalExpectation("darksalmon",!1),peg$c471=function(){return"#e9967aff"},peg$c472="DarkSalmon",peg$c473=peg$literalExpectation("DarkSalmon",!1),peg$c474="darkseagreen",peg$c475=peg$literalExpectation("darkseagreen",!1),peg$c476=function(){return"#8fbc8fff"},peg$c477="DarkSeaGreen",peg$c478=peg$literalExpectation("DarkSeaGreen",!1),peg$c479="darkslateblue",peg$c480=peg$literalExpectation("darkslateblue",!1),peg$c481=function(){return"#483d8bff"},peg$c482="DarkSlateBlue",peg$c483=peg$literalExpectation("DarkSlateBlue",!1),peg$c484="darkslategray",peg$c485=peg$literalExpectation("darkslategray",!1),peg$c486=function(){return"#2f4f4fff"},peg$c487="DarkSlateGray",peg$c488=peg$literalExpectation("DarkSlateGray",!1),peg$c489="darkslategrey",peg$c490=peg$literalExpectation("darkslategrey",!1),peg$c491="DarkSlateGrey",peg$c492=peg$literalExpectation("DarkSlateGrey",!1),peg$c493="darkturquoise",peg$c494=peg$literalExpectation("darkturquoise",!1),peg$c495=function(){return"#00ced1ff"},peg$c496="DarkTurquoise",peg$c497=peg$literalExpectation("DarkTurquoise",!1),peg$c498="darkviolet",peg$c499=peg$literalExpectation("darkviolet",!1),peg$c500=function(){return"#9400d3ff"},peg$c501="DarkViolet",peg$c502=peg$literalExpectation("DarkViolet",!1),peg$c503="deeppink",peg$c504=peg$literalExpectation("deeppink",!1),peg$c505=function(){return"#ff1493ff"},peg$c506="DeepPink",peg$c507=peg$literalExpectation("DeepPink",!1),peg$c508="deepskyblue",peg$c509=peg$literalExpectation("deepskyblue",!1),peg$c510=function(){return"#00bfffff"},peg$c511="DeepSkyBlue",peg$c512=peg$literalExpectation("DeepSkyBlue",!1),peg$c513="dimgray",peg$c514=peg$literalExpectation("dimgray",!1),peg$c515=function(){return"#696969ff"},peg$c516="DimGray",peg$c517=peg$literalExpectation("DimGray",!1),peg$c518="dimgrey",peg$c519=peg$literalExpectation("dimgrey",!1),peg$c520="DimGrey",peg$c521=peg$literalExpectation("DimGrey",!1),peg$c522="dodgerblue",peg$c523=peg$literalExpectation("dodgerblue",!1),peg$c524=function(){return"#1e90ffff"},peg$c525="DodgerBlue",peg$c526=peg$literalExpectation("DodgerBlue",!1),peg$c527="firebrick",peg$c528=peg$literalExpectation("firebrick",!1),peg$c529=function(){return"#b22222ff"},peg$c530="FireBrick",peg$c531=peg$literalExpectation("FireBrick",!1),peg$c532="floralwhite",peg$c533=peg$literalExpectation("floralwhite",!1),peg$c534=function(){return"#fffaf0ff"},peg$c535="FloralWhite",peg$c536=peg$literalExpectation("FloralWhite",!1),peg$c537="forestgreen",peg$c538=peg$literalExpectation("forestgreen",!1),peg$c539=function(){return"#228b22ff"},peg$c540="ForestGreen",peg$c541=peg$literalExpectation("ForestGreen",!1),peg$c542="fuchsia",peg$c543=peg$literalExpectation("fuchsia",!1),peg$c544=function(){return"#ff00ffff"},peg$c545="Fuchsia",peg$c546=peg$literalExpectation("Fuchsia",!1),peg$c547="gainsboro",peg$c548=peg$literalExpectation("gainsboro",!1),peg$c549=function(){return"#dcdcdcff"},peg$c550="Gainsboro",peg$c551=peg$literalExpectation("Gainsboro",!1),peg$c552="ghostwhite",peg$c553=peg$literalExpectation("ghostwhite",!1),peg$c554=function(){return"#f8f8ffff"},peg$c555="GhostWhite",peg$c556=peg$literalExpectation("GhostWhite",!1),peg$c557="gold",peg$c558=peg$literalExpectation("gold",!1),peg$c559=function(){return"#ffd700ff"},peg$c560="Gold",peg$c561=peg$literalExpectation("Gold",!1),peg$c562="goldenrod",peg$c563=peg$literalExpectation("goldenrod",!1),peg$c564=function(){return"#daa520ff"},peg$c565="GoldenRod",peg$c566=peg$literalExpectation("GoldenRod",!1),peg$c567="gray",peg$c568=peg$literalExpectation("gray",!1),peg$c569=function(){return"#808080ff"},peg$c570="Gray",peg$c571=peg$literalExpectation("Gray",!1),peg$c572="grey",peg$c573=peg$literalExpectation("grey",!1),peg$c574="Grey",peg$c575=peg$literalExpectation("Grey",!1),peg$c576="green",peg$c577=peg$literalExpectation("green",!1),peg$c578=function(){return"#008000ff"},peg$c579="Green",peg$c580=peg$literalExpectation("Green",!1),peg$c581="greenyellow",peg$c582=peg$literalExpectation("greenyellow",!1),peg$c583=function(){return"#adff2fff"},peg$c584="GreenYellow",peg$c585=peg$literalExpectation("GreenYellow",!1),peg$c586="honeydew",peg$c587=peg$literalExpectation("honeydew",!1),peg$c588=function(){return"#f0fff0ff"},peg$c589="HoneyDew",peg$c590=peg$literalExpectation("HoneyDew",!1),peg$c591="hotpink",peg$c592=peg$literalExpectation("hotpink",!1),peg$c593=function(){return"#ff69b4ff"},peg$c594="HotPink",peg$c595=peg$literalExpectation("HotPink",!1),peg$c596="indianred",peg$c597=peg$literalExpectation("indianred",!1),peg$c598=function(){return"#cd5c5cff"},peg$c599="IndianRed",peg$c600=peg$literalExpectation("IndianRed",!1),peg$c601="indigo",peg$c602=peg$literalExpectation("indigo",!1),peg$c603=function(){return"#4b0082ff"},peg$c604="Indigo",peg$c605=peg$literalExpectation("Indigo",!1),peg$c606="ivory",peg$c607=peg$literalExpectation("ivory",!1),peg$c608=function(){return"#fffff0ff"},peg$c609="Ivory",peg$c610=peg$literalExpectation("Ivory",!1),peg$c611="khaki",peg$c612=peg$literalExpectation("khaki",!1),peg$c613=function(){return"#f0e68cff"},peg$c614="Khaki",peg$c615=peg$literalExpectation("Khaki",!1),peg$c616="lavender",peg$c617=peg$literalExpectation("lavender",!1),peg$c618=function(){return"#e6e6faff"},peg$c619="Lavender",peg$c620=peg$literalExpectation("Lavender",!1),peg$c621="lavenderblush",peg$c622=peg$literalExpectation("lavenderblush",!1),peg$c623=function(){return"#fff0f5ff"},peg$c624="LavenderBlush",peg$c625=peg$literalExpectation("LavenderBlush",!1),peg$c626="lawngreen",peg$c627=peg$literalExpectation("lawngreen",!1),peg$c628=function(){return"#7cfc00ff"},peg$c629="LawnGreen",peg$c630=peg$literalExpectation("LawnGreen",!1),peg$c631="lemonchiffon",peg$c632=peg$literalExpectation("lemonchiffon",!1),peg$c633=function(){return"#fffacdff"},peg$c634="LemonChiffon",peg$c635=peg$literalExpectation("LemonChiffon",!1),peg$c636="lightblue",peg$c637=peg$literalExpectation("lightblue",!1),peg$c638=function(){return"#add8e6ff"},peg$c639="LightBlue",peg$c640=peg$literalExpectation("LightBlue",!1),peg$c641="lightcoral",peg$c642=peg$literalExpectation("lightcoral",!1),peg$c643=function(){return"#f08080ff"},peg$c644="LightCoral",peg$c645=peg$literalExpectation("LightCoral",!1),peg$c646="lightcyan",peg$c647=peg$literalExpectation("lightcyan",!1),peg$c648=function(){return"#e0ffffff"},peg$c649="LightCyan",peg$c650=peg$literalExpectation("LightCyan",!1),peg$c651="lightgoldenrodyellow",peg$c652=peg$literalExpectation("lightgoldenrodyellow",!1),peg$c653=function(){return"#fafad2ff"},peg$c654="LightGoldenRodYellow",peg$c655=peg$literalExpectation("LightGoldenRodYellow",!1),peg$c656="lightgray",peg$c657=peg$literalExpectation("lightgray",!1),peg$c658=function(){return"#d3d3d3ff"},peg$c659="LightGray",peg$c660=peg$literalExpectation("LightGray",!1),peg$c661="lightgrey",peg$c662=peg$literalExpectation("lightgrey",!1),peg$c663="LightGrey",peg$c664=peg$literalExpectation("LightGrey",!1),peg$c665="lightgreen",peg$c666=peg$literalExpectation("lightgreen",!1),peg$c667=function(){return"#90ee90ff"},peg$c668="LightGreen",peg$c669=peg$literalExpectation("LightGreen",!1),peg$c670="lightpink",peg$c671=peg$literalExpectation("lightpink",!1),peg$c672=function(){return"#ffb6c1ff"},peg$c673="LightPink",peg$c674=peg$literalExpectation("LightPink",!1),peg$c675="lightsalmon",peg$c676=peg$literalExpectation("lightsalmon",!1),peg$c677=function(){return"#ffa07aff"},peg$c678="LightSalmon",peg$c679=peg$literalExpectation("LightSalmon",!1),peg$c680="lightseagreen",peg$c681=peg$literalExpectation("lightseagreen",!1),peg$c682=function(){return"#20b2aaff"},peg$c683="LightSeaGreen",peg$c684=peg$literalExpectation("LightSeaGreen",!1),peg$c685="lightskyblue",peg$c686=peg$literalExpectation("lightskyblue",!1),peg$c687=function(){return"#87cefaff"},peg$c688="LightSkyBlue",peg$c689=peg$literalExpectation("LightSkyBlue",!1),peg$c690="lightslategray",peg$c691=peg$literalExpectation("lightslategray",!1),peg$c692=function(){return"#778899ff"},peg$c693="LightSlateGray",peg$c694=peg$literalExpectation("LightSlateGray",!1),peg$c695="lightslategrey",peg$c696=peg$literalExpectation("lightslategrey",!1),peg$c697="LightSlateGrey",peg$c698=peg$literalExpectation("LightSlateGrey",!1),peg$c699="lightsteelblue",peg$c700=peg$literalExpectation("lightsteelblue",!1),peg$c701=function(){return"#b0c4deff"},peg$c702="LightSteelBlue",peg$c703=peg$literalExpectation("LightSteelBlue",!1),peg$c704="lightyellow",peg$c705=peg$literalExpectation("lightyellow",!1),peg$c706=function(){return"#ffffe0ff"},peg$c707="LightYellow",peg$c708=peg$literalExpectation("LightYellow",!1),peg$c709="lime",peg$c710=peg$literalExpectation("lime",!1),peg$c711=function(){return"#00ff00ff"},peg$c712="Lime",peg$c713=peg$literalExpectation("Lime",!1),peg$c714="limegreen",peg$c715=peg$literalExpectation("limegreen",!1),peg$c716=function(){return"#32cd32ff"},peg$c717="LimeGreen",peg$c718=peg$literalExpectation("LimeGreen",!1),peg$c719="linen",peg$c720=peg$literalExpectation("linen",!1),peg$c721=function(){return"#faf0e6ff"},peg$c722="Linen",peg$c723=peg$literalExpectation("Linen",!1),peg$c724="magenta",peg$c725=peg$literalExpectation("magenta",!1),peg$c726="Magenta",peg$c727=peg$literalExpectation("Magenta",!1),peg$c728="maroon",peg$c729=peg$literalExpectation("maroon",!1),peg$c730=function(){return"#800000ff"},peg$c731="Maroon",peg$c732=peg$literalExpectation("Maroon",!1),peg$c733="mediumaquamarine",peg$c734=peg$literalExpectation("mediumaquamarine",!1),peg$c735=function(){return"#66cdaaff"},peg$c736="MediumAquaMarine",peg$c737=peg$literalExpectation("MediumAquaMarine",!1),peg$c738="mediumblue",peg$c739=peg$literalExpectation("mediumblue",!1),peg$c740=function(){return"#0000cdff"},peg$c741="MediumBlue",peg$c742=peg$literalExpectation("MediumBlue",!1),peg$c743="mediumorchid",peg$c744=peg$literalExpectation("mediumorchid",!1),peg$c745=function(){return"#ba55d3ff"},peg$c746="MediumOrchid",peg$c747=peg$literalExpectation("MediumOrchid",!1),peg$c748="mediumpurple",peg$c749=peg$literalExpectation("mediumpurple",!1),peg$c750=function(){return"#9370d8ff"},peg$c751="MediumPurple",peg$c752=peg$literalExpectation("MediumPurple",!1),peg$c753="mediumseagreen",peg$c754=peg$literalExpectation("mediumseagreen",!1),peg$c755=function(){return"#3cb371ff"},peg$c756="MediumSeaGreen",peg$c757=peg$literalExpectation("MediumSeaGreen",!1),peg$c758="mediumslateblue",peg$c759=peg$literalExpectation("mediumslateblue",!1),peg$c760=function(){return"#7b68eeff"},peg$c761="MediumSlateBlue",peg$c762=peg$literalExpectation("MediumSlateBlue",!1),peg$c763="mediumspringgreen",peg$c764=peg$literalExpectation("mediumspringgreen",!1),peg$c765=function(){return"#00fa9aff"},peg$c766="MediumSpringGreen",peg$c767=peg$literalExpectation("MediumSpringGreen",!1),peg$c768="mediumturquoise",peg$c769=peg$literalExpectation("mediumturquoise",!1),peg$c770=function(){return"#48d1ccff"},peg$c771="MediumTurquoise",peg$c772=peg$literalExpectation("MediumTurquoise",!1),peg$c773="mediumvioletred",peg$c774=peg$literalExpectation("mediumvioletred",!1),peg$c775=function(){return"#c71585ff"},peg$c776="MediumVioletRed",peg$c777=peg$literalExpectation("MediumVioletRed",!1),peg$c778="midnightblue",peg$c779=peg$literalExpectation("midnightblue",!1),peg$c780=function(){return"#191970ff"},peg$c781="MidnightBlue",peg$c782=peg$literalExpectation("MidnightBlue",!1),peg$c783="mintcream",peg$c784=peg$literalExpectation("mintcream",!1),peg$c785=function(){return"#f5fffaff"},peg$c786="MintCream",peg$c787=peg$literalExpectation("MintCream",!1),peg$c788="mistyrose",peg$c789=peg$literalExpectation("mistyrose",!1),peg$c790=function(){return"#ffe4e1ff"},peg$c791="MistyRose",peg$c792=peg$literalExpectation("MistyRose",!1),peg$c793="moccasin",peg$c794=peg$literalExpectation("moccasin",!1),peg$c795=function(){return"#ffe4b5ff"},peg$c796="Moccasin",peg$c797=peg$literalExpectation("Moccasin",!1),peg$c798="navajowhite",peg$c799=peg$literalExpectation("navajowhite",!1),peg$c800=function(){return"#ffdeadff"},peg$c801="NavajoWhite",peg$c802=peg$literalExpectation("NavajoWhite",!1),peg$c803="navy",peg$c804=peg$literalExpectation("navy",!1),peg$c805=function(){return"#000080ff"},peg$c806="Navy",peg$c807=peg$literalExpectation("Navy",!1),peg$c808="oldlace",peg$c809=peg$literalExpectation("oldlace",!1),peg$c810=function(){return"#fdf5e6ff"},peg$c811="OldLace",peg$c812=peg$literalExpectation("OldLace",!1),peg$c813="olive",peg$c814=peg$literalExpectation("olive",!1),peg$c815=function(){return"#808000ff"},peg$c816="Olive",peg$c817=peg$literalExpectation("Olive",!1),peg$c818="olivedrab",peg$c819=peg$literalExpectation("olivedrab",!1),peg$c820=function(){return"#6b8e23ff"},peg$c821="OliveDrab",peg$c822=peg$literalExpectation("OliveDrab",!1),peg$c823="orange",peg$c824=peg$literalExpectation("orange",!1),peg$c825=function(){return"#ffa500ff"},peg$c826="Orange",peg$c827=peg$literalExpectation("Orange",!1),peg$c828="orangered",peg$c829=peg$literalExpectation("orangered",!1),peg$c830=function(){return"#ff4500ff"},peg$c831="OrangeRed",peg$c832=peg$literalExpectation("OrangeRed",!1),peg$c833="orchid",peg$c834=peg$literalExpectation("orchid",!1),peg$c835=function(){return"#da70d6ff"},peg$c836="Orchid",peg$c837=peg$literalExpectation("Orchid",!1),peg$c838="palegoldenrod",peg$c839=peg$literalExpectation("palegoldenrod",!1),peg$c840=function(){return"#eee8aaff"},peg$c841="PaleGoldenRod",peg$c842=peg$literalExpectation("PaleGoldenRod",!1),peg$c843="palegreen",peg$c844=peg$literalExpectation("palegreen",!1),peg$c845=function(){return"#98fb98ff"},peg$c846="PaleGreen",peg$c847=peg$literalExpectation("PaleGreen",!1),peg$c848="paleturquoise",peg$c849=peg$literalExpectation("paleturquoise",!1),peg$c850=function(){return"#afeeeeff"},peg$c851="PaleTurquoise",peg$c852=peg$literalExpectation("PaleTurquoise",!1),peg$c853="palevioletred",peg$c854=peg$literalExpectation("palevioletred",!1),peg$c855=function(){return"#d87093ff"},peg$c856="PaleVioletRed",peg$c857=peg$literalExpectation("PaleVioletRed",!1),peg$c858="papayawhip",peg$c859=peg$literalExpectation("papayawhip",!1),peg$c860=function(){return"#ffefd5ff"},peg$c861="PapayaWhip",peg$c862=peg$literalExpectation("PapayaWhip",!1),peg$c863="peachpuff",peg$c864=peg$literalExpectation("peachpuff",!1),peg$c865=function(){return"#ffdab9ff"},peg$c866="PeachPuff",peg$c867=peg$literalExpectation("PeachPuff",!1),peg$c868="peru",peg$c869=peg$literalExpectation("peru",!1),peg$c870=function(){return"#cd853fff"},peg$c871="Peru",peg$c872=peg$literalExpectation("Peru",!1),peg$c873="pink",peg$c874=peg$literalExpectation("pink",!1),peg$c875=function(){return"#ffc0cbff"},peg$c876="Pink",peg$c877=peg$literalExpectation("Pink",!1),peg$c878="plum",peg$c879=peg$literalExpectation("plum",!1),peg$c880=function(){return"#dda0ddff"},peg$c881="Plum",peg$c882=peg$literalExpectation("Plum",!1),peg$c883="powderblue",peg$c884=peg$literalExpectation("powderblue",!1),peg$c885=function(){return"#b0e0e6ff"},peg$c886="PowderBlue",peg$c887=peg$literalExpectation("PowderBlue",!1),peg$c888="purple",peg$c889=peg$literalExpectation("purple",!1),peg$c890=function(){return"#800080ff"},peg$c891="Purple",peg$c892=peg$literalExpectation("Purple",!1),peg$c893="red",peg$c894=peg$literalExpectation("red",!1),peg$c895=function(){return"#ff0000ff"},peg$c896="Red",peg$c897=peg$literalExpectation("Red",!1),peg$c898="rosybrown",peg$c899=peg$literalExpectation("rosybrown",!1),peg$c900=function(){return"#bc8f8fff"},peg$c901="RosyBrown",peg$c902=peg$literalExpectation("RosyBrown",!1),peg$c903="royalblue",peg$c904=peg$literalExpectation("royalblue",!1),peg$c905=function(){return"#4169e1ff"},peg$c906="RoyalBlue",peg$c907=peg$literalExpectation("RoyalBlue",!1),peg$c908="saddlebrown",peg$c909=peg$literalExpectation("saddlebrown",!1),peg$c910=function(){return"#8b4513ff"},peg$c911="SaddleBrown",peg$c912=peg$literalExpectation("SaddleBrown",!1),peg$c913="salmon",peg$c914=peg$literalExpectation("salmon",!1),peg$c915=function(){return"#fa8072ff"},peg$c916="Salmon",peg$c917=peg$literalExpectation("Salmon",!1),peg$c918="sandybrown",peg$c919=peg$literalExpectation("sandybrown",!1),peg$c920=function(){return"#f4a460ff"},peg$c921="SandyBrown",peg$c922=peg$literalExpectation("SandyBrown",!1),peg$c923="seagreen",peg$c924=peg$literalExpectation("seagreen",!1),peg$c925=function(){return"#2e8b57ff"},peg$c926="SeaGreen",peg$c927=peg$literalExpectation("SeaGreen",!1),peg$c928="seashell",peg$c929=peg$literalExpectation("seashell",!1),peg$c930=function(){return"#fff5eeff"},peg$c931="SeaShell",peg$c932=peg$literalExpectation("SeaShell",!1),peg$c933="sienna",peg$c934=peg$literalExpectation("sienna",!1),peg$c935=function(){return"#a0522dff"},peg$c936="Sienna",peg$c937=peg$literalExpectation("Sienna",!1),peg$c938="silver",peg$c939=peg$literalExpectation("silver",!1),peg$c940=function(){return"#c0c0c0ff"},peg$c941="Silver",peg$c942=peg$literalExpectation("Silver",!1),peg$c943="skyblue",peg$c944=peg$literalExpectation("skyblue",!1),peg$c945=function(){return"#87ceebff"},peg$c946="SkyBlue",peg$c947=peg$literalExpectation("SkyBlue",!1),peg$c948="slateblue",peg$c949=peg$literalExpectation("slateblue",!1),peg$c950=function(){return"#6a5acdff"},peg$c951="SlateBlue",peg$c952=peg$literalExpectation("SlateBlue",!1),peg$c953="slategray",peg$c954=peg$literalExpectation("slategray",!1),peg$c955=function(){return"#708090ff"},peg$c956="SlateGray",peg$c957=peg$literalExpectation("SlateGray",!1),peg$c958="slategrey",peg$c959=peg$literalExpectation("slategrey",!1),peg$c960="SlateGrey",peg$c961=peg$literalExpectation("SlateGrey",!1),peg$c962="snow",peg$c963=peg$literalExpectation("snow",!1),peg$c964=function(){return"#fffafaff"},peg$c965="Snow",peg$c966=peg$literalExpectation("Snow",!1),peg$c967="springgreen",peg$c968=peg$literalExpectation("springgreen",!1),peg$c969=function(){return"#00ff7fff"},peg$c970="SpringGreen",peg$c971=peg$literalExpectation("SpringGreen",!1),peg$c972="steelblue",peg$c973=peg$literalExpectation("steelblue",!1),peg$c974=function(){return"#4682b4ff"},peg$c975="SteelBlue",peg$c976=peg$literalExpectation("SteelBlue",!1),peg$c977="tan",peg$c978=peg$literalExpectation("tan",!1),peg$c979=function(){return"#d2b48cff"},peg$c980="Tan",peg$c981=peg$literalExpectation("Tan",!1),peg$c982="teal",peg$c983=peg$literalExpectation("teal",!1),peg$c984=function(){return"#008080ff"},peg$c985="Teal",peg$c986=peg$literalExpectation("Teal",!1),peg$c987="thistle",peg$c988=peg$literalExpectation("thistle",!1),peg$c989=function(){return"#d8bfd8ff"},peg$c990="Thistle",peg$c991=peg$literalExpectation("Thistle",!1),peg$c992="tomato",peg$c993=peg$literalExpectation("tomato",!1),peg$c994=function(){return"#ff6347ff"},peg$c995="Tomato",peg$c996=peg$literalExpectation("Tomato",!1),peg$c997="turquoise",peg$c998=peg$literalExpectation("turquoise",!1),peg$c999=function(){return"#40e0d0ff"},peg$c1000="Turquoise",peg$c1001=peg$literalExpectation("Turquoise",!1),peg$c1002="violet",peg$c1003=peg$literalExpectation("violet",!1),peg$c1004=function(){return"#ee82eeff"},peg$c1005="Violet",peg$c1006=peg$literalExpectation("Violet",!1),peg$c1007="wheat",peg$c1008=peg$literalExpectation("wheat",!1),peg$c1009=function(){return"#f5deb3ff"},peg$c1010="Wheat",peg$c1011=peg$literalExpectation("Wheat",!1),peg$c1012="white",peg$c1013=peg$literalExpectation("white",!1),peg$c1014=function(){return"#ffffffff"},peg$c1015="White",peg$c1016=peg$literalExpectation("White",!1),peg$c1017="whitesmoke",peg$c1018=peg$literalExpectation("whitesmoke",!1),peg$c1019=function(){return"#f5f5f5ff"},peg$c1020="WhiteSmoke",peg$c1021=peg$literalExpectation("WhiteSmoke",!1),peg$c1022="yellow",peg$c1023=peg$literalExpectation("yellow",!1),peg$c1024=function(){return"#ffff00ff"},peg$c1025="Yellow",peg$c1026=peg$literalExpectation("Yellow",!1),peg$c1027="yellowgreen",peg$c1028=peg$literalExpectation("yellowgreen",!1),peg$c1029=function(){return"#9acd32ff"},peg$c1030="YellowGreen",peg$c1031=peg$literalExpectation("YellowGreen",!1),peg$c1032=function(lab){return lab},peg$c1033="#",peg$c1034=peg$literalExpectation("#",!1),peg$c1035=function(r,g,b){return""+r+r+g+g+b+b+"ff"},peg$c1036=function(r1,r2,g1,g2,b1,b2){return""+r1+r2+g1+g2+b1+b2+"ff"},peg$c1037=function(r,g,b,a){return""+r+r+g+g+b+b+a+a},peg$c1038=function(r1,r2,g1,g2,b1,b2,a1,a2){return""+r1+r2+g1+g2+b1+b2+a1+a2},peg$c1039=peg$otherExpectation("color"),peg$c1040="arc_label",peg$c1041=peg$literalExpectation("arc_label",!1),peg$c1042="head_label",peg$c1043=peg$literalExpectation("head_label",!1),peg$c1044="tail_label",peg$c1045=peg$literalExpectation("tail_label",!1),peg$c1046=":",peg$c1047=peg$literalExpectation(":",!1),peg$c1048=";",peg$c1049=peg$literalExpectation(";",!1),peg$c1050=function(key,value){return{key:key,value:value}},peg$c1051=peg$otherExpectation("single edge color"),peg$c1052="edge_color",peg$c1053=peg$literalExpectation("edge_color",!1),peg$c1054=function(value){return{key:"single_edge_color",value:value}},peg$c1055="{",peg$c1056=peg$literalExpectation("{",!1),peg$c1057="}",peg$c1058=peg$literalExpectation("}",!1),peg$c1059=function(items){return items},peg$c1060="%",peg$c1061=peg$literalExpectation("%",!1),peg$c1062=function(value){return{key:"arrow probability",value:value}},peg$c1063="[",peg$c1064=peg$literalExpectation("[",!1),peg$c1065="]",peg$c1066=peg$literalExpectation("]",!1),peg$c1067=function(names){return names.map(function(i){return i[0]})},peg$c1068=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$c1069=function(label,se){var base={key:"transition",from:label};return se&&se!==[]&&(base.se=se),base},peg$c1070="whargarbl",peg$c1071=peg$literalExpectation("whargarbl",!1),peg$c1072="todo",peg$c1073=peg$literalExpectation("todo",!1),peg$c1074=function(validationkey,value){return{key:validationkey,value:value}},peg$c1075="validation",peg$c1076=peg$literalExpectation("validation",!1),peg$c1077="};",peg$c1078=peg$literalExpectation("};",!1),peg$c1079=function(validation_items){return{config_kind:"validation",config_items:validation_items||[]}},peg$c1080="dot",peg$c1081=peg$literalExpectation("dot",!1),peg$c1082="circo",peg$c1083=peg$literalExpectation("circo",!1),peg$c1084="fdp",peg$c1085=peg$literalExpectation("fdp",!1),peg$c1086="neato",peg$c1087=peg$literalExpectation("neato",!1),peg$c1088="in_shape",peg$c1089=peg$literalExpectation("in_shape",!1),peg$c1090="out_shape",peg$c1091=peg$literalExpectation("out_shape",!1),peg$c1092="node_shape",peg$c1093=peg$literalExpectation("node_shape",!1),peg$c1094="state",peg$c1095=peg$literalExpectation("state",!1),peg$c1096=function(state_items){return{config_kind:"state",config_items:state_items||[]}},peg$c1097=function(actionkey,value){return{key:actionkey,value:value}},peg$c1098="action",peg$c1099=peg$literalExpectation("action",!1),peg$c1100=function(action_items){return{config_kind:"action",config_items:action_items||[]}},peg$c1101=function(transitionkey,value){return{key:transitionkey,value:value}},peg$c1102=peg$otherExpectation("graph default edge color"),peg$c1103=function(value){return{key:"graph_default_edge_color",value:value}},peg$c1104="transition",peg$c1105=peg$literalExpectation("transition",!1),peg$c1106=function(transition_items){return{config_kind:"transition",config_items:transition_items||[]}},peg$c1107="graph_layout",peg$c1108=peg$literalExpectation("graph_layout",!1),peg$c1109=function(value){return{key:"graph_layout",value:value}},peg$c1110="start_states",peg$c1111=peg$literalExpectation("start_states",!1),peg$c1112=function(value){return{key:"start_states",value:value}},peg$c1113="end_states",peg$c1114=peg$literalExpectation("end_states",!1),peg$c1115=function(value){return{key:"end_states",value:value}},peg$c1116="graph_bg_color",peg$c1117=peg$literalExpectation("graph_bg_color",!1),peg$c1118=function(value){return{key:"graph_bg_color",value:value}},peg$c1119=peg$otherExpectation("configuration"),peg$c1120="MIT",peg$c1121=peg$literalExpectation("MIT",!1),peg$c1122="BSD 2-clause",peg$c1123=peg$literalExpectation("BSD 2-clause",!1),peg$c1124="BSD 3-clause",peg$c1125=peg$literalExpectation("BSD 3-clause",!1),peg$c1126="Apache 2.0",peg$c1127=peg$literalExpectation("Apache 2.0",!1),peg$c1128="Mozilla 2.0",peg$c1129=peg$literalExpectation("Mozilla 2.0",!1),peg$c1130="Public domain",peg$c1131=peg$literalExpectation("Public domain",!1),peg$c1132="GPL v2",peg$c1133=peg$literalExpectation("GPL v2",!1),peg$c1134="GPL v3",peg$c1135=peg$literalExpectation("GPL v3",!1),peg$c1136="LGPL v2.1",peg$c1137=peg$literalExpectation("LGPL v2.1",!1),peg$c1138="LGPL v3.0",peg$c1139=peg$literalExpectation("LGPL v3.0",!1),peg$c1140="Unknown",peg$c1141=peg$literalExpectation("Unknown",!1),peg$c1142="machine_author",peg$c1143=peg$literalExpectation("machine_author",!1),peg$c1144=function(author){return{key:"machine_author",value:author}},peg$c1145="machine_contributor",peg$c1146=peg$literalExpectation("machine_contributor",!1),peg$c1147=function(contributor){return{key:"machine_contributor",value:contributor}},peg$c1148="machine_comment",peg$c1149=peg$literalExpectation("machine_comment",!1),peg$c1150=function(comment){return{key:"machine_comment",value:comment}},peg$c1151="machine_definition",peg$c1152=peg$literalExpectation("machine_definition",!1),peg$c1153=function(definition){return{key:"machine_definition",value:definition}},peg$c1154="machine_name",peg$c1155=peg$literalExpectation("machine_name",!1),peg$c1156=function(name){return{key:"machine_name",value:name}},peg$c1160=(peg$literalExpectation("machine_reference",!1),"machine_version"),peg$c1161=peg$literalExpectation("machine_version",!1),peg$c1162=function(version){return{key:"machine_version",value:version}},peg$c1163="machine_license",peg$c1164=peg$literalExpectation("machine_license",!1),peg$c1165=function(license){return{key:"machine_license",value:license}},peg$c1166="machine_language",peg$c1167=peg$literalExpectation("machine_language",!1),peg$c1168=function(language){return{key:"machine_language",value:language}},peg$c1169="fsl_version",peg$c1170=peg$literalExpectation("fsl_version",!1),peg$c1171=function(fsl_version){return{key:"fsl_version",value:fsl_version}},peg$c1172=peg$otherExpectation("machine attribute"),peg$c1173=peg$otherExpectation("node color"),peg$c1174="node_color",peg$c1175=peg$literalExpectation("node_color",!1),peg$c1176=function(value){return{key:"node_color",value:value}},peg$c1177=peg$otherExpectation("node shape"),peg$c1178=function(value){return{key:"node_shape",value:value}},peg$c1179=function(state_name,decl_desc){return{key:"state_declaration",name:state_name,value:decl_desc}},peg$c1180="&",peg$c1181=peg$literalExpectation("&",!1),peg$c1182=function(list_name,contents){return{key:"named_list",name:list_name,value:contents}},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,opts,prob_prop,extract){return histograph(weighted_sample_select(n,opts,prob_prop).map(function(s){return s[extract]}))},exports.weighted_rand_select=weighted_rand_select,exports.weighted_sample_select=weighted_sample_select},{}],3:[function(require,module,exports){var reductions=require("./reductions.json");module.exports={reduce:function(from){return reductions[(from||"").toLowerCase()]},reductions:reductions}},{"./reductions.json":4}],4:[function(require,module,exports){module.exports={abkhazian:"ab","аҧсуа бызшәа, аҧсшәа":"ab",ab:"ab",abk:"ab","аҧсуа бызшәа":"ab","аҧсшәа":"ab",afar:"aa",afaraf:"aa",aa:"aa",aar:"aa",afrikaans:"af",af:"af",afr:"af",akan:"ak",ak:"ak",aka:"ak","aka + 2":"ak",albanian:"sq",shqip:"sq",sq:"sq",sqi:"sq",alb:"sq","sqi + 4":"sq",amharic:"am","አማርኛ":"am",am:"am",amh:"am",arabic:"ar","العربية":"ar",ar:"ar",ara:"ar","ara + 30":"ar",aragonese:"an","aragonés":"an",an:"an",arg:"an",armenian:"hy","հայերեն":"hy",hy:"hy",hye:"hy",arm:"hy",assamese:"as","অসমীয়া":"as",as:"as",asm:"as",avaric:"av","авар мацӏ, магӏарул мацӏ":"av",av:"av",ava:"av","авар мацӏ":"av","магӏарул мацӏ":"av",avestan:"ae",avesta:"ae",ae:"ae",ave:"ae",aymara:"ay","aymar aru":"ay",ay:"ay",aym:"ay","aym + 2":"ay",azerbaijani:"az","azərbaycan dili":"az",az:"az",aze:"az","aze + 2":"az",bambara:"bm",bamanankan:"bm",bm:"bm",bam:"bm",bashkir:"ba","башҡорт теле":"ba",ba:"ba",bak:"ba",basque:"eu","euskara, euskera":"eu",eu:"eu",eus:"eu",baq:"eu",euskara:"eu",euskera:"eu",belarusian:"be","беларуская мова":"be",be:"be",bel:"be",bengali:"bn","বাংলা":"bn",bn:"bn",ben:"bn","bihari languages":"bh","भोजपुरी":"bh",bh:"bh",bih:"bh","":"bh",bislama:"bi",bi:"bi",bis:"bi",bosnian:"bs","bosanski jezik":"bs",bs:"bs",bos:"bs",breton:"br",brezhoneg:"br",br:"br",bre:"br",bulgarian:"bg","български език":"bg",bg:"bg",bul:"bg",burmese:"my","ဗမာစာ":"my",my:"my",mya:"my",bur:"my","catalan, valencian":"ca","català, valencià":"ca",ca:"ca",cat:"ca","català":"ca","valencià":"ca",chamorro:"ch",chamoru:"ch",ch:"ch",cha:"ch",chechen:"ce","нохчийн мотт":"ce",ce:"ce",che:"ce","chichewa, chewa, nyanja":"ny","chicheŵa, chinyanja":"ny",ny:"ny",nya:"ny","chicheŵa":"ny",chinyanja:"ny",chinese:"zh","中文 (zhōngwén), 汉语, 漢語":"zh",zh:"zh",zho:"zh",chi:"zh","zho + 13":"zh","中文 (zhōngwén)":"zh","汉语":"zh","漢語":"zh",chuvash:"cv","чӑваш чӗлхи":"cv",cv:"cv",chv:"cv",cornish:"kw",kernewek:"kw",kw:"kw",cor:"kw",corsican:"co","corsu, lingua corsa":"co",co:"co",cos:"co",corsu:"co","lingua corsa":"co",cree:"cr","ᓀᐦᐃᔭᐍᐏᐣ":"cr",cr:"cr",cre:"cr","cre + 6":"cr",croatian:"hr","hrvatski jezik":"hr",hr:"hr",hrv:"hr",czech:"cs","čeština, český jazyk":"cs",cs:"cs",ces:"cs",cze:"cs","čeština":"cs","český jazyk":"cs",danish:"da",dansk:"da",da:"da",dan:"da","divehi, dhivehi, maldivian":"dv","ދިވެހި":"dv",dv:"dv",div:"dv","dutch, flemish":"nl","nederlands, vlaams":"nl",nl:"nl",nld:"nl",dut:"nl",nederlands:"nl",vlaams:"nl",dzongkha:"dz","རྫོང་ཁ":"dz",dz:"dz",dzo:"dz",english:"en",en:"en",eng:"en",esperanto:"eo",eo:"eo",epo:"eo",estonian:"et","eesti, eesti keel":"et",et:"et",est:"et","est + 2":"et",eesti:"et","eesti keel":"et",ewe:"ee","eʋegbe":"ee",ee:"ee",faroese:"fo","føroyskt":"fo",fo:"fo",fao:"fo",fijian:"fj","vosa vakaviti":"fj",fj:"fj",fij:"fj",finnish:"fi","suomi, suomen kieli":"fi",fi:"fi",fin:"fi",suomi:"fi","suomen kieli":"fi",french:"fr","français, langue française":"fr",fr:"fr",fra:"fr",fre:"fr","français":"fr","langue française":"fr",fulah:"ff","fulfulde, pulaar, pular":"ff",ff:"ff",ful:"ff","ful + 9":"ff",fulfulde:"ff",pulaar:"ff",pular:"ff",galician:"gl",galego:"gl",gl:"gl",glg:"gl",georgian:"ka","ქართული":"ka",ka:"ka",kat:"ka",geo:"ka",german:"de",deutsch:"de",de:"de",deu:"de",ger:"de","greek (modern)":"el","ελληνικά":"el",el:"el",ell:"el",gre:"el","guaraní":"gn","avañe'ẽ":"gn",gn:"gn",grn:"gn","grn + 5":"gn",gujarati:"gu","ગુજરાતી":"gu",gu:"gu",guj:"gu","haitian, haitian creole":"ht","kreyòl ayisyen":"ht",ht:"ht",hat:"ht",hausa:"ha","(hausa) هَوُسَ":"ha",ha:"ha",hau:"ha","hebrew (modern)":"he","עברית":"he",he:"he",heb:"he",herero:"hz",otjiherero:"hz",hz:"hz",her:"hz",hindi:"hi","हिन्दी, हिंदी":"hi",hi:"hi",hin:"hi","हिन्दी":"hi","हिंदी":"hi","hiri motu":"ho",ho:"ho",hmo:"ho",hungarian:"hu",magyar:"hu",hu:"hu",hun:"hu",interlingua:"ia",ia:"ia",ina:"ia",indonesian:"id","bahasa indonesia":"id",id:"id",ind:"id",interlingue:"ie","originally called occidental; then interlingue after wwii":"ie",ie:"ie",ile:"ie",irish:"ga",gaeilge:"ga",ga:"ga",gle:"ga",igbo:"ig","asụsụ igbo":"ig",ig:"ig",ibo:"ig",inupiaq:"ik","iñupiaq, iñupiatun":"ik",ik:"ik",ipk:"ik","ipk + 2":"ik","iñupiaq":"ik","iñupiatun":"ik",ido:"io",io:"io",icelandic:"is","íslenska":"is",is:"is",isl:"is",ice:"is",italian:"it",italiano:"it",it:"it",ita:"it",inuktitut:"iu","ᐃᓄᒃᑎᑐᑦ":"iu",iu:"iu",iku:"iu","iku + 2":"iu",japanese:"ja","日本語 (にほんご)":"ja",ja:"ja",jpn:"ja",javanese:"jv","ꦧꦱꦗꦮ, basa jawa":"jv",jv:"jv",jav:"jv","ꦧꦱꦗꦮ":"jv","basa jawa":"jv","kalaallisut, greenlandic":"kl","kalaallisut, kalaallit oqaasii":"kl",kl:"kl",kal:"kl",kalaallisut:"kl","kalaallit oqaasii":"kl",kannada:"kn","ಕನ್ನಡ":"kn",kn:"kn",kan:"kn",kanuri:"kr",kr:"kr",kau:"kr","kau + 3":"kr",kashmiri:"ks","कश्मीरी, كشميري‎":"ks",ks:"ks",kas:"ks","कश्मीरी":"ks","كشميري‎":"ks",kazakh:"kk","қазақ тілі":"kk",kk:"kk",kaz:"kk","central khmer":"km","ខ្មែរ, ខេមរភាសា, ភាសាខ្មែរ":"km",km:"km",khm:"km","ខ្មែរ":"km","ខេមរភាសា":"km","ភាសាខ្មែរ":"km","kikuyu, gikuyu":"ki","gĩkũyũ":"ki",ki:"ki",kik:"ki",kinyarwanda:"rw",ikinyarwanda:"rw",rw:"rw",kin:"rw","kirghiz, kyrgyz":"ky","кыргызча, кыргыз тили":"ky",ky:"ky",kir:"ky","кыргызча":"ky","кыргыз тили":"ky",komi:"kv","коми кыв":"kv",kv:"kv",kom:"kv","kom + 2":"kv",kongo:"kg",kikongo:"kg",kg:"kg",kon:"kg","kon + 3":"kg",korean:"ko","한국어":"ko",ko:"ko",kor:"ko",kurdish:"ku","kurdî, كوردی‎":"ku",ku:"ku",kur:"ku","kur + 3":"ku","kurdî":"ku","كوردی‎":"ku","kuanyama, kwanyama":"kj",kuanyama:"kj",kj:"kj",kua:"kj",latin:"la","latine, lingua latina":"la",la:"la",lat:"la",latine:"la","lingua latina":"la","luxembourgish, letzeburgesch":"lb","lëtzebuergesch":"lb",lb:"lb",ltz:"lb",ganda:"lg",luganda:"lg",lg:"lg",lug:"lg","limburgan, limburger, limburgish":"li",limburgs:"li",li:"li",lim:"li",lingala:"ln","lingála":"ln",ln:"ln",lin:"ln",lao:"lo","ພາສາລາວ":"lo",lo:"lo",lithuanian:"lt","lietuvių kalba":"lt",lt:"lt",lit:"lt","luba-katanga":"lu",kiluba:"lu",lu:"lu",lub:"lu",latvian:"lv","latviešu valoda":"lv",lv:"lv",lav:"lv","lav + 2":"lv",manx:"gv","gaelg, gailck":"gv",gv:"gv",glv:"gv",gaelg:"gv",gailck:"gv",macedonian:"mk","македонски јазик":"mk",mk:"mk",mkd:"mk",mac:"mk",malagasy:"mg","fiteny malagasy":"mg",mg:"mg",mlg:"mg","mlg + 10":"mg",malay:"ms","bahasa melayu, بهاس ملايو‎":"ms",ms:"ms",msa:"ms",may:"ms","msa + 13":"ms","bahasa melayu":"ms","بهاس ملايو‎":"ms",malayalam:"ml","മലയാളം":"ml",ml:"ml",mal:"ml",maltese:"mt",malti:"mt",mt:"mt",mlt:"mt",maori:"mi","te reo māori":"mi",mi:"mi",mri:"mi",mao:"mi",marathi:"mr","मराठी":"mr",mr:"mr",mar:"mr",marshallese:"mh","kajin m̧ajeļ":"mh",mh:"mh",mah:"mh",mongolian:"mn","монгол хэл":"mn",mn:"mn",mon:"mn","mon + 2":"mn",nauru:"na","dorerin naoero":"na",na:"na",nau:"na","navajo, navaho":"nv","diné bizaad":"nv",nv:"nv",nav:"nv","north ndebele":"nd",isindebele:"nr",nd:"nd",nde:"nd",nepali:"ne","नेपाली":"ne",ne:"ne",nep:"ne",ndonga:"ng",owambo:"ng",ng:"ng",ndo:"ng","norwegian bokmål":"nb","norsk bokmål":"nb",nb:"nb",nob:"nb","norwegian nynorsk":"nn","norsk nynorsk":"nn",nn:"nn",nno:"nn",norwegian:"no",norsk:"no",no:"no",nor:"no","nor + 2":"no","sichuan yi, nuosu":"ii","ꆈꌠ꒿ nuosuhxop":"ii",ii:"ii",iii:"ii","south ndebele":"nr",nr:"nr",nbl:"nr",occitan:"oc","occitan, lenga d'òc":"oc",oc:"oc",oci:"oc","lenga d'òc":"oc",ojibwa:"oj","ᐊᓂᔑᓈᐯᒧᐎᓐ":"oj",oj:"oj",oji:"oj","oji + 7":"oj","church slavic, church slavonic, old church slavonic, old slavonic, old bulgarian":"cu","ѩзыкъ словѣньскъ":"cu",cu:"cu",chu:"cu",oromo:"om","afaan oromoo":"om",om:"om",orm:"om","orm + 4":"om",oriya:"or","ଓଡ଼ିଆ":"or",or:"or",ori:"or","ossetian, ossetic":"os","ирон æвзаг":"os",os:"os",oss:"os","panjabi, punjabi":"pa","ਪੰਜਾਬੀ":"pa",pa:"pa",pan:"pa",pali:"pi","पाऴि":"pi",pi:"pi",pli:"pi",persian:"fa","فارسی":"fa",fa:"fa",fas:"fa",per:"fa","fas + 2":"fa",polish:"pl","język polski, polszczyzna":"pl",pl:"pl",pol:"pl","język polski":"pl",polszczyzna:"pl","pashto, pushto":"ps","پښتو":"ps",ps:"ps",pus:"ps","pus + 3":"ps",portuguese:"pt","português":"pt",pt:"pt",por:"pt",quechua:"qu","runa simi, kichwa":"qu",qu:"qu",que:"qu","que + 44":"qu","runa simi":"qu",kichwa:"qu",romansh:"rm","rumantsch grischun":"rm",rm:"rm",roh:"rm",rundi:"rn",ikirundi:"rn",rn:"rn",run:"rn","romanian, moldavian, moldovan":"ro","română":"ro",ro:"ro",ron:"ro",rum:"ro",russian:"ru","русский":"ru",ru:"ru",rus:"ru",sanskrit:"sa","संस्कृतम्":"sa",sa:"sa",san:"sa",sardinian:"sc",sardu:"sc",sc:"sc",srd:"sc","srd + 4":"sc",sindhi:"sd","सिन्धी, سنڌي، سندھی‎":"sd",sd:"sd",snd:"sd","सिन्धी":"sd","سنڌي، سندھی‎":"sd","northern sami":"se","davvisámegiella":"se",se:"se",sme:"se",samoan:"sm","gagana fa'a samoa":"sm",sm:"sm",smo:"sm",sango:"sg","yângâ tî sängö":"sg",sg:"sg",sag:"sg",serbian:"sr","српски језик":"sr",sr:"sr",srp:"sr","gaelic, scottish gaelic":"gd","gàidhlig":"gd",gd:"gd",gla:"gd",shona:"sn",chishona:"sn",sn:"sn",sna:"sn","sinhala, sinhalese":"si","සිංහල":"si",si:"si",sin:"si",slovak:"sk","slovenčina, slovenský jazyk":"sk",sk:"sk",slk:"sk",slo:"sk","slovenčina":"sk","slovenský jazyk":"sk",slovenian:"sl","slovenski jezik, slovenščina":"sl",sl:"sl",slv:"sl","slovenski jezik":"sl","slovenščina":"sl",somali:"so","soomaaliga, af soomaali":"so",so:"so",som:"so",soomaaliga:"so","af soomaali":"so","southern sotho":"st",sesotho:"st",st:"st",sot:"st","spanish, castilian":"es","español":"es",es:"es",spa:"es",sundanese:"su","basa sunda":"su",su:"su",sun:"su",swahili:"sw",kiswahili:"sw",sw:"sw",swa:"sw","swa + 2":"sw",swati:"ss",siswati:"ss",ss:"ss",ssw:"ss",swedish:"sv",svenska:"sv",sv:"sv",swe:"sv",tamil:"ta","தமிழ்":"ta",ta:"ta",tam:"ta",telugu:"te","తెలుగు":"te",te:"te",tel:"te",tajik:"tg","тоҷикӣ, toçikī, تاجیکی‎":"tg",tg:"tg",tgk:"tg","тоҷикӣ":"tg","toçikī":"tg","تاجیکی‎":"tg",thai:"th","ไทย":"th",th:"th",tha:"th",tigrinya:"ti","ትግርኛ":"ti",ti:"ti",tir:"ti",tibetan:"bo","བོད་ཡིག":"bo",bo:"bo",bod:"bo",tib:"bo",turkmen:"tk","türkmen, түркмен":"tk",tk:"tk",tuk:"tk","türkmen":"tk","түркмен":"tk",tagalog:"tl","wikang tagalog":"tl",tl:"tl",tgl:"tl",tswana:"tn",setswana:"tn",tn:"tn",tsn:"tn","tonga (tonga islands)":"to","faka tonga":"to",to:"to",ton:"to",turkish:"tr","türkçe":"tr",tr:"tr",tur:"tr",tsonga:"ts",xitsonga:"ts",ts:"ts",tso:"ts",tatar:"tt","татар теле, tatar tele":"tt",tt:"tt",tat:"tt","татар теле":"tt","tatar tele":"tt",twi:"tw",tw:"tw",tahitian:"ty","reo tahiti":"ty",ty:"ty",tah:"ty","uighur, uyghur":"ug","ئۇيغۇرچە‎, uyghurche":"ug",ug:"ug",uig:"ug","ئۇيغۇرچە‎":"ug",uyghurche:"ug",ukrainian:"uk","українська":"uk",uk:"uk",ukr:"uk",urdu:"ur","اردو":"ur",ur:"ur",urd:"ur",uzbek:"uz","oʻzbek, ўзбек, أۇزبېك‎":"uz",uz:"uz",uzb:"uz","uzb + 2":"uz","oʻzbek":"uz","ўзбек":"uz","أۇزبېك‎":"uz",venda:"ve","tshivenḓa":"ve",ve:"ve",ven:"ve",vietnamese:"vi","tiếng việt":"vi",vi:"vi",vie:"vi","volapük":"vo",vo:"vo",vol:"vo",walloon:"wa",walon:"wa",wa:"wa",wln:"wa",welsh:"cy",cymraeg:"cy",cy:"cy",cym:"cy",wel:"cy",wolof:"wo",wollof:"wo",wo:"wo",wol:"wo","western frisian":"fy",frysk:"fy",fy:"fy",fry:"fy",xhosa:"xh",isixhosa:"xh",xh:"xh",xho:"xh",yiddish:"yi","ייִדיש":"yi",yi:"yi",yid:"yi","yid + 2":"yi",yoruba:"yo","yorùbá":"yo",yo:"yo",yor:"yo","zhuang, chuang":"za","saɯ cueŋƅ, saw cuengh":"za",za:"za",zha:"za","zha + 16":"za","saɯ cueŋƅ":"za","saw cuengh":"za",zulu:"zu",isizulu:"zu",zu:"zu",zul:"zu"}},{}],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"=>":case"⇒":case"~>":case"↛":return"none";case"<-":case"←":case"<->":case"↔":case"<-=>":case"←⇒":case"<-~>":case"←↛":return"legal";case"<=":case"⇐":case"<=>":case"⇔":case"<=->":case"⇐→":case"<=~>":case"⇐↛":return"main";case"<~":case"↚":case"<~>":case"↮":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"<=":case"⇐":case"<~":case"↚":return"none";case"->":case"→":case"<->":case"↔":case"<=->":case"⇐→":case"<~->":case"↚→":return"legal";case"=>":case"⇒":case"<=>":case"⇔":case"<-=>":case"←⇒":case"<~=>":case"↚⇒":return"main";case"~>":case"↛":case"<~>":case"↮":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("machine_language"===rule.key)return{agg_as:"machine_language",val:reduce_to_639(rule.value)};if("state_declaration"===rule.key){if(!rule.name)throw new Error("State declarations must have a name");return{agg_as:"state_declaration",val:{state:rule.name,declarations:rule.value}}}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:[],state_declaration:[],fsl_version:[],machine_author:[],machine_comment:[],machine_contributor:[],machine_definition:[],machine_language:[],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","machine_language"].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","state_declaration"].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.12.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"=>":case"⇒":case"~>":case"↛":return"right";case"<-":case"←":case"<=":case"⇐":case"<~":case"↚":return"left";case"<->":case"↔":case"<-=>":case"←⇒":case"<-~>":case"←↛":case"<=>":case"⇔":case"<=->":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,"reduce-to-639-1":3}]},{},[]); \ 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,3)===peg$c1?(s0=peg$c1,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c2)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c3?(s0=peg$c3,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c4)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c5?(s0=peg$c5,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c6)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c7?(s0=peg$c7,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c8)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c9?(s0=peg$c9,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c10)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c11?(s0=peg$c11,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c12)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c13?(s0=peg$c13,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c14)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c15?(s0=peg$c15,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c16)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c17?(s0=peg$c17,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c18)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c19?(s0=peg$c19,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c20)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c21?(s0=peg$c21,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c22)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c23?(s0=peg$c23,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c24)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c25?(s0=peg$c25,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c26)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c27?(s0=peg$c27,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c28)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c29?(s0=peg$c29,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c30)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c31?(s0=peg$c31,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c32)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c33?(s0=peg$c33,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c34)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c35?(s0=peg$c35,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c36)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c37?(s0=peg$c37,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c38)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c39?(s0=peg$c39,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c40)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c41?(s0=peg$c41,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c42)),s0===peg$FAILED&&(input.substr(peg$currPos,11)===peg$c43?(s0=peg$c43,peg$currPos+=11):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c44)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c45?(s0=peg$c45,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c46)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c47?(s0=peg$c47,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c48)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c49?(s0=peg$c49,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c50)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c51?(s0=peg$c51,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c52)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c53?(s0=peg$c53,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c54)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c55?(s0=peg$c55,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c56)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c57?(s0=peg$c57,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c58)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c59?(s0=peg$c59,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c60)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c61?(s0=peg$c61,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c62)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c63?(s0=peg$c63,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c64)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c65?(s0=peg$c65,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c66)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c67?(s0=peg$c67,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c68)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c69?(s0=peg$c69,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c70)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c71?(s0=peg$c71,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c72)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c73?(s0=peg$c73,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c74)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c75?(s0=peg$c75,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c76)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c77?(s0=peg$c77,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c78)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c79?(s0=peg$c79,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c80)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c81?(s0=peg$c81,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c82)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c83?(s0=peg$c83,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c84)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c85?(s0=peg$c85,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c86)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c87?(s0=peg$c87,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c88)),s0===peg$FAILED&&(input.substr(peg$currPos,15)===peg$c89?(s0=peg$c89,peg$currPos+=15):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c90)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c91?(s0=peg$c91,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c92)),s0===peg$FAILED&&(input.substr(peg$currPos,14)===peg$c93?(s0=peg$c93,peg$currPos+=14):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c94)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c95?(s0=peg$c95,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c96)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c97?(s0=peg$c97,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c98)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c99?(s0=peg$c99,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c100)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c101?(s0=peg$c101,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c102)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c103?(s0=peg$c103,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c104)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c105?(s0=peg$c105,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c106)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c107?(s0=peg$c107,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c108)),s0===peg$FAILED&&(input.substr(peg$currPos,11)===peg$c109?(s0=peg$c109,peg$currPos+=11):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c110)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c111?(s0=peg$c111,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c112)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c113?(s0=peg$c113,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c114)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c115?(s0=peg$c115,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c116)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c117?(s0=peg$c117,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c118)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c119?(s0=peg$c119,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c120))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s0}function peg$parseForwardLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c122?(s0=peg$c122,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c123)),s0===peg$FAILED&&(s0=peg$currPos,8594===input.charCodeAt(peg$currPos)?(s1=peg$c124,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c125)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c126()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c121)),s0}function peg$parseTwoWayLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c128?(s0=peg$c128,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c129)),s0===peg$FAILED&&(s0=peg$currPos,8596===input.charCodeAt(peg$currPos)?(s1=peg$c130,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c131)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c132()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c127)),s0}function peg$parseBackLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c134?(s0=peg$c134,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c135)),s0===peg$FAILED&&(s0=peg$currPos,8592===input.charCodeAt(peg$currPos)?(s1=peg$c136,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c137)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c138()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c133)),s0}function peg$parseForwardFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c140?(s0=peg$c140,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c141)),s0===peg$FAILED&&(s0=peg$currPos,8658===input.charCodeAt(peg$currPos)?(s1=peg$c142,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c143)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c144()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c139)),s0}function peg$parseTwoWayFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c146?(s0=peg$c146,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c147)),s0===peg$FAILED&&(s0=peg$currPos,8660===input.charCodeAt(peg$currPos)?(s1=peg$c148,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c149)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c150()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c145)),s0}function peg$parseBackFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c152?(s0=peg$c152,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c153)),s0===peg$FAILED&&(s0=peg$currPos,8656===input.charCodeAt(peg$currPos)?(s1=peg$c154,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c155)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c156()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c151)),s0}function peg$parseForwardTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c158?(s0=peg$c158,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c159)),s0===peg$FAILED&&(s0=peg$currPos,8603===input.charCodeAt(peg$currPos)?(s1=peg$c160,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c161)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c162()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c157)),s0}function peg$parseTwoWayTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c164?(s0=peg$c164,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c165)),s0===peg$FAILED&&(s0=peg$currPos,8622===input.charCodeAt(peg$currPos)?(s1=peg$c166,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c167)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c168()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c163)),s0}function peg$parseBackTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c170?(s0=peg$c170,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c171)),s0===peg$FAILED&&(s0=peg$currPos,8602===input.charCodeAt(peg$currPos)?(s1=peg$c172,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c173)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c174()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c169)),s0}function peg$parseLightFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c176?(s0=peg$c176,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c177)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c178?(s1=peg$c178,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c179)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c180()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c175)),s0}function peg$parseLightTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c182?(s0=peg$c182,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c183)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c184?(s1=peg$c184,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c185)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c186()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c181)),s0}function peg$parseFatLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c188?(s0=peg$c188,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c189)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c190?(s1=peg$c190,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c191)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c192()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c187)),s0}function peg$parseFatTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c194?(s0=peg$c194,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c195)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c196?(s1=peg$c196,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c197)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c198()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c193)),s0}function peg$parseTildeLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c200?(s0=peg$c200,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c201)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c202?(s1=peg$c202,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c203)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c204()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c199)),s0}function peg$parseTildeFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c206?(s0=peg$c206,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c207)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c208?(s1=peg$c208,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c209)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c210()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c205)),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$c211),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$c212),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$c213),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$c214),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$c215),s0}function peg$parseHexDigit(){var s0;return peg$c216.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c217)),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$c218,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c219)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c220,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c221)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c222,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c223)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c224,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c225)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c226()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c227,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c228)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c229()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c230,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c231)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c232()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c233,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c234)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c235()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c236,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c237)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c238()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c239,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c240)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c241()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c242,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c243)),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$c244(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c245(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$c220,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c221)),s0}function peg$parseQuoteMark(){var s0;return 34===input.charCodeAt(peg$currPos)?(s0=peg$c218,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c219)),s0}function peg$parseUnescaped(){var s0;return peg$c246.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c247)),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$c248,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c249)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c220,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c221)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c222,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c223)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c224,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c225)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c226()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c227,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c228)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c229()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c230,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c231)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c232()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c233,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c234)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c235()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c236,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c237)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c238()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c239,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c240)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c241()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c242,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c243)),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$c244(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c245(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$c248,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c249)),s0}function peg$parseActionLabelUnescaped(){var s0;return peg$c250.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c251)),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$c253(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$c252),s0}function peg$parseLineTerminator(){var s0;return peg$c254.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c255)),s0}function peg$parseBlockCommentTail(){var s0,s1,s2;return input.substr(peg$currPos,2)===peg$c258?(s0=peg$c258,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c259)),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$c260)),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 peg$silentFails++,s0=peg$currPos,input.substr(peg$currPos,2)===peg$c262?(s1=peg$c262,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c263)),s1!==peg$FAILED&&(s2=peg$parseBlockCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c261)),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$c260)),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$c260)),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 peg$silentFails++,s0=peg$currPos,input.substr(peg$currPos,2)===peg$c265?(s1=peg$c265,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c266)),s1!==peg$FAILED&&(s2=peg$parseLineCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c264)),s0}function peg$parseWS(){var s0,s1,s2;if(peg$silentFails++,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$c268.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c269)),s2!==peg$FAILED)for(;s2!==peg$FAILED;)s1.push(s2),peg$c268.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c269));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 peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c267)),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$c253(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$c270),s0}function peg$parseAtomFirstLetter(){var s0;return peg$c271.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c272)),s0}function peg$parseAtomLetter(){var s0;return peg$c273.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c274)),s0}function peg$parseAtom(){var s0,s1,s2,s3;if(peg$silentFails++,s0=peg$currPos,(s1=peg$parseAtomFirstLetter())!==peg$FAILED){for(s2=[],s3=peg$parseAtomLetter();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseAtomLetter();s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c276(s1,s2)):(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$c275)),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$c277),s0}function peg$parseIntegerLiteral(){var s0,s1,s2,s3;if(48===input.charCodeAt(peg$currPos)?(s0=peg$c278,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c279)),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$c280.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c281)),s0}function peg$parseNonZeroDigit(){var s0;return peg$c282.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c283)),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$c285,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c286)),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$c287()):(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$c287()):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c284),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$c285,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c286)),s2!==peg$FAILED&&(s3=peg$parseIntegerLiteral())!==peg$FAILED?(46===input.charCodeAt(peg$currPos)?(s4=peg$c285,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c286)),s4!==peg$FAILED&&(s5=peg$parseIntegerLiteral())!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c288(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$c299?(s0=peg$c299,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c300)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c301?(s0=peg$c301,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c302))),s0}function peg$parseURL(){var s0,s1,s2,s3;if(s0=peg$currPos,(s1=peg$parseUrlProtocol())!==peg$FAILED){if(s2=[],peg$c303.test(input.charAt(peg$currPos))?(s3=input.charAt(peg$currPos),peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c304)),s3!==peg$FAILED)for(;s3!==peg$FAILED;)s2.push(s3),peg$c303.test(input.charAt(peg$currPos))?(s3=input.charAt(peg$currPos),peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c304));else s2=peg$FAILED;s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c305(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$c306?(s1=peg$c306,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c307)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c308()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c309?(s1=peg$c309,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c310)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c308()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c311?(s1=peg$c311,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c312)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c313()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c314?(s1=peg$c314,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c315)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c313()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c316?(s1=peg$c316,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c317)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c318()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c319?(s1=peg$c319,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c320)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c318()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c321?(s1=peg$c321,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c322)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c323()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c324?(s1=peg$c324,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c325)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c323()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c326?(s1=peg$c326,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c327)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c328()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c329?(s1=peg$c329,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c330)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c328()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c331?(s1=peg$c331,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c332)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c333()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c334?(s1=peg$c334,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c335)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c333()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c336?(s1=peg$c336,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c337)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c338()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c339?(s1=peg$c339,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c340)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c338()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c341?(s1=peg$c341,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c342)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c343()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c344?(s1=peg$c344,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c345)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c343()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c346?(s1=peg$c346,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c347)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c348()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c349?(s1=peg$c349,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c350)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c348()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c351?(s1=peg$c351,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c352)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c353()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c354?(s1=peg$c354,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c355)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c353()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c356?(s1=peg$c356,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c357)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c358()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c359?(s1=peg$c359,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c360)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c358()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c361?(s1=peg$c361,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c362)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c363()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c364?(s1=peg$c364,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c365)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c363()),(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$c368()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c369?(s1=peg$c369,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c370)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c368()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c371?(s1=peg$c371,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c372)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c373()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c374?(s1=peg$c374,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c375)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c373()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c376?(s1=peg$c376,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c377)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c378()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c379?(s1=peg$c379,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c380)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c378()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c381?(s1=peg$c381,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c382)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c383()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c384?(s1=peg$c384,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c385)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c383()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c386?(s1=peg$c386,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c387)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c388()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c389?(s1=peg$c389,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c390)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c388()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c391?(s1=peg$c391,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c392)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c393()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c394?(s1=peg$c394,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c395)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c393()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c396?(s1=peg$c396,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c397)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c398()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c399?(s1=peg$c399,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c400)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c398()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c401?(s1=peg$c401,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c402)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c403()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c404?(s1=peg$c404,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c405)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c403()),(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$c318()),(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$c318()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c410?(s1=peg$c410,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c411)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c412()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c413?(s1=peg$c413,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c414)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c412()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c415?(s1=peg$c415,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c416)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c417()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c418?(s1=peg$c418,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c419)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c417()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c420?(s1=peg$c420,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c421)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c422()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c423?(s1=peg$c423,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c424)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c422()),(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$c427()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c428?(s1=peg$c428,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c429)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c427()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c430?(s1=peg$c430,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c431)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c427()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c432?(s1=peg$c432,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c433)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c427()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c434?(s1=peg$c434,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c435)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c436()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c437?(s1=peg$c437,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c438)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c436()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c439?(s1=peg$c439,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c440)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c441()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c442?(s1=peg$c442,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c443)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c441()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c444?(s1=peg$c444,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c445)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c446()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c447?(s1=peg$c447,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c448)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c446()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c449?(s1=peg$c449,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c450)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c451()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c452?(s1=peg$c452,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c453)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c451()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c454?(s1=peg$c454,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c455)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c456()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c457?(s1=peg$c457,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c458)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c456()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c459?(s1=peg$c459,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c460)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c461()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c462?(s1=peg$c462,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c463)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c461()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c464?(s1=peg$c464,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c465)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c466()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c467?(s1=peg$c467,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c468)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c466()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c469?(s1=peg$c469,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c470)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c471()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c472?(s1=peg$c472,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c473)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c471()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c474?(s1=peg$c474,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c475)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c476()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c477?(s1=peg$c477,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c478)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c476()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c479?(s1=peg$c479,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c480)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c481()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c482?(s1=peg$c482,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c483)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c481()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c484?(s1=peg$c484,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c485)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c486()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c487?(s1=peg$c487,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c488)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c486()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c489?(s1=peg$c489,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c490)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c486()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c491?(s1=peg$c491,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c492)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c486()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c493?(s1=peg$c493,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c494)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c495()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c496?(s1=peg$c496,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c497)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c495()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c498?(s1=peg$c498,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c499)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c500()),(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$c500()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c503?(s1=peg$c503,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c504)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c505()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c506?(s1=peg$c506,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c507)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c505()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c508?(s1=peg$c508,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c509)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c510()),(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$c510()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c513?(s1=peg$c513,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c514)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c515()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c516?(s1=peg$c516,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c517)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c515()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c518?(s1=peg$c518,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c519)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c515()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c520?(s1=peg$c520,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c521)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c515()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c522?(s1=peg$c522,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c523)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c524()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c525?(s1=peg$c525,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c526)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c524()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c527?(s1=peg$c527,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c528)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c529()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c530?(s1=peg$c530,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c531)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c529()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c532?(s1=peg$c532,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c533)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c534()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c535?(s1=peg$c535,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c536)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c534()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c537?(s1=peg$c537,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c538)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c539()),(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$c539()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c542?(s1=peg$c542,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c543)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c544()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c545?(s1=peg$c545,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c546)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c544()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c547?(s1=peg$c547,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c548)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c549()),(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$c549()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c552?(s1=peg$c552,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c553)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c554()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c555?(s1=peg$c555,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c556)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c554()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c557?(s1=peg$c557,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c558)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c559()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c560?(s1=peg$c560,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c561)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c559()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c562?(s1=peg$c562,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c563)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c564()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c565?(s1=peg$c565,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c566)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c564()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c567?(s1=peg$c567,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c568)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c569()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c570?(s1=peg$c570,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c571)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c569()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c572?(s1=peg$c572,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c573)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c569()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c574?(s1=peg$c574,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c575)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c569()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c576?(s1=peg$c576,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c577)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c578()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c579?(s1=peg$c579,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c580)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c578()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c581?(s1=peg$c581,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c582)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c583()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c584?(s1=peg$c584,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c585)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c583()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c586?(s1=peg$c586,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c587)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c588()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c589?(s1=peg$c589,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c590)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c588()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c591?(s1=peg$c591,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c592)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c593()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c594?(s1=peg$c594,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c595)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c593()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c596?(s1=peg$c596,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c597)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c598()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c599?(s1=peg$c599,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c600)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c598()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c601?(s1=peg$c601,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c602)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c603()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c604?(s1=peg$c604,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c605)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c603()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c606?(s1=peg$c606,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c607)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c608()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c609?(s1=peg$c609,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c610)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c608()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c611?(s1=peg$c611,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c612)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c613()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c614?(s1=peg$c614,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c615)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c613()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c616?(s1=peg$c616,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c617)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c618()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c619?(s1=peg$c619,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c620)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c618()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c621?(s1=peg$c621,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c622)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c623()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c624?(s1=peg$c624,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c625)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c623()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c626?(s1=peg$c626,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c627)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c628()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c629?(s1=peg$c629,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c630)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c628()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c631?(s1=peg$c631,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c632)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c633()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c634?(s1=peg$c634,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c635)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c633()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c636?(s1=peg$c636,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c637)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c638()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c639?(s1=peg$c639,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c640)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c638()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c641?(s1=peg$c641,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c642)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c643()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c644?(s1=peg$c644,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c645)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c643()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c646?(s1=peg$c646,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c647)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c648()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c649?(s1=peg$c649,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c650)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c648()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,20)===peg$c651?(s1=peg$c651,peg$currPos+=20):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c652)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c653()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,20)===peg$c654?(s1=peg$c654,peg$currPos+=20):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c655)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c653()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c656?(s1=peg$c656,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c657)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c658()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c659?(s1=peg$c659,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c660)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c658()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c661?(s1=peg$c661,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c662)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c658()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c663?(s1=peg$c663,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c664)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c658()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c665?(s1=peg$c665,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c666)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c667()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c668?(s1=peg$c668,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c669)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c667()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c670?(s1=peg$c670,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c671)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c672()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c673?(s1=peg$c673,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c674)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c672()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c675?(s1=peg$c675,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c676)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c677()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c678?(s1=peg$c678,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c679)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c677()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c680?(s1=peg$c680,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c681)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c682()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c683?(s1=peg$c683,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c684)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c682()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c685?(s1=peg$c685,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c686)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c687()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c688?(s1=peg$c688,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c689)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c687()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c690?(s1=peg$c690,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c691)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c692()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c693?(s1=peg$c693,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c694)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c692()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c695?(s1=peg$c695,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c696)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c692()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c697?(s1=peg$c697,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c698)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c692()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c699?(s1=peg$c699,peg$currPos+=14):(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,14)===peg$c702?(s1=peg$c702,peg$currPos+=14):(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,11)===peg$c704?(s1=peg$c704,peg$currPos+=11):(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,11)===peg$c707?(s1=peg$c707,peg$currPos+=11):(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,9)===peg$c714?(s1=peg$c714,peg$currPos+=9):(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,9)===peg$c717?(s1=peg$c717,peg$currPos+=9):(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,5)===peg$c719?(s1=peg$c719,peg$currPos+=5):(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,5)===peg$c722?(s1=peg$c722,peg$currPos+=5):(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,7)===peg$c724?(s1=peg$c724,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c725)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c544()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c726?(s1=peg$c726,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c727)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c544()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c728?(s1=peg$c728,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c729)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c730()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c731?(s1=peg$c731,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c732)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c730()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,16)===peg$c733?(s1=peg$c733,peg$currPos+=16):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c734)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c735()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,16)===peg$c736?(s1=peg$c736,peg$currPos+=16):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c737)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c735()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c738?(s1=peg$c738,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c739)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c740()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c741?(s1=peg$c741,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c742)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c740()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c743?(s1=peg$c743,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c744)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c745()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c746?(s1=peg$c746,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c747)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c745()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c748?(s1=peg$c748,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c749)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c750()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c751?(s1=peg$c751,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c752)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c750()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c753?(s1=peg$c753,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c754)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c755()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c756?(s1=peg$c756,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c757)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c755()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c758?(s1=peg$c758,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c759)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c760()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c761?(s1=peg$c761,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c762)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c760()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,17)===peg$c763?(s1=peg$c763,peg$currPos+=17):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c764)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c765()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,17)===peg$c766?(s1=peg$c766,peg$currPos+=17):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c767)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c765()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c768?(s1=peg$c768,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c769)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c770()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c771?(s1=peg$c771,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c772)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c770()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c773?(s1=peg$c773,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c774)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c775()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c776?(s1=peg$c776,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c777)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c775()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c778?(s1=peg$c778,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c779)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c780()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c781?(s1=peg$c781,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c782)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c780()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c783?(s1=peg$c783,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c784)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c785()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c786?(s1=peg$c786,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c787)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c785()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c788?(s1=peg$c788,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c789)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c790()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c791?(s1=peg$c791,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c792)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c790()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c793?(s1=peg$c793,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c794)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c795()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c796?(s1=peg$c796,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c797)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c795()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c798?(s1=peg$c798,peg$currPos+=11):(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,11)===peg$c801?(s1=peg$c801,peg$currPos+=11):(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,4)===peg$c803?(s1=peg$c803,peg$currPos+=4):(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,4)===peg$c806?(s1=peg$c806,peg$currPos+=4):(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,7)===peg$c808?(s1=peg$c808,peg$currPos+=7):(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,7)===peg$c811?(s1=peg$c811,peg$currPos+=7):(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,5)===peg$c813?(s1=peg$c813,peg$currPos+=5):(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,5)===peg$c816?(s1=peg$c816,peg$currPos+=5):(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,9)===peg$c818?(s1=peg$c818,peg$currPos+=9):(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,9)===peg$c821?(s1=peg$c821,peg$currPos+=9):(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,6)===peg$c823?(s1=peg$c823,peg$currPos+=6):(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,6)===peg$c826?(s1=peg$c826,peg$currPos+=6):(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,9)===peg$c828?(s1=peg$c828,peg$currPos+=9):(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,9)===peg$c831?(s1=peg$c831,peg$currPos+=9):(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,6)===peg$c833?(s1=peg$c833,peg$currPos+=6):(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,6)===peg$c836?(s1=peg$c836,peg$currPos+=6):(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,13)===peg$c838?(s1=peg$c838,peg$currPos+=13):(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,13)===peg$c841?(s1=peg$c841,peg$currPos+=13):(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,9)===peg$c843?(s1=peg$c843,peg$currPos+=9):(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,9)===peg$c846?(s1=peg$c846,peg$currPos+=9):(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,13)===peg$c848?(s1=peg$c848,peg$currPos+=13):(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,13)===peg$c851?(s1=peg$c851,peg$currPos+=13):(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,13)===peg$c853?(s1=peg$c853,peg$currPos+=13):(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,13)===peg$c856?(s1=peg$c856,peg$currPos+=13):(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,10)===peg$c858?(s1=peg$c858,peg$currPos+=10):(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,10)===peg$c861?(s1=peg$c861,peg$currPos+=10):(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,9)===peg$c863?(s1=peg$c863,peg$currPos+=9):(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,9)===peg$c866?(s1=peg$c866,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c867)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c865()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c868?(s1=peg$c868,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c870()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c871?(s1=peg$c871,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c872)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c870()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c873?(s1=peg$c873,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c874)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c875()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c876?(s1=peg$c876,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c877)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c875()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c878?(s1=peg$c878,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c879)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c880()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c881?(s1=peg$c881,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c880()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c883?(s1=peg$c883,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c885()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c886?(s1=peg$c886,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c887)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c885()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c888?(s1=peg$c888,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c889)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c890()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c891?(s1=peg$c891,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c892)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c890()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c893?(s1=peg$c893,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c894)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c895()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c896?(s1=peg$c896,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c897)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c895()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c898?(s1=peg$c898,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c899)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c900()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c901?(s1=peg$c901,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c902)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c900()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c903?(s1=peg$c903,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c904)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c905()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c906?(s1=peg$c906,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c907)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c905()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c908?(s1=peg$c908,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c909)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c910()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c911?(s1=peg$c911,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c912)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c910()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c913?(s1=peg$c913,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c914)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c915()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c916?(s1=peg$c916,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c917)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c915()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c918?(s1=peg$c918,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c919)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c920()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c921?(s1=peg$c921,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c922)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c920()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c923?(s1=peg$c923,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c924)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c925()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c926?(s1=peg$c926,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c927)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c925()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c928?(s1=peg$c928,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c929)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c930()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c931?(s1=peg$c931,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c932)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c930()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c933?(s1=peg$c933,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c934)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c935()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c936?(s1=peg$c936,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c937)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c935()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c938?(s1=peg$c938,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c939)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c940()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c941?(s1=peg$c941,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c942)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c940()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c943?(s1=peg$c943,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c944)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c945()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c946?(s1=peg$c946,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c947)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c945()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c948?(s1=peg$c948,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c949)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c950()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c951?(s1=peg$c951,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c952)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c950()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c953?(s1=peg$c953,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c954)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c955()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c956?(s1=peg$c956,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c957)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c955()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c958?(s1=peg$c958,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c959)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c955()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c960?(s1=peg$c960,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c961)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c955()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c962?(s1=peg$c962,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c963)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c964()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c965?(s1=peg$c965,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c966)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c964()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c967?(s1=peg$c967,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c968)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c969()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c970?(s1=peg$c970,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c971)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c969()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c972?(s1=peg$c972,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c973)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c974()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c975?(s1=peg$c975,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c976)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c974()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c977?(s1=peg$c977,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c978)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c979()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c980?(s1=peg$c980,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c981)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c979()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c982?(s1=peg$c982,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c983)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c984()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c985?(s1=peg$c985,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c986)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c984()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c987?(s1=peg$c987,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c988)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c989()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c990?(s1=peg$c990,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c991)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c989()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c992?(s1=peg$c992,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c993)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c994()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c995?(s1=peg$c995,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c996)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c994()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c997?(s1=peg$c997,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c998)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c999()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c1000?(s1=peg$c1000,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1001)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c999()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c1002?(s1=peg$c1002,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1003)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1004()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c1005?(s1=peg$c1005,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1006)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1004()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c1007?(s1=peg$c1007,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1008)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1009()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c1010?(s1=peg$c1010,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1011)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1009()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c1012?(s1=peg$c1012,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1013)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1014()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c1015?(s1=peg$c1015,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1016)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1014()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c1017?(s1=peg$c1017,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1018)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1019()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c1020?(s1=peg$c1020,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1021)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1019()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c1022?(s1=peg$c1022,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1023)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1024()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c1025?(s1=peg$c1025,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1026)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1024()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c1027?(s1=peg$c1027,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1028)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1029()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c1030?(s1=peg$c1030,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1031)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1029()),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?(peg$savedPos=s0,s0=s1=peg$c1032(s1)):(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$c1033,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1034)),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$c1035(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$c1033,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1034)),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$c1036(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$c1033,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1034)),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$c1037(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$c1033,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1034)),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$c1038(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$c1039),s0}function peg$parseArrowItemKey(){var s0;return input.substr(peg$currPos,9)===peg$c1040?(s0=peg$c1040,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1041)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c1042?(s0=peg$c1042,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1043)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c1044?(s0=peg$c1044,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1045)))),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$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1050(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$c1052?(s2=peg$c1052,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1053)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1054(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$c1051)),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$c1055,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1057,peg$currPos++):(s5=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1058)),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1059(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$c1060,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1061)),s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1062(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$c1063,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1064)),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$c1065,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1066)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1067(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$c1068(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$c1048,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1069(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$c1070?(s0=peg$c1070,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1071)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c1072?(s0=peg$c1072,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1073))),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$c1046,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c1048,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1074(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$c1075?(s2=peg$c1075,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1076)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c1055,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1077?(s10=peg$c1077,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1078)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1079(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$c1080?(s0=peg$c1080,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1081)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c1082?(s0=peg$c1082,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1083)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c1084?(s0=peg$c1084,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1085)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c1086?(s0=peg$c1086,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1087))))),s0}function peg$parseStateItemShapeKey(){var s0;return input.substr(peg$currPos,8)===peg$c1088?(s0=peg$c1088,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1089)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c1090?(s0=peg$c1090,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1091)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c1092?(s0=peg$c1092,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1093)))),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$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1050(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$c1094?(s2=peg$c1094,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1095)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c1055,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1077?(s10=peg$c1077,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1078)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1096(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$c1070?(s0=peg$c1070,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1071)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c1072?(s0=peg$c1072,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1073))),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$c1046,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c1048,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1097(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$c1098?(s2=peg$c1098,peg$currPos+=6):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1099)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c1055,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1077?(s10=peg$c1077,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1078)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1100(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$c1070?(s0=peg$c1070,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1071)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c1072?(s0=peg$c1072,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1073))),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$c1046,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c1048,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1101(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$c1052?(s2=peg$c1052,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1053)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1103(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$c1102)),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$c1104?(s2=peg$c1104,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1105)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c1055,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1077?(s10=peg$c1077,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1078)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1106(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$c1107?(s2=peg$c1107,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1108)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1109(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$c1110?(s2=peg$c1110,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1111)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1112(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$c1113?(s2=peg$c1113,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1114)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1115(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$c1116?(s2=peg$c1116,peg$currPos+=14):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1117)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1118(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$c1119),s0}function peg$parseLicenseOrLabelOrList(){var s0;return input.substr(peg$currPos,3)===peg$c1120?(s0=peg$c1120,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1121)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c1122?(s0=peg$c1122,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1123)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c1124?(s0=peg$c1124,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1125)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c1126?(s0=peg$c1126,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1127)),s0===peg$FAILED&&(input.substr(peg$currPos,11)===peg$c1128?(s0=peg$c1128,peg$currPos+=11):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1129)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c1130?(s0=peg$c1130,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1131)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c1132?(s0=peg$c1132,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1133)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c1134?(s0=peg$c1134,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1135)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c1136?(s0=peg$c1136,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1137)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c1138?(s0=peg$c1138,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1139)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c1140?(s0=peg$c1140,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1141)),s0===peg$FAILED&&(s0=peg$parseLabel())===peg$FAILED&&(s0=peg$parseLabelList()))))))))))),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$c1142?(s2=peg$c1142,peg$currPos+=14):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1143)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1144(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$c1145?(s2=peg$c1145,peg$currPos+=19):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1146)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1147(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$c1148?(s2=peg$c1148,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1149)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1150(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$c1151?(s2=peg$c1151,peg$currPos+=18):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1152)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1153(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$c1154?(s2=peg$c1154,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1155)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1156(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$c1160?(s2=peg$c1160,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1161)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1162(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$c1163?(s2=peg$c1163,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1164)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1165(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$parseMachineLanguage(){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,16)===peg$c1166?(s2=peg$c1166,peg$currPos+=16):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1167)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1168(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$c1169?(s2=peg$c1169,peg$currPos+=11):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1170)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1171(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$parseMachineAttribute(){var s0;return peg$silentFails++,(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$parseMachineLanguage()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c1172),s0}function peg$parseSdNodeColor(){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$c1174?(s2=peg$c1174,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1175)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1176(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$c1173)),s0}function peg$parseSdNodeShape(){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$c1092?(s2=peg$c1092,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1093)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1178(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$c1177)),s0}function peg$parseStateDeclarationItems(){var s0;return(s0=peg$parseSdNodeColor())===peg$FAILED&&(s0=peg$parseSdNodeShape()),s0}function peg$parseStateDeclarationDesc(){var s0,s1,s2,s3,s4,s5;if(s0=peg$currPos,123===input.charCodeAt(peg$currPos)?(s1=peg$c1055,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),s1!==peg$FAILED)if((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED){for(s3=[],s4=peg$parseStateDeclarationItems();s4!==peg$FAILED;)s3.push(s4),s4=peg$parseStateDeclarationItems();s3!==peg$FAILED?((s4=peg$parseWS())===peg$FAILED&&(s4=null),s4!==peg$FAILED?(125===input.charCodeAt(peg$currPos)?(s5=peg$c1057,peg$currPos++):(s5=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1058)),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1059(s3)):(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;return s0}function peg$parseStateDeclaration(){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$parseLabel())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseStateDeclarationDesc())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1179(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$parseNamedList(){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?(38===input.charCodeAt(peg$currPos)?(s2=peg$c1180,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1181)),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$c1046,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1182(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$parseStateDeclaration())===peg$FAILED&&(s0=peg$parseNamedList())===peg$FAILED&&(s0=peg$parseMachineAttribute())===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="box",peg$c2=peg$literalExpectation("box",!1),peg$c3="polygon",peg$c4=peg$literalExpectation("polygon",!1),peg$c5="ellipse",peg$c6=peg$literalExpectation("ellipse",!1),peg$c7="oval",peg$c8=peg$literalExpectation("oval",!1),peg$c9="circle",peg$c10=peg$literalExpectation("circle",!1),peg$c11="point",peg$c12=peg$literalExpectation("point",!1),peg$c13="egg",peg$c14=peg$literalExpectation("egg",!1),peg$c15="triangle",peg$c16=peg$literalExpectation("triangle",!1),peg$c17="plaintext",peg$c18=peg$literalExpectation("plaintext",!1),peg$c19="plain",peg$c20=peg$literalExpectation("plain",!1),peg$c21="diamond",peg$c22=peg$literalExpectation("diamond",!1),peg$c23="trapezium",peg$c24=peg$literalExpectation("trapezium",!1),peg$c25="parallelogram",peg$c26=peg$literalExpectation("parallelogram",!1),peg$c27="house",peg$c28=peg$literalExpectation("house",!1),peg$c29="pentagon",peg$c30=peg$literalExpectation("pentagon",!1),peg$c31="hexagon",peg$c32=peg$literalExpectation("hexagon",!1),peg$c33="septagon",peg$c34=peg$literalExpectation("septagon",!1),peg$c35="octagon",peg$c36=peg$literalExpectation("octagon",!1),peg$c37="doublecircle",peg$c38=peg$literalExpectation("doublecircle",!1),peg$c39="doubleoctagon",peg$c40=peg$literalExpectation("doubleoctagon",!1),peg$c41="tripleoctagon",peg$c42=peg$literalExpectation("tripleoctagon",!1),peg$c43="invtriangle",peg$c44=peg$literalExpectation("invtriangle",!1),peg$c45="invtrapezium",peg$c46=peg$literalExpectation("invtrapezium",!1),peg$c47="invhouse",peg$c48=peg$literalExpectation("invhouse",!1),peg$c49="Mdiamond",peg$c50=peg$literalExpectation("Mdiamond",!1),peg$c51="Msquare",peg$c52=peg$literalExpectation("Msquare",!1),peg$c53="Mcircle",peg$c54=peg$literalExpectation("Mcircle",!1),peg$c55="rect",peg$c56=peg$literalExpectation("rect",!1),peg$c57="rectangle",peg$c58=peg$literalExpectation("rectangle",!1),peg$c59="square",peg$c60=peg$literalExpectation("square",!1),peg$c61="star",peg$c62=peg$literalExpectation("star",!1),peg$c63="none",peg$c64=peg$literalExpectation("none",!1),peg$c65="underline",peg$c66=peg$literalExpectation("underline",!1),peg$c67="cylinder",peg$c68=peg$literalExpectation("cylinder",!1),peg$c69="note",peg$c70=peg$literalExpectation("note",!1),peg$c71="tab",peg$c72=peg$literalExpectation("tab",!1),peg$c73="folder",peg$c74=peg$literalExpectation("folder",!1),peg$c75="box3d",peg$c76=peg$literalExpectation("box3d",!1),peg$c77="component",peg$c78=peg$literalExpectation("component",!1),peg$c79="promoter",peg$c80=peg$literalExpectation("promoter",!1),peg$c81="cds",peg$c82=peg$literalExpectation("cds",!1),peg$c83="terminator",peg$c84=peg$literalExpectation("terminator",!1),peg$c85="utr",peg$c86=peg$literalExpectation("utr",!1),peg$c87="primersite",peg$c88=peg$literalExpectation("primersite",!1),peg$c89="restrictionsite",peg$c90=peg$literalExpectation("restrictionsite",!1),peg$c91="fivepoverhang",peg$c92=peg$literalExpectation("fivepoverhang",!1),peg$c93="threepoverhang",peg$c94=peg$literalExpectation("threepoverhang",!1),peg$c95="noverhang",peg$c96=peg$literalExpectation("noverhang",!1),peg$c97="assembly",peg$c98=peg$literalExpectation("assembly",!1),peg$c99="signature",peg$c100=peg$literalExpectation("signature",!1),peg$c101="insulator",peg$c102=peg$literalExpectation("insulator",!1),peg$c103="ribosite",peg$c104=peg$literalExpectation("ribosite",!1),peg$c105="rnastab",peg$c106=peg$literalExpectation("rnastab",!1),peg$c107="proteasesite",peg$c108=peg$literalExpectation("proteasesite",!1),peg$c109="proteinstab",peg$c110=peg$literalExpectation("proteinstab",!1),peg$c111="rpromoter",peg$c112=peg$literalExpectation("rpromoter",!1),peg$c113="rarrow",peg$c114=peg$literalExpectation("rarrow",!1),peg$c115="larrow",peg$c116=peg$literalExpectation("larrow",!1),peg$c117="lpromoter",peg$c118=peg$literalExpectation("lpromoter",!1),peg$c119="record",peg$c120=peg$literalExpectation("record",!1),peg$c121=peg$otherExpectation("forward light arrow ->"),peg$c122="->",peg$c123=peg$literalExpectation("->",!1),peg$c124="→",peg$c125=peg$literalExpectation("→",!1),peg$c126=function(){return"->"},peg$c127=peg$otherExpectation("two way light arrow <->"),peg$c128="<->",peg$c129=peg$literalExpectation("<->",!1),peg$c130="↔",peg$c131=peg$literalExpectation("↔",!1),peg$c132=function(){return"<->"},peg$c133=peg$otherExpectation("back light arrow <-"),peg$c134="<-",peg$c135=peg$literalExpectation("<-",!1),peg$c136="←",peg$c137=peg$literalExpectation("←",!1),peg$c138=function(){return"<-"},peg$c139=peg$otherExpectation("forward fat arrow =>"),peg$c140="=>",peg$c141=peg$literalExpectation("=>",!1),peg$c142="⇒",peg$c143=peg$literalExpectation("⇒",!1),peg$c144=function(){return"=>"},peg$c145=peg$otherExpectation("two way fat arrow <=>"),peg$c146="<=>",peg$c147=peg$literalExpectation("<=>",!1),peg$c148="⇔",peg$c149=peg$literalExpectation("⇔",!1),peg$c150=function(){return"<=>"},peg$c151=peg$otherExpectation("back fat arrow <="),peg$c152="<=",peg$c153=peg$literalExpectation("<=",!1),peg$c154="⇐",peg$c155=peg$literalExpectation("⇐",!1),peg$c156=function(){return"<="},peg$c157=peg$otherExpectation("forward tilde arrow ~>"),peg$c158="~>",peg$c159=peg$literalExpectation("~>",!1),peg$c160="↛",peg$c161=peg$literalExpectation("↛",!1),peg$c162=function(){return"~>"},peg$c163=peg$otherExpectation("two way tilde arrow <~>"),peg$c164="<~>",peg$c165=peg$literalExpectation("<~>",!1),peg$c166="↮",peg$c167=peg$literalExpectation("↮",!1),peg$c168=function(){return"<~>"},peg$c169=peg$otherExpectation("back tilde arrow <~"),peg$c170="<~",peg$c171=peg$literalExpectation("<~",!1),peg$c172="↚",peg$c173=peg$literalExpectation("↚",!1),peg$c174=function(){return"<~"},peg$c175=peg$otherExpectation("light fat arrow <-=>"),peg$c176="<-=>",peg$c177=peg$literalExpectation("<-=>",!1),peg$c178="←⇒",peg$c179=peg$literalExpectation("←⇒",!1),peg$c180=function(){return"<-=>"},peg$c181=peg$otherExpectation("light tilde arrow <-~>"),peg$c182="<-~>",peg$c183=peg$literalExpectation("<-~>",!1),peg$c184="←↛",peg$c185=peg$literalExpectation("←↛",!1),peg$c186=function(){return"<-~>"},peg$c187=peg$otherExpectation("fat light arrow <=->"),peg$c188="<=->",peg$c189=peg$literalExpectation("<=->",!1),peg$c190="⇐→",peg$c191=peg$literalExpectation("⇐→",!1),peg$c192=function(){return"<=->"},peg$c193=peg$otherExpectation("fat tilde arrow <=~>"),peg$c194="<=~>",peg$c195=peg$literalExpectation("<=~>",!1),peg$c196="⇐↛",peg$c197=peg$literalExpectation("⇐↛",!1),peg$c198=function(){return"<=~>"},peg$c199=peg$otherExpectation("tilde light arrow <~->"),peg$c200="<~->",peg$c201=peg$literalExpectation("<~->",!1),peg$c202="↚→",peg$c203=peg$literalExpectation("↚→",!1),peg$c204=function(){return"<~->"},peg$c205=peg$otherExpectation("tilde fat arrow <~=>"),peg$c206="<~=>",peg$c207=peg$literalExpectation("<~=>",!1),peg$c208="↚⇒",peg$c209=peg$literalExpectation("↚⇒",!1),peg$c210=function(){return"<~=>"},peg$c211=peg$otherExpectation("light arrow"),peg$c212=peg$otherExpectation("fat arrow"),peg$c213=peg$otherExpectation("tilde arrow"),peg$c214=peg$otherExpectation("mixed arrow"),peg$c215=peg$otherExpectation("arrow"),peg$c216=/^[0-9a-fA-F]/,peg$c217=peg$classExpectation([["0","9"],["a","f"],["A","F"]],!1,!1),peg$c218='"',peg$c219=peg$literalExpectation('"',!1),peg$c220="\\",peg$c221=peg$literalExpectation("\\",!1),peg$c222="/",peg$c223=peg$literalExpectation("/",!1),peg$c224="b",peg$c225=peg$literalExpectation("b",!1),peg$c226=function(){return"\b"},peg$c227="f",peg$c228=peg$literalExpectation("f",!1),peg$c229=function(){return"\f"},peg$c230="n",peg$c231=peg$literalExpectation("n",!1),peg$c232=function(){return"\n"},peg$c233="r",peg$c234=peg$literalExpectation("r",!1),peg$c235=function(){return"\r"},peg$c236="t",peg$c237=peg$literalExpectation("t",!1),peg$c238=function(){return"\t"},peg$c239="v",peg$c240=peg$literalExpectation("v",!1),peg$c241=function(){return"\v"},peg$c242="u",peg$c243=peg$literalExpectation("u",!1),peg$c244=function(digits){return String.fromCharCode(parseInt(digits,16))},peg$c245=function(Sequence){return Sequence},peg$c246=/^[ -!#-[\]-\u10FFFF]/,peg$c247=peg$classExpectation([[" ","!"],["#","["],["]","ჿ"],"F","F"],!1,!1),peg$c248="'",peg$c249=peg$literalExpectation("'",!1),peg$c250=/^[ -&(-[\]-\u10FFFF]/,peg$c251=peg$classExpectation([[" ","&"],["(","["],["]","ჿ"],"F","F"],!1,!1),peg$c252=peg$otherExpectation("action label"),peg$c253=function(chars){return chars.join("")},peg$c254=/^[\n\r\u2028\u2029]/,peg$c255=peg$classExpectation(["\n","\r","\u2028","\u2029"],!1,!1),peg$c258=(peg$classExpectation([" ","\t","\n","\r","\v"],!1,!1),"*/"),peg$c259=peg$literalExpectation("*/",!1),peg$c260={type:"any"},peg$c261=peg$otherExpectation("block comment"),peg$c262="/*",peg$c263=peg$literalExpectation("/*",!1),peg$c264=peg$otherExpectation("line comment"),peg$c265="//",peg$c266=peg$literalExpectation("//",!1),peg$c267=peg$otherExpectation("whitespace"),peg$c268=/^[ \t\r\n\x0B]/,peg$c269=peg$classExpectation([" ","\t","\r","\n","\v"],!1,!1),peg$c270=peg$otherExpectation("string"),peg$c271=/^[0-9a-zA-Z.+_!$\^*!?,\x80-\uFFFF]/,peg$c272=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","_","!","$","^","*","!","?",",",["€","￿"]],!1,!1),peg$c273=/^[0-9a-zA-Z.+=_\^()*&$#@!?,\x80-\uFFFF]/,peg$c274=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","=","_","^","(",")","*","&","$","#","@","!","?",",",["€","￿"]],!1,!1),peg$c275=peg$otherExpectation("atom"),peg$c276=function(firstletter,text){return firstletter+(text||[]).join("")},peg$c277=peg$otherExpectation("label"),peg$c278="0",peg$c279=peg$literalExpectation("0",!1),peg$c280=/^[0-9]/,peg$c281=peg$classExpectation([["0","9"]],!1,!1),peg$c282=/^[1-9]/,peg$c283=peg$classExpectation([["1","9"]],!1,!1),peg$c284=peg$otherExpectation("nonneg number"),peg$c285=".",peg$c286=peg$literalExpectation(".",!1),peg$c287=function(){return parseFloat(text())},peg$c288=function(major,minor,patch){return{major:parseInt(major,10),minor:parseInt(minor,10),patch:parseInt(patch,10),full:text()}},peg$c299=(peg$literalExpectation("^",!1),peg$literalExpectation("~",!1),peg$literalExpectation(">=",!1),peg$literalExpectation("<",!1),peg$literalExpectation(">",!1),"http://"),peg$c300=peg$literalExpectation("http://",!1),peg$c301="https://",peg$c302=peg$literalExpectation("https://",!1),peg$c303=/^[a-zA-Z0-9!*'():;@&=+$,\/?#[\]_.~\-]/,peg$c304=peg$classExpectation([["a","z"],["A","Z"],["0","9"],"!","*","'","(",")",":",";","@","&","=","+","$",",","/","?","#","[","]","_",".","~","-"],!1,!1),peg$c305=function(protocol){return text()},peg$c306="aliceblue",peg$c307=peg$literalExpectation("aliceblue",!1),peg$c308=function(){return"#f0f8ffff"},peg$c309="AliceBlue",peg$c310=peg$literalExpectation("AliceBlue",!1),peg$c311="antiquewhite",peg$c312=peg$literalExpectation("antiquewhite",!1),peg$c313=function(){return"#faebd7ff"},peg$c314="AntiqueWhite",peg$c315=peg$literalExpectation("AntiqueWhite",!1),peg$c316="aqua",peg$c317=peg$literalExpectation("aqua",!1),peg$c318=function(){return"#00ffffff"},peg$c319="Aqua",peg$c320=peg$literalExpectation("Aqua",!1),peg$c321="aquamarine",peg$c322=peg$literalExpectation("aquamarine",!1),peg$c323=function(){return"#7fffd4ff"},peg$c324="Aquamarine",peg$c325=peg$literalExpectation("Aquamarine",!1),peg$c326="azure",peg$c327=peg$literalExpectation("azure",!1),peg$c328=function(){return"#f0ffffff"},peg$c329="Azure",peg$c330=peg$literalExpectation("Azure",!1),peg$c331="beige",peg$c332=peg$literalExpectation("beige",!1),peg$c333=function(){return"#f5f5dcff"},peg$c334="Beige",peg$c335=peg$literalExpectation("Beige",!1),peg$c336="bisque",peg$c337=peg$literalExpectation("bisque",!1),peg$c338=function(){return"#ffe4c4ff"},peg$c339="Bisque",peg$c340=peg$literalExpectation("Bisque",!1),peg$c341="black",peg$c342=peg$literalExpectation("black",!1),peg$c343=function(){return"#000000ff"},peg$c344="Black",peg$c345=peg$literalExpectation("Black",!1),peg$c346="blanchedalmond",peg$c347=peg$literalExpectation("blanchedalmond",!1),peg$c348=function(){return"#ffebcdff"},peg$c349="BlanchedAlmond",peg$c350=peg$literalExpectation("BlanchedAlmond",!1),peg$c351="blue",peg$c352=peg$literalExpectation("blue",!1),peg$c353=function(){return"#0000ffff"},peg$c354="Blue",peg$c355=peg$literalExpectation("Blue",!1),peg$c356="blueviolet",peg$c357=peg$literalExpectation("blueviolet",!1),peg$c358=function(){return"#8a2be2ff"},peg$c359="BlueViolet",peg$c360=peg$literalExpectation("BlueViolet",!1),peg$c361="brown",peg$c362=peg$literalExpectation("brown",!1),peg$c363=function(){return"#a52a2aff"},peg$c364="Brown",peg$c365=peg$literalExpectation("Brown",!1),peg$c366="burlywood",peg$c367=peg$literalExpectation("burlywood",!1),peg$c368=function(){return"#deb887ff"},peg$c369="BurlyWood",peg$c370=peg$literalExpectation("BurlyWood",!1),peg$c371="cadetblue",peg$c372=peg$literalExpectation("cadetblue",!1),peg$c373=function(){return"#5f9ea0ff"},peg$c374="CadetBlue",peg$c375=peg$literalExpectation("CadetBlue",!1),peg$c376="chartreuse",peg$c377=peg$literalExpectation("chartreuse",!1),peg$c378=function(){return"#7fff00ff"},peg$c379="Chartreuse",peg$c380=peg$literalExpectation("Chartreuse",!1),peg$c381="chocolate",peg$c382=peg$literalExpectation("chocolate",!1),peg$c383=function(){return"#d2691eff"},peg$c384="Chocolate",peg$c385=peg$literalExpectation("Chocolate",!1),peg$c386="coral",peg$c387=peg$literalExpectation("coral",!1),peg$c388=function(){return"#ff7f50ff"},peg$c389="Coral",peg$c390=peg$literalExpectation("Coral",!1),peg$c391="cornflowerblue",peg$c392=peg$literalExpectation("cornflowerblue",!1),peg$c393=function(){return"#6495edff"},peg$c394="CornflowerBlue",peg$c395=peg$literalExpectation("CornflowerBlue",!1),peg$c396="cornsilk",peg$c397=peg$literalExpectation("cornsilk",!1),peg$c398=function(){return"#fff8dcff"},peg$c399="Cornsilk",peg$c400=peg$literalExpectation("Cornsilk",!1),peg$c401="crimson",peg$c402=peg$literalExpectation("crimson",!1),peg$c403=function(){return"#dc143cff"},peg$c404="Crimson",peg$c405=peg$literalExpectation("Crimson",!1),peg$c406="cyan",peg$c407=peg$literalExpectation("cyan",!1),peg$c408="Cyan",peg$c409=peg$literalExpectation("Cyan",!1),peg$c410="darkblue",peg$c411=peg$literalExpectation("darkblue",!1),peg$c412=function(){return"#00008bff"},peg$c413="DarkBlue",peg$c414=peg$literalExpectation("DarkBlue",!1),peg$c415="darkcyan",peg$c416=peg$literalExpectation("darkcyan",!1),peg$c417=function(){return"#008b8bff"},peg$c418="DarkCyan",peg$c419=peg$literalExpectation("DarkCyan",!1),peg$c420="darkgoldenrod",peg$c421=peg$literalExpectation("darkgoldenrod",!1),peg$c422=function(){return"#b8860bff"},peg$c423="DarkGoldenRod",peg$c424=peg$literalExpectation("DarkGoldenRod",!1),peg$c425="darkgray",peg$c426=peg$literalExpectation("darkgray",!1),peg$c427=function(){return"#a9a9a9ff"},peg$c428="DarkGray",peg$c429=peg$literalExpectation("DarkGray",!1),peg$c430="darkgrey",peg$c431=peg$literalExpectation("darkgrey",!1),peg$c432="DarkGrey",peg$c433=peg$literalExpectation("DarkGrey",!1),peg$c434="darkgreen",peg$c435=peg$literalExpectation("darkgreen",!1),peg$c436=function(){return"#006400ff"},peg$c437="DarkGreen",peg$c438=peg$literalExpectation("DarkGreen",!1),peg$c439="darkkhaki",peg$c440=peg$literalExpectation("darkkhaki",!1),peg$c441=function(){return"#bdb76bff"},peg$c442="DarkKhaki",peg$c443=peg$literalExpectation("DarkKhaki",!1),peg$c444="darkmagenta",peg$c445=peg$literalExpectation("darkmagenta",!1),peg$c446=function(){return"#8b008bff"},peg$c447="DarkMagenta",peg$c448=peg$literalExpectation("DarkMagenta",!1),peg$c449="darkolivegreen",peg$c450=peg$literalExpectation("darkolivegreen",!1),peg$c451=function(){return"#556b2fff"},peg$c452="DarkOliveGreen",peg$c453=peg$literalExpectation("DarkOliveGreen",!1),peg$c454="darkorange",peg$c455=peg$literalExpectation("darkorange",!1),peg$c456=function(){return"#ff8c00ff"},peg$c457="Darkorange",peg$c458=peg$literalExpectation("Darkorange",!1),peg$c459="darkorchid",peg$c460=peg$literalExpectation("darkorchid",!1),peg$c461=function(){return"#9932ccff"},peg$c462="DarkOrchid",peg$c463=peg$literalExpectation("DarkOrchid",!1),peg$c464="darkred",peg$c465=peg$literalExpectation("darkred",!1),peg$c466=function(){return"#8b0000ff"},peg$c467="DarkRed",peg$c468=peg$literalExpectation("DarkRed",!1),peg$c469="darksalmon",peg$c470=peg$literalExpectation("darksalmon",!1),peg$c471=function(){return"#e9967aff"},peg$c472="DarkSalmon",peg$c473=peg$literalExpectation("DarkSalmon",!1),peg$c474="darkseagreen",peg$c475=peg$literalExpectation("darkseagreen",!1),peg$c476=function(){return"#8fbc8fff"},peg$c477="DarkSeaGreen",peg$c478=peg$literalExpectation("DarkSeaGreen",!1),peg$c479="darkslateblue",peg$c480=peg$literalExpectation("darkslateblue",!1),peg$c481=function(){return"#483d8bff"},peg$c482="DarkSlateBlue",peg$c483=peg$literalExpectation("DarkSlateBlue",!1),peg$c484="darkslategray",peg$c485=peg$literalExpectation("darkslategray",!1),peg$c486=function(){return"#2f4f4fff"},peg$c487="DarkSlateGray",peg$c488=peg$literalExpectation("DarkSlateGray",!1),peg$c489="darkslategrey",peg$c490=peg$literalExpectation("darkslategrey",!1),peg$c491="DarkSlateGrey",peg$c492=peg$literalExpectation("DarkSlateGrey",!1),peg$c493="darkturquoise",peg$c494=peg$literalExpectation("darkturquoise",!1),peg$c495=function(){return"#00ced1ff"},peg$c496="DarkTurquoise",peg$c497=peg$literalExpectation("DarkTurquoise",!1),peg$c498="darkviolet",peg$c499=peg$literalExpectation("darkviolet",!1),peg$c500=function(){return"#9400d3ff"},peg$c501="DarkViolet",peg$c502=peg$literalExpectation("DarkViolet",!1),peg$c503="deeppink",peg$c504=peg$literalExpectation("deeppink",!1),peg$c505=function(){return"#ff1493ff"},peg$c506="DeepPink",peg$c507=peg$literalExpectation("DeepPink",!1),peg$c508="deepskyblue",peg$c509=peg$literalExpectation("deepskyblue",!1),peg$c510=function(){return"#00bfffff"},peg$c511="DeepSkyBlue",peg$c512=peg$literalExpectation("DeepSkyBlue",!1),peg$c513="dimgray",peg$c514=peg$literalExpectation("dimgray",!1),peg$c515=function(){return"#696969ff"},peg$c516="DimGray",peg$c517=peg$literalExpectation("DimGray",!1),peg$c518="dimgrey",peg$c519=peg$literalExpectation("dimgrey",!1),peg$c520="DimGrey",peg$c521=peg$literalExpectation("DimGrey",!1),peg$c522="dodgerblue",peg$c523=peg$literalExpectation("dodgerblue",!1),peg$c524=function(){return"#1e90ffff"},peg$c525="DodgerBlue",peg$c526=peg$literalExpectation("DodgerBlue",!1),peg$c527="firebrick",peg$c528=peg$literalExpectation("firebrick",!1),peg$c529=function(){return"#b22222ff"},peg$c530="FireBrick",peg$c531=peg$literalExpectation("FireBrick",!1),peg$c532="floralwhite",peg$c533=peg$literalExpectation("floralwhite",!1),peg$c534=function(){return"#fffaf0ff"},peg$c535="FloralWhite",peg$c536=peg$literalExpectation("FloralWhite",!1),peg$c537="forestgreen",peg$c538=peg$literalExpectation("forestgreen",!1),peg$c539=function(){return"#228b22ff"},peg$c540="ForestGreen",peg$c541=peg$literalExpectation("ForestGreen",!1),peg$c542="fuchsia",peg$c543=peg$literalExpectation("fuchsia",!1),peg$c544=function(){return"#ff00ffff"},peg$c545="Fuchsia",peg$c546=peg$literalExpectation("Fuchsia",!1),peg$c547="gainsboro",peg$c548=peg$literalExpectation("gainsboro",!1),peg$c549=function(){return"#dcdcdcff"},peg$c550="Gainsboro",peg$c551=peg$literalExpectation("Gainsboro",!1),peg$c552="ghostwhite",peg$c553=peg$literalExpectation("ghostwhite",!1),peg$c554=function(){return"#f8f8ffff"},peg$c555="GhostWhite",peg$c556=peg$literalExpectation("GhostWhite",!1),peg$c557="gold",peg$c558=peg$literalExpectation("gold",!1),peg$c559=function(){return"#ffd700ff"},peg$c560="Gold",peg$c561=peg$literalExpectation("Gold",!1),peg$c562="goldenrod",peg$c563=peg$literalExpectation("goldenrod",!1),peg$c564=function(){return"#daa520ff"},peg$c565="GoldenRod",peg$c566=peg$literalExpectation("GoldenRod",!1),peg$c567="gray",peg$c568=peg$literalExpectation("gray",!1),peg$c569=function(){return"#808080ff"},peg$c570="Gray",peg$c571=peg$literalExpectation("Gray",!1),peg$c572="grey",peg$c573=peg$literalExpectation("grey",!1),peg$c574="Grey",peg$c575=peg$literalExpectation("Grey",!1),peg$c576="green",peg$c577=peg$literalExpectation("green",!1),peg$c578=function(){return"#008000ff"},peg$c579="Green",peg$c580=peg$literalExpectation("Green",!1),peg$c581="greenyellow",peg$c582=peg$literalExpectation("greenyellow",!1),peg$c583=function(){return"#adff2fff"},peg$c584="GreenYellow",peg$c585=peg$literalExpectation("GreenYellow",!1),peg$c586="honeydew",peg$c587=peg$literalExpectation("honeydew",!1),peg$c588=function(){return"#f0fff0ff"},peg$c589="HoneyDew",peg$c590=peg$literalExpectation("HoneyDew",!1),peg$c591="hotpink",peg$c592=peg$literalExpectation("hotpink",!1),peg$c593=function(){return"#ff69b4ff"},peg$c594="HotPink",peg$c595=peg$literalExpectation("HotPink",!1),peg$c596="indianred",peg$c597=peg$literalExpectation("indianred",!1),peg$c598=function(){return"#cd5c5cff"},peg$c599="IndianRed",peg$c600=peg$literalExpectation("IndianRed",!1),peg$c601="indigo",peg$c602=peg$literalExpectation("indigo",!1),peg$c603=function(){return"#4b0082ff"},peg$c604="Indigo",peg$c605=peg$literalExpectation("Indigo",!1),peg$c606="ivory",peg$c607=peg$literalExpectation("ivory",!1),peg$c608=function(){return"#fffff0ff"},peg$c609="Ivory",peg$c610=peg$literalExpectation("Ivory",!1),peg$c611="khaki",peg$c612=peg$literalExpectation("khaki",!1),peg$c613=function(){return"#f0e68cff"},peg$c614="Khaki",peg$c615=peg$literalExpectation("Khaki",!1),peg$c616="lavender",peg$c617=peg$literalExpectation("lavender",!1),peg$c618=function(){return"#e6e6faff"},peg$c619="Lavender",peg$c620=peg$literalExpectation("Lavender",!1),peg$c621="lavenderblush",peg$c622=peg$literalExpectation("lavenderblush",!1),peg$c623=function(){return"#fff0f5ff"},peg$c624="LavenderBlush",peg$c625=peg$literalExpectation("LavenderBlush",!1),peg$c626="lawngreen",peg$c627=peg$literalExpectation("lawngreen",!1),peg$c628=function(){return"#7cfc00ff"},peg$c629="LawnGreen",peg$c630=peg$literalExpectation("LawnGreen",!1),peg$c631="lemonchiffon",peg$c632=peg$literalExpectation("lemonchiffon",!1),peg$c633=function(){return"#fffacdff"},peg$c634="LemonChiffon",peg$c635=peg$literalExpectation("LemonChiffon",!1),peg$c636="lightblue",peg$c637=peg$literalExpectation("lightblue",!1),peg$c638=function(){return"#add8e6ff"},peg$c639="LightBlue",peg$c640=peg$literalExpectation("LightBlue",!1),peg$c641="lightcoral",peg$c642=peg$literalExpectation("lightcoral",!1),peg$c643=function(){return"#f08080ff"},peg$c644="LightCoral",peg$c645=peg$literalExpectation("LightCoral",!1),peg$c646="lightcyan",peg$c647=peg$literalExpectation("lightcyan",!1),peg$c648=function(){return"#e0ffffff"},peg$c649="LightCyan",peg$c650=peg$literalExpectation("LightCyan",!1),peg$c651="lightgoldenrodyellow",peg$c652=peg$literalExpectation("lightgoldenrodyellow",!1),peg$c653=function(){return"#fafad2ff"},peg$c654="LightGoldenRodYellow",peg$c655=peg$literalExpectation("LightGoldenRodYellow",!1),peg$c656="lightgray",peg$c657=peg$literalExpectation("lightgray",!1),peg$c658=function(){return"#d3d3d3ff"},peg$c659="LightGray",peg$c660=peg$literalExpectation("LightGray",!1),peg$c661="lightgrey",peg$c662=peg$literalExpectation("lightgrey",!1),peg$c663="LightGrey",peg$c664=peg$literalExpectation("LightGrey",!1),peg$c665="lightgreen",peg$c666=peg$literalExpectation("lightgreen",!1),peg$c667=function(){return"#90ee90ff"},peg$c668="LightGreen",peg$c669=peg$literalExpectation("LightGreen",!1),peg$c670="lightpink",peg$c671=peg$literalExpectation("lightpink",!1),peg$c672=function(){return"#ffb6c1ff"},peg$c673="LightPink",peg$c674=peg$literalExpectation("LightPink",!1),peg$c675="lightsalmon",peg$c676=peg$literalExpectation("lightsalmon",!1),peg$c677=function(){return"#ffa07aff"},peg$c678="LightSalmon",peg$c679=peg$literalExpectation("LightSalmon",!1),peg$c680="lightseagreen",peg$c681=peg$literalExpectation("lightseagreen",!1),peg$c682=function(){return"#20b2aaff"},peg$c683="LightSeaGreen",peg$c684=peg$literalExpectation("LightSeaGreen",!1),peg$c685="lightskyblue",peg$c686=peg$literalExpectation("lightskyblue",!1),peg$c687=function(){return"#87cefaff"},peg$c688="LightSkyBlue",peg$c689=peg$literalExpectation("LightSkyBlue",!1),peg$c690="lightslategray",peg$c691=peg$literalExpectation("lightslategray",!1),peg$c692=function(){return"#778899ff"},peg$c693="LightSlateGray",peg$c694=peg$literalExpectation("LightSlateGray",!1),peg$c695="lightslategrey",peg$c696=peg$literalExpectation("lightslategrey",!1),peg$c697="LightSlateGrey",peg$c698=peg$literalExpectation("LightSlateGrey",!1),peg$c699="lightsteelblue",peg$c700=peg$literalExpectation("lightsteelblue",!1),peg$c701=function(){return"#b0c4deff"},peg$c702="LightSteelBlue",peg$c703=peg$literalExpectation("LightSteelBlue",!1),peg$c704="lightyellow",peg$c705=peg$literalExpectation("lightyellow",!1),peg$c706=function(){return"#ffffe0ff"},peg$c707="LightYellow",peg$c708=peg$literalExpectation("LightYellow",!1),peg$c709="lime",peg$c710=peg$literalExpectation("lime",!1),peg$c711=function(){return"#00ff00ff"},peg$c712="Lime",peg$c713=peg$literalExpectation("Lime",!1),peg$c714="limegreen",peg$c715=peg$literalExpectation("limegreen",!1),peg$c716=function(){return"#32cd32ff"},peg$c717="LimeGreen",peg$c718=peg$literalExpectation("LimeGreen",!1),peg$c719="linen",peg$c720=peg$literalExpectation("linen",!1),peg$c721=function(){return"#faf0e6ff"},peg$c722="Linen",peg$c723=peg$literalExpectation("Linen",!1),peg$c724="magenta",peg$c725=peg$literalExpectation("magenta",!1),peg$c726="Magenta",peg$c727=peg$literalExpectation("Magenta",!1),peg$c728="maroon",peg$c729=peg$literalExpectation("maroon",!1),peg$c730=function(){return"#800000ff"},peg$c731="Maroon",peg$c732=peg$literalExpectation("Maroon",!1),peg$c733="mediumaquamarine",peg$c734=peg$literalExpectation("mediumaquamarine",!1),peg$c735=function(){return"#66cdaaff"},peg$c736="MediumAquaMarine",peg$c737=peg$literalExpectation("MediumAquaMarine",!1),peg$c738="mediumblue",peg$c739=peg$literalExpectation("mediumblue",!1),peg$c740=function(){return"#0000cdff"},peg$c741="MediumBlue",peg$c742=peg$literalExpectation("MediumBlue",!1),peg$c743="mediumorchid",peg$c744=peg$literalExpectation("mediumorchid",!1),peg$c745=function(){return"#ba55d3ff"},peg$c746="MediumOrchid",peg$c747=peg$literalExpectation("MediumOrchid",!1),peg$c748="mediumpurple",peg$c749=peg$literalExpectation("mediumpurple",!1),peg$c750=function(){return"#9370d8ff"},peg$c751="MediumPurple",peg$c752=peg$literalExpectation("MediumPurple",!1),peg$c753="mediumseagreen",peg$c754=peg$literalExpectation("mediumseagreen",!1),peg$c755=function(){return"#3cb371ff"},peg$c756="MediumSeaGreen",peg$c757=peg$literalExpectation("MediumSeaGreen",!1),peg$c758="mediumslateblue",peg$c759=peg$literalExpectation("mediumslateblue",!1),peg$c760=function(){return"#7b68eeff"},peg$c761="MediumSlateBlue",peg$c762=peg$literalExpectation("MediumSlateBlue",!1),peg$c763="mediumspringgreen",peg$c764=peg$literalExpectation("mediumspringgreen",!1),peg$c765=function(){return"#00fa9aff"},peg$c766="MediumSpringGreen",peg$c767=peg$literalExpectation("MediumSpringGreen",!1),peg$c768="mediumturquoise",peg$c769=peg$literalExpectation("mediumturquoise",!1),peg$c770=function(){return"#48d1ccff"},peg$c771="MediumTurquoise",peg$c772=peg$literalExpectation("MediumTurquoise",!1),peg$c773="mediumvioletred",peg$c774=peg$literalExpectation("mediumvioletred",!1),peg$c775=function(){return"#c71585ff"},peg$c776="MediumVioletRed",peg$c777=peg$literalExpectation("MediumVioletRed",!1),peg$c778="midnightblue",peg$c779=peg$literalExpectation("midnightblue",!1),peg$c780=function(){return"#191970ff"},peg$c781="MidnightBlue",peg$c782=peg$literalExpectation("MidnightBlue",!1),peg$c783="mintcream",peg$c784=peg$literalExpectation("mintcream",!1),peg$c785=function(){return"#f5fffaff"},peg$c786="MintCream",peg$c787=peg$literalExpectation("MintCream",!1),peg$c788="mistyrose",peg$c789=peg$literalExpectation("mistyrose",!1),peg$c790=function(){return"#ffe4e1ff"},peg$c791="MistyRose",peg$c792=peg$literalExpectation("MistyRose",!1),peg$c793="moccasin",peg$c794=peg$literalExpectation("moccasin",!1),peg$c795=function(){return"#ffe4b5ff"},peg$c796="Moccasin",peg$c797=peg$literalExpectation("Moccasin",!1),peg$c798="navajowhite",peg$c799=peg$literalExpectation("navajowhite",!1),peg$c800=function(){return"#ffdeadff"},peg$c801="NavajoWhite",peg$c802=peg$literalExpectation("NavajoWhite",!1),peg$c803="navy",peg$c804=peg$literalExpectation("navy",!1),peg$c805=function(){return"#000080ff"},peg$c806="Navy",peg$c807=peg$literalExpectation("Navy",!1),peg$c808="oldlace",peg$c809=peg$literalExpectation("oldlace",!1),peg$c810=function(){return"#fdf5e6ff"},peg$c811="OldLace",peg$c812=peg$literalExpectation("OldLace",!1),peg$c813="olive",peg$c814=peg$literalExpectation("olive",!1),peg$c815=function(){return"#808000ff"},peg$c816="Olive",peg$c817=peg$literalExpectation("Olive",!1),peg$c818="olivedrab",peg$c819=peg$literalExpectation("olivedrab",!1),peg$c820=function(){return"#6b8e23ff"},peg$c821="OliveDrab",peg$c822=peg$literalExpectation("OliveDrab",!1),peg$c823="orange",peg$c824=peg$literalExpectation("orange",!1),peg$c825=function(){return"#ffa500ff"},peg$c826="Orange",peg$c827=peg$literalExpectation("Orange",!1),peg$c828="orangered",peg$c829=peg$literalExpectation("orangered",!1),peg$c830=function(){return"#ff4500ff"},peg$c831="OrangeRed",peg$c832=peg$literalExpectation("OrangeRed",!1),peg$c833="orchid",peg$c834=peg$literalExpectation("orchid",!1),peg$c835=function(){return"#da70d6ff"},peg$c836="Orchid",peg$c837=peg$literalExpectation("Orchid",!1),peg$c838="palegoldenrod",peg$c839=peg$literalExpectation("palegoldenrod",!1),peg$c840=function(){return"#eee8aaff"},peg$c841="PaleGoldenRod",peg$c842=peg$literalExpectation("PaleGoldenRod",!1),peg$c843="palegreen",peg$c844=peg$literalExpectation("palegreen",!1),peg$c845=function(){return"#98fb98ff"},peg$c846="PaleGreen",peg$c847=peg$literalExpectation("PaleGreen",!1),peg$c848="paleturquoise",peg$c849=peg$literalExpectation("paleturquoise",!1),peg$c850=function(){return"#afeeeeff"},peg$c851="PaleTurquoise",peg$c852=peg$literalExpectation("PaleTurquoise",!1),peg$c853="palevioletred",peg$c854=peg$literalExpectation("palevioletred",!1),peg$c855=function(){return"#d87093ff"},peg$c856="PaleVioletRed",peg$c857=peg$literalExpectation("PaleVioletRed",!1),peg$c858="papayawhip",peg$c859=peg$literalExpectation("papayawhip",!1),peg$c860=function(){return"#ffefd5ff"},peg$c861="PapayaWhip",peg$c862=peg$literalExpectation("PapayaWhip",!1),peg$c863="peachpuff",peg$c864=peg$literalExpectation("peachpuff",!1),peg$c865=function(){return"#ffdab9ff"},peg$c866="PeachPuff",peg$c867=peg$literalExpectation("PeachPuff",!1),peg$c868="peru",peg$c869=peg$literalExpectation("peru",!1),peg$c870=function(){return"#cd853fff"},peg$c871="Peru",peg$c872=peg$literalExpectation("Peru",!1),peg$c873="pink",peg$c874=peg$literalExpectation("pink",!1),peg$c875=function(){return"#ffc0cbff"},peg$c876="Pink",peg$c877=peg$literalExpectation("Pink",!1),peg$c878="plum",peg$c879=peg$literalExpectation("plum",!1),peg$c880=function(){return"#dda0ddff"},peg$c881="Plum",peg$c882=peg$literalExpectation("Plum",!1),peg$c883="powderblue",peg$c884=peg$literalExpectation("powderblue",!1),peg$c885=function(){return"#b0e0e6ff"},peg$c886="PowderBlue",peg$c887=peg$literalExpectation("PowderBlue",!1),peg$c888="purple",peg$c889=peg$literalExpectation("purple",!1),peg$c890=function(){return"#800080ff"},peg$c891="Purple",peg$c892=peg$literalExpectation("Purple",!1),peg$c893="red",peg$c894=peg$literalExpectation("red",!1),peg$c895=function(){return"#ff0000ff"},peg$c896="Red",peg$c897=peg$literalExpectation("Red",!1),peg$c898="rosybrown",peg$c899=peg$literalExpectation("rosybrown",!1),peg$c900=function(){return"#bc8f8fff"},peg$c901="RosyBrown",peg$c902=peg$literalExpectation("RosyBrown",!1),peg$c903="royalblue",peg$c904=peg$literalExpectation("royalblue",!1),peg$c905=function(){return"#4169e1ff"},peg$c906="RoyalBlue",peg$c907=peg$literalExpectation("RoyalBlue",!1),peg$c908="saddlebrown",peg$c909=peg$literalExpectation("saddlebrown",!1),peg$c910=function(){return"#8b4513ff"},peg$c911="SaddleBrown",peg$c912=peg$literalExpectation("SaddleBrown",!1),peg$c913="salmon",peg$c914=peg$literalExpectation("salmon",!1),peg$c915=function(){return"#fa8072ff"},peg$c916="Salmon",peg$c917=peg$literalExpectation("Salmon",!1),peg$c918="sandybrown",peg$c919=peg$literalExpectation("sandybrown",!1),peg$c920=function(){return"#f4a460ff"},peg$c921="SandyBrown",peg$c922=peg$literalExpectation("SandyBrown",!1),peg$c923="seagreen",peg$c924=peg$literalExpectation("seagreen",!1),peg$c925=function(){return"#2e8b57ff"},peg$c926="SeaGreen",peg$c927=peg$literalExpectation("SeaGreen",!1),peg$c928="seashell",peg$c929=peg$literalExpectation("seashell",!1),peg$c930=function(){return"#fff5eeff"},peg$c931="SeaShell",peg$c932=peg$literalExpectation("SeaShell",!1),peg$c933="sienna",peg$c934=peg$literalExpectation("sienna",!1),peg$c935=function(){return"#a0522dff"},peg$c936="Sienna",peg$c937=peg$literalExpectation("Sienna",!1),peg$c938="silver",peg$c939=peg$literalExpectation("silver",!1),peg$c940=function(){return"#c0c0c0ff"},peg$c941="Silver",peg$c942=peg$literalExpectation("Silver",!1),peg$c943="skyblue",peg$c944=peg$literalExpectation("skyblue",!1),peg$c945=function(){return"#87ceebff"},peg$c946="SkyBlue",peg$c947=peg$literalExpectation("SkyBlue",!1),peg$c948="slateblue",peg$c949=peg$literalExpectation("slateblue",!1),peg$c950=function(){return"#6a5acdff"},peg$c951="SlateBlue",peg$c952=peg$literalExpectation("SlateBlue",!1),peg$c953="slategray",peg$c954=peg$literalExpectation("slategray",!1),peg$c955=function(){return"#708090ff"},peg$c956="SlateGray",peg$c957=peg$literalExpectation("SlateGray",!1),peg$c958="slategrey",peg$c959=peg$literalExpectation("slategrey",!1),peg$c960="SlateGrey",peg$c961=peg$literalExpectation("SlateGrey",!1),peg$c962="snow",peg$c963=peg$literalExpectation("snow",!1),peg$c964=function(){return"#fffafaff"},peg$c965="Snow",peg$c966=peg$literalExpectation("Snow",!1),peg$c967="springgreen",peg$c968=peg$literalExpectation("springgreen",!1),peg$c969=function(){return"#00ff7fff"},peg$c970="SpringGreen",peg$c971=peg$literalExpectation("SpringGreen",!1),peg$c972="steelblue",peg$c973=peg$literalExpectation("steelblue",!1),peg$c974=function(){return"#4682b4ff"},peg$c975="SteelBlue",peg$c976=peg$literalExpectation("SteelBlue",!1),peg$c977="tan",peg$c978=peg$literalExpectation("tan",!1),peg$c979=function(){return"#d2b48cff"},peg$c980="Tan",peg$c981=peg$literalExpectation("Tan",!1),peg$c982="teal",peg$c983=peg$literalExpectation("teal",!1),peg$c984=function(){return"#008080ff"},peg$c985="Teal",peg$c986=peg$literalExpectation("Teal",!1),peg$c987="thistle",peg$c988=peg$literalExpectation("thistle",!1),peg$c989=function(){return"#d8bfd8ff"},peg$c990="Thistle",peg$c991=peg$literalExpectation("Thistle",!1),peg$c992="tomato",peg$c993=peg$literalExpectation("tomato",!1),peg$c994=function(){return"#ff6347ff"},peg$c995="Tomato",peg$c996=peg$literalExpectation("Tomato",!1),peg$c997="turquoise",peg$c998=peg$literalExpectation("turquoise",!1),peg$c999=function(){return"#40e0d0ff"},peg$c1000="Turquoise",peg$c1001=peg$literalExpectation("Turquoise",!1),peg$c1002="violet",peg$c1003=peg$literalExpectation("violet",!1),peg$c1004=function(){return"#ee82eeff"},peg$c1005="Violet",peg$c1006=peg$literalExpectation("Violet",!1),peg$c1007="wheat",peg$c1008=peg$literalExpectation("wheat",!1),peg$c1009=function(){return"#f5deb3ff"},peg$c1010="Wheat",peg$c1011=peg$literalExpectation("Wheat",!1),peg$c1012="white",peg$c1013=peg$literalExpectation("white",!1),peg$c1014=function(){return"#ffffffff"},peg$c1015="White",peg$c1016=peg$literalExpectation("White",!1),peg$c1017="whitesmoke",peg$c1018=peg$literalExpectation("whitesmoke",!1),peg$c1019=function(){return"#f5f5f5ff"},peg$c1020="WhiteSmoke",peg$c1021=peg$literalExpectation("WhiteSmoke",!1),peg$c1022="yellow",peg$c1023=peg$literalExpectation("yellow",!1),peg$c1024=function(){return"#ffff00ff"},peg$c1025="Yellow",peg$c1026=peg$literalExpectation("Yellow",!1),peg$c1027="yellowgreen",peg$c1028=peg$literalExpectation("yellowgreen",!1),peg$c1029=function(){return"#9acd32ff"},peg$c1030="YellowGreen",peg$c1031=peg$literalExpectation("YellowGreen",!1),peg$c1032=function(lab){return lab},peg$c1033="#",peg$c1034=peg$literalExpectation("#",!1),peg$c1035=function(r,g,b){return""+r+r+g+g+b+b+"ff"},peg$c1036=function(r1,r2,g1,g2,b1,b2){return""+r1+r2+g1+g2+b1+b2+"ff"},peg$c1037=function(r,g,b,a){return""+r+r+g+g+b+b+a+a},peg$c1038=function(r1,r2,g1,g2,b1,b2,a1,a2){return""+r1+r2+g1+g2+b1+b2+a1+a2},peg$c1039=peg$otherExpectation("color"),peg$c1040="arc_label",peg$c1041=peg$literalExpectation("arc_label",!1),peg$c1042="head_label",peg$c1043=peg$literalExpectation("head_label",!1),peg$c1044="tail_label",peg$c1045=peg$literalExpectation("tail_label",!1),peg$c1046=":",peg$c1047=peg$literalExpectation(":",!1),peg$c1048=";",peg$c1049=peg$literalExpectation(";",!1),peg$c1050=function(key,value){return{key:key,value:value}},peg$c1051=peg$otherExpectation("single edge color"),peg$c1052="edge_color",peg$c1053=peg$literalExpectation("edge_color",!1),peg$c1054=function(value){return{key:"single_edge_color",value:value}},peg$c1055="{",peg$c1056=peg$literalExpectation("{",!1),peg$c1057="}",peg$c1058=peg$literalExpectation("}",!1),peg$c1059=function(items){return items},peg$c1060="%",peg$c1061=peg$literalExpectation("%",!1),peg$c1062=function(value){return{key:"arrow probability",value:value}},peg$c1063="[",peg$c1064=peg$literalExpectation("[",!1),peg$c1065="]",peg$c1066=peg$literalExpectation("]",!1),peg$c1067=function(names){return names.map(function(i){return i[0]})},peg$c1068=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$c1069=function(label,se){var base={key:"transition",from:label};return se&&se!==[]&&(base.se=se),base},peg$c1070="whargarbl",peg$c1071=peg$literalExpectation("whargarbl",!1),peg$c1072="todo",peg$c1073=peg$literalExpectation("todo",!1),peg$c1074=function(validationkey,value){return{key:validationkey,value:value}},peg$c1075="validation",peg$c1076=peg$literalExpectation("validation",!1),peg$c1077="};",peg$c1078=peg$literalExpectation("};",!1),peg$c1079=function(validation_items){return{config_kind:"validation",config_items:validation_items||[]}},peg$c1080="dot",peg$c1081=peg$literalExpectation("dot",!1),peg$c1082="circo",peg$c1083=peg$literalExpectation("circo",!1),peg$c1084="fdp",peg$c1085=peg$literalExpectation("fdp",!1),peg$c1086="neato",peg$c1087=peg$literalExpectation("neato",!1),peg$c1088="in_shape",peg$c1089=peg$literalExpectation("in_shape",!1),peg$c1090="out_shape",peg$c1091=peg$literalExpectation("out_shape",!1),peg$c1092="node_shape",peg$c1093=peg$literalExpectation("node_shape",!1),peg$c1094="state",peg$c1095=peg$literalExpectation("state",!1),peg$c1096=function(state_items){return{config_kind:"state",config_items:state_items||[]}},peg$c1097=function(actionkey,value){return{key:actionkey,value:value}},peg$c1098="action",peg$c1099=peg$literalExpectation("action",!1),peg$c1100=function(action_items){return{config_kind:"action",config_items:action_items||[]}},peg$c1101=function(transitionkey,value){return{key:transitionkey,value:value}},peg$c1102=peg$otherExpectation("graph default edge color"),peg$c1103=function(value){return{key:"graph_default_edge_color",value:value}},peg$c1104="transition",peg$c1105=peg$literalExpectation("transition",!1),peg$c1106=function(transition_items){return{config_kind:"transition",config_items:transition_items||[]}},peg$c1107="graph_layout",peg$c1108=peg$literalExpectation("graph_layout",!1),peg$c1109=function(value){return{key:"graph_layout",value:value}},peg$c1110="start_states",peg$c1111=peg$literalExpectation("start_states",!1),peg$c1112=function(value){return{key:"start_states",value:value}},peg$c1113="end_states",peg$c1114=peg$literalExpectation("end_states",!1),peg$c1115=function(value){return{key:"end_states",value:value}},peg$c1116="graph_bg_color",peg$c1117=peg$literalExpectation("graph_bg_color",!1),peg$c1118=function(value){return{key:"graph_bg_color",value:value}},peg$c1119=peg$otherExpectation("configuration"),peg$c1120="MIT",peg$c1121=peg$literalExpectation("MIT",!1),peg$c1122="BSD 2-clause",peg$c1123=peg$literalExpectation("BSD 2-clause",!1),peg$c1124="BSD 3-clause",peg$c1125=peg$literalExpectation("BSD 3-clause",!1),peg$c1126="Apache 2.0",peg$c1127=peg$literalExpectation("Apache 2.0",!1),peg$c1128="Mozilla 2.0",peg$c1129=peg$literalExpectation("Mozilla 2.0",!1),peg$c1130="Public domain",peg$c1131=peg$literalExpectation("Public domain",!1),peg$c1132="GPL v2",peg$c1133=peg$literalExpectation("GPL v2",!1),peg$c1134="GPL v3",peg$c1135=peg$literalExpectation("GPL v3",!1),peg$c1136="LGPL v2.1",peg$c1137=peg$literalExpectation("LGPL v2.1",!1),peg$c1138="LGPL v3.0",peg$c1139=peg$literalExpectation("LGPL v3.0",!1),peg$c1140="Unknown",peg$c1141=peg$literalExpectation("Unknown",!1),peg$c1142="machine_author",peg$c1143=peg$literalExpectation("machine_author",!1),peg$c1144=function(author){return{key:"machine_author",value:author}},peg$c1145="machine_contributor",peg$c1146=peg$literalExpectation("machine_contributor",!1),peg$c1147=function(contributor){return{key:"machine_contributor",value:contributor}},peg$c1148="machine_comment",peg$c1149=peg$literalExpectation("machine_comment",!1),peg$c1150=function(comment){return{key:"machine_comment",value:comment}},peg$c1151="machine_definition",peg$c1152=peg$literalExpectation("machine_definition",!1),peg$c1153=function(definition){return{key:"machine_definition",value:definition}},peg$c1154="machine_name",peg$c1155=peg$literalExpectation("machine_name",!1),peg$c1156=function(name){return{key:"machine_name",value:name}},peg$c1160=(peg$literalExpectation("machine_reference",!1),"machine_version"),peg$c1161=peg$literalExpectation("machine_version",!1),peg$c1162=function(version){return{key:"machine_version",value:version}},peg$c1163="machine_license",peg$c1164=peg$literalExpectation("machine_license",!1),peg$c1165=function(license){return{key:"machine_license",value:license}},peg$c1166="machine_language",peg$c1167=peg$literalExpectation("machine_language",!1),peg$c1168=function(language){return{key:"machine_language",value:language}},peg$c1169="fsl_version",peg$c1170=peg$literalExpectation("fsl_version",!1),peg$c1171=function(fsl_version){return{key:"fsl_version",value:fsl_version}},peg$c1172=peg$otherExpectation("machine attribute"),peg$c1173=peg$otherExpectation("node color"),peg$c1174="node_color",peg$c1175=peg$literalExpectation("node_color",!1),peg$c1176=function(value){return{key:"node_color",value:value}},peg$c1177=peg$otherExpectation("node shape"),peg$c1178=function(value){return{key:"node_shape",value:value}},peg$c1179=function(state_name,decl_desc){return{key:"state_declaration",name:state_name,value:decl_desc}},peg$c1180="&",peg$c1181=peg$literalExpectation("&",!1),peg$c1182=function(list_name,contents){return{key:"named_list",name:list_name,value:contents}},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,opts,prob_prop,extract){return histograph(weighted_sample_select(n,opts,prob_prop).map(function(s){return s[extract]}))},exports.weighted_rand_select=weighted_rand_select,exports.weighted_sample_select=weighted_sample_select},{}],3:[function(require,module,exports){var reductions=require("./reductions.json");module.exports={reduce:function(from){return reductions[(from||"").toLowerCase()]},reductions:reductions}},{"./reductions.json":4}],4:[function(require,module,exports){module.exports={abkhazian:"ab","аҧсуа бызшәа, аҧсшәа":"ab",ab:"ab",abk:"ab","аҧсуа бызшәа":"ab","аҧсшәа":"ab",afar:"aa",afaraf:"aa",aa:"aa",aar:"aa",afrikaans:"af",af:"af",afr:"af",akan:"ak",ak:"ak",aka:"ak","aka + 2":"ak",albanian:"sq",shqip:"sq",sq:"sq",sqi:"sq",alb:"sq","sqi + 4":"sq",amharic:"am","አማርኛ":"am",am:"am",amh:"am",arabic:"ar","العربية":"ar",ar:"ar",ara:"ar","ara + 30":"ar",aragonese:"an","aragonés":"an",an:"an",arg:"an",armenian:"hy","հայերեն":"hy",hy:"hy",hye:"hy",arm:"hy",assamese:"as","অসমীয়া":"as",as:"as",asm:"as",avaric:"av","авар мацӏ, магӏарул мацӏ":"av",av:"av",ava:"av","авар мацӏ":"av","магӏарул мацӏ":"av",avestan:"ae",avesta:"ae",ae:"ae",ave:"ae",aymara:"ay","aymar aru":"ay",ay:"ay",aym:"ay","aym + 2":"ay",azerbaijani:"az","azərbaycan dili":"az",az:"az",aze:"az","aze + 2":"az",bambara:"bm",bamanankan:"bm",bm:"bm",bam:"bm",bashkir:"ba","башҡорт теле":"ba",ba:"ba",bak:"ba",basque:"eu","euskara, euskera":"eu",eu:"eu",eus:"eu",baq:"eu",euskara:"eu",euskera:"eu",belarusian:"be","беларуская мова":"be",be:"be",bel:"be",bengali:"bn","বাংলা":"bn",bn:"bn",ben:"bn","bihari languages":"bh","भोजपुरी":"bh",bh:"bh",bih:"bh","":"bh",bislama:"bi",bi:"bi",bis:"bi",bosnian:"bs","bosanski jezik":"bs",bs:"bs",bos:"bs",breton:"br",brezhoneg:"br",br:"br",bre:"br",bulgarian:"bg","български език":"bg",bg:"bg",bul:"bg",burmese:"my","ဗမာစာ":"my",my:"my",mya:"my",bur:"my","catalan, valencian":"ca","català, valencià":"ca",ca:"ca",cat:"ca","català":"ca","valencià":"ca",chamorro:"ch",chamoru:"ch",ch:"ch",cha:"ch",chechen:"ce","нохчийн мотт":"ce",ce:"ce",che:"ce","chichewa, chewa, nyanja":"ny","chicheŵa, chinyanja":"ny",ny:"ny",nya:"ny","chicheŵa":"ny",chinyanja:"ny",chinese:"zh","中文 (zhōngwén), 汉语, 漢語":"zh",zh:"zh",zho:"zh",chi:"zh","zho + 13":"zh","中文 (zhōngwén)":"zh","汉语":"zh","漢語":"zh",chuvash:"cv","чӑваш чӗлхи":"cv",cv:"cv",chv:"cv",cornish:"kw",kernewek:"kw",kw:"kw",cor:"kw",corsican:"co","corsu, lingua corsa":"co",co:"co",cos:"co",corsu:"co","lingua corsa":"co",cree:"cr","ᓀᐦᐃᔭᐍᐏᐣ":"cr",cr:"cr",cre:"cr","cre + 6":"cr",croatian:"hr","hrvatski jezik":"hr",hr:"hr",hrv:"hr",czech:"cs","čeština, český jazyk":"cs",cs:"cs",ces:"cs",cze:"cs","čeština":"cs","český jazyk":"cs",danish:"da",dansk:"da",da:"da",dan:"da","divehi, dhivehi, maldivian":"dv","ދިވެހި":"dv",dv:"dv",div:"dv","dutch, flemish":"nl","nederlands, vlaams":"nl",nl:"nl",nld:"nl",dut:"nl",nederlands:"nl",vlaams:"nl",dzongkha:"dz","རྫོང་ཁ":"dz",dz:"dz",dzo:"dz",english:"en",en:"en",eng:"en",esperanto:"eo",eo:"eo",epo:"eo",estonian:"et","eesti, eesti keel":"et",et:"et",est:"et","est + 2":"et",eesti:"et","eesti keel":"et",ewe:"ee","eʋegbe":"ee",ee:"ee",faroese:"fo","føroyskt":"fo",fo:"fo",fao:"fo",fijian:"fj","vosa vakaviti":"fj",fj:"fj",fij:"fj",finnish:"fi","suomi, suomen kieli":"fi",fi:"fi",fin:"fi",suomi:"fi","suomen kieli":"fi",french:"fr","français, langue française":"fr",fr:"fr",fra:"fr",fre:"fr","français":"fr","langue française":"fr",fulah:"ff","fulfulde, pulaar, pular":"ff",ff:"ff",ful:"ff","ful + 9":"ff",fulfulde:"ff",pulaar:"ff",pular:"ff",galician:"gl",galego:"gl",gl:"gl",glg:"gl",georgian:"ka","ქართული":"ka",ka:"ka",kat:"ka",geo:"ka",german:"de",deutsch:"de",de:"de",deu:"de",ger:"de","greek (modern)":"el","ελληνικά":"el",el:"el",ell:"el",gre:"el","guaraní":"gn","avañe'ẽ":"gn",gn:"gn",grn:"gn","grn + 5":"gn",gujarati:"gu","ગુજરાતી":"gu",gu:"gu",guj:"gu","haitian, haitian creole":"ht","kreyòl ayisyen":"ht",ht:"ht",hat:"ht",hausa:"ha","(hausa) هَوُسَ":"ha",ha:"ha",hau:"ha","hebrew (modern)":"he","עברית":"he",he:"he",heb:"he",herero:"hz",otjiherero:"hz",hz:"hz",her:"hz",hindi:"hi","हिन्दी, हिंदी":"hi",hi:"hi",hin:"hi","हिन्दी":"hi","हिंदी":"hi","hiri motu":"ho",ho:"ho",hmo:"ho",hungarian:"hu",magyar:"hu",hu:"hu",hun:"hu",interlingua:"ia",ia:"ia",ina:"ia",indonesian:"id","bahasa indonesia":"id",id:"id",ind:"id",interlingue:"ie","originally called occidental; then interlingue after wwii":"ie",ie:"ie",ile:"ie",irish:"ga",gaeilge:"ga",ga:"ga",gle:"ga",igbo:"ig","asụsụ igbo":"ig",ig:"ig",ibo:"ig",inupiaq:"ik","iñupiaq, iñupiatun":"ik",ik:"ik",ipk:"ik","ipk + 2":"ik","iñupiaq":"ik","iñupiatun":"ik",ido:"io",io:"io",icelandic:"is","íslenska":"is",is:"is",isl:"is",ice:"is",italian:"it",italiano:"it",it:"it",ita:"it",inuktitut:"iu","ᐃᓄᒃᑎᑐᑦ":"iu",iu:"iu",iku:"iu","iku + 2":"iu",japanese:"ja","日本語 (にほんご)":"ja",ja:"ja",jpn:"ja",javanese:"jv","ꦧꦱꦗꦮ, basa jawa":"jv",jv:"jv",jav:"jv","ꦧꦱꦗꦮ":"jv","basa jawa":"jv","kalaallisut, greenlandic":"kl","kalaallisut, kalaallit oqaasii":"kl",kl:"kl",kal:"kl",kalaallisut:"kl","kalaallit oqaasii":"kl",kannada:"kn","ಕನ್ನಡ":"kn",kn:"kn",kan:"kn",kanuri:"kr",kr:"kr",kau:"kr","kau + 3":"kr",kashmiri:"ks","कश्मीरी, كشميري‎":"ks",ks:"ks",kas:"ks","कश्मीरी":"ks","كشميري‎":"ks",kazakh:"kk","қазақ тілі":"kk",kk:"kk",kaz:"kk","central khmer":"km","ខ្មែរ, ខេមរភាសា, ភាសាខ្មែរ":"km",km:"km",khm:"km","ខ្មែរ":"km","ខេមរភាសា":"km","ភាសាខ្មែរ":"km","kikuyu, gikuyu":"ki","gĩkũyũ":"ki",ki:"ki",kik:"ki",kinyarwanda:"rw",ikinyarwanda:"rw",rw:"rw",kin:"rw","kirghiz, kyrgyz":"ky","кыргызча, кыргыз тили":"ky",ky:"ky",kir:"ky","кыргызча":"ky","кыргыз тили":"ky",komi:"kv","коми кыв":"kv",kv:"kv",kom:"kv","kom + 2":"kv",kongo:"kg",kikongo:"kg",kg:"kg",kon:"kg","kon + 3":"kg",korean:"ko","한국어":"ko",ko:"ko",kor:"ko",kurdish:"ku","kurdî, كوردی‎":"ku",ku:"ku",kur:"ku","kur + 3":"ku","kurdî":"ku","كوردی‎":"ku","kuanyama, kwanyama":"kj",kuanyama:"kj",kj:"kj",kua:"kj",latin:"la","latine, lingua latina":"la",la:"la",lat:"la",latine:"la","lingua latina":"la","luxembourgish, letzeburgesch":"lb","lëtzebuergesch":"lb",lb:"lb",ltz:"lb",ganda:"lg",luganda:"lg",lg:"lg",lug:"lg","limburgan, limburger, limburgish":"li",limburgs:"li",li:"li",lim:"li",lingala:"ln","lingála":"ln",ln:"ln",lin:"ln",lao:"lo","ພາສາລາວ":"lo",lo:"lo",lithuanian:"lt","lietuvių kalba":"lt",lt:"lt",lit:"lt","luba-katanga":"lu",kiluba:"lu",lu:"lu",lub:"lu",latvian:"lv","latviešu valoda":"lv",lv:"lv",lav:"lv","lav + 2":"lv",manx:"gv","gaelg, gailck":"gv",gv:"gv",glv:"gv",gaelg:"gv",gailck:"gv",macedonian:"mk","македонски јазик":"mk",mk:"mk",mkd:"mk",mac:"mk",malagasy:"mg","fiteny malagasy":"mg",mg:"mg",mlg:"mg","mlg + 10":"mg",malay:"ms","bahasa melayu, بهاس ملايو‎":"ms",ms:"ms",msa:"ms",may:"ms","msa + 13":"ms","bahasa melayu":"ms","بهاس ملايو‎":"ms",malayalam:"ml","മലയാളം":"ml",ml:"ml",mal:"ml",maltese:"mt",malti:"mt",mt:"mt",mlt:"mt",maori:"mi","te reo māori":"mi",mi:"mi",mri:"mi",mao:"mi",marathi:"mr","मराठी":"mr",mr:"mr",mar:"mr",marshallese:"mh","kajin m̧ajeļ":"mh",mh:"mh",mah:"mh",mongolian:"mn","монгол хэл":"mn",mn:"mn",mon:"mn","mon + 2":"mn",nauru:"na","dorerin naoero":"na",na:"na",nau:"na","navajo, navaho":"nv","diné bizaad":"nv",nv:"nv",nav:"nv","north ndebele":"nd",isindebele:"nr",nd:"nd",nde:"nd",nepali:"ne","नेपाली":"ne",ne:"ne",nep:"ne",ndonga:"ng",owambo:"ng",ng:"ng",ndo:"ng","norwegian bokmål":"nb","norsk bokmål":"nb",nb:"nb",nob:"nb","norwegian nynorsk":"nn","norsk nynorsk":"nn",nn:"nn",nno:"nn",norwegian:"no",norsk:"no",no:"no",nor:"no","nor + 2":"no","sichuan yi, nuosu":"ii","ꆈꌠ꒿ nuosuhxop":"ii",ii:"ii",iii:"ii","south ndebele":"nr",nr:"nr",nbl:"nr",occitan:"oc","occitan, lenga d'òc":"oc",oc:"oc",oci:"oc","lenga d'òc":"oc",ojibwa:"oj","ᐊᓂᔑᓈᐯᒧᐎᓐ":"oj",oj:"oj",oji:"oj","oji + 7":"oj","church slavic, church slavonic, old church slavonic, old slavonic, old bulgarian":"cu","ѩзыкъ словѣньскъ":"cu",cu:"cu",chu:"cu",oromo:"om","afaan oromoo":"om",om:"om",orm:"om","orm + 4":"om",oriya:"or","ଓଡ଼ିଆ":"or",or:"or",ori:"or","ossetian, ossetic":"os","ирон æвзаг":"os",os:"os",oss:"os","panjabi, punjabi":"pa","ਪੰਜਾਬੀ":"pa",pa:"pa",pan:"pa",pali:"pi","पाऴि":"pi",pi:"pi",pli:"pi",persian:"fa","فارسی":"fa",fa:"fa",fas:"fa",per:"fa","fas + 2":"fa",polish:"pl","język polski, polszczyzna":"pl",pl:"pl",pol:"pl","język polski":"pl",polszczyzna:"pl","pashto, pushto":"ps","پښتو":"ps",ps:"ps",pus:"ps","pus + 3":"ps",portuguese:"pt","português":"pt",pt:"pt",por:"pt",quechua:"qu","runa simi, kichwa":"qu",qu:"qu",que:"qu","que + 44":"qu","runa simi":"qu",kichwa:"qu",romansh:"rm","rumantsch grischun":"rm",rm:"rm",roh:"rm",rundi:"rn",ikirundi:"rn",rn:"rn",run:"rn","romanian, moldavian, moldovan":"ro","română":"ro",ro:"ro",ron:"ro",rum:"ro",russian:"ru","русский":"ru",ru:"ru",rus:"ru",sanskrit:"sa","संस्कृतम्":"sa",sa:"sa",san:"sa",sardinian:"sc",sardu:"sc",sc:"sc",srd:"sc","srd + 4":"sc",sindhi:"sd","सिन्धी, سنڌي، سندھی‎":"sd",sd:"sd",snd:"sd","सिन्धी":"sd","سنڌي، سندھی‎":"sd","northern sami":"se","davvisámegiella":"se",se:"se",sme:"se",samoan:"sm","gagana fa'a samoa":"sm",sm:"sm",smo:"sm",sango:"sg","yângâ tî sängö":"sg",sg:"sg",sag:"sg",serbian:"sr","српски језик":"sr",sr:"sr",srp:"sr","gaelic, scottish gaelic":"gd","gàidhlig":"gd",gd:"gd",gla:"gd",shona:"sn",chishona:"sn",sn:"sn",sna:"sn","sinhala, sinhalese":"si","සිංහල":"si",si:"si",sin:"si",slovak:"sk","slovenčina, slovenský jazyk":"sk",sk:"sk",slk:"sk",slo:"sk","slovenčina":"sk","slovenský jazyk":"sk",slovenian:"sl","slovenski jezik, slovenščina":"sl",sl:"sl",slv:"sl","slovenski jezik":"sl","slovenščina":"sl",somali:"so","soomaaliga, af soomaali":"so",so:"so",som:"so",soomaaliga:"so","af soomaali":"so","southern sotho":"st",sesotho:"st",st:"st",sot:"st","spanish, castilian":"es","español":"es",es:"es",spa:"es",sundanese:"su","basa sunda":"su",su:"su",sun:"su",swahili:"sw",kiswahili:"sw",sw:"sw",swa:"sw","swa + 2":"sw",swati:"ss",siswati:"ss",ss:"ss",ssw:"ss",swedish:"sv",svenska:"sv",sv:"sv",swe:"sv",tamil:"ta","தமிழ்":"ta",ta:"ta",tam:"ta",telugu:"te","తెలుగు":"te",te:"te",tel:"te",tajik:"tg","тоҷикӣ, toçikī, تاجیکی‎":"tg",tg:"tg",tgk:"tg","тоҷикӣ":"tg","toçikī":"tg","تاجیکی‎":"tg",thai:"th","ไทย":"th",th:"th",tha:"th",tigrinya:"ti","ትግርኛ":"ti",ti:"ti",tir:"ti",tibetan:"bo","བོད་ཡིག":"bo",bo:"bo",bod:"bo",tib:"bo",turkmen:"tk","türkmen, түркмен":"tk",tk:"tk",tuk:"tk","türkmen":"tk","түркмен":"tk",tagalog:"tl","wikang tagalog":"tl",tl:"tl",tgl:"tl",tswana:"tn",setswana:"tn",tn:"tn",tsn:"tn","tonga (tonga islands)":"to","faka tonga":"to",to:"to",ton:"to",turkish:"tr","türkçe":"tr",tr:"tr",tur:"tr",tsonga:"ts",xitsonga:"ts",ts:"ts",tso:"ts",tatar:"tt","татар теле, tatar tele":"tt",tt:"tt",tat:"tt","татар теле":"tt","tatar tele":"tt",twi:"tw",tw:"tw",tahitian:"ty","reo tahiti":"ty",ty:"ty",tah:"ty","uighur, uyghur":"ug","ئۇيغۇرچە‎, uyghurche":"ug",ug:"ug",uig:"ug","ئۇيغۇرچە‎":"ug",uyghurche:"ug",ukrainian:"uk","українська":"uk",uk:"uk",ukr:"uk",urdu:"ur","اردو":"ur",ur:"ur",urd:"ur",uzbek:"uz","oʻzbek, ўзбек, أۇزبېك‎":"uz",uz:"uz",uzb:"uz","uzb + 2":"uz","oʻzbek":"uz","ўзбек":"uz","أۇزبېك‎":"uz",venda:"ve","tshivenḓa":"ve",ve:"ve",ven:"ve",vietnamese:"vi","tiếng việt":"vi",vi:"vi",vie:"vi","volapük":"vo",vo:"vo",vol:"vo",walloon:"wa",walon:"wa",wa:"wa",wln:"wa",welsh:"cy",cymraeg:"cy",cy:"cy",cym:"cy",wel:"cy",wolof:"wo",wollof:"wo",wo:"wo",wol:"wo","western frisian":"fy",frysk:"fy",fy:"fy",fry:"fy",xhosa:"xh",isixhosa:"xh",xh:"xh",xho:"xh",yiddish:"yi","ייִדיש":"yi",yi:"yi",yid:"yi","yid + 2":"yi",yoruba:"yo","yorùbá":"yo",yo:"yo",yor:"yo","zhuang, chuang":"za","saɯ cueŋƅ, saw cuengh":"za",za:"za",zha:"za","zha + 16":"za","saɯ cueŋƅ":"za","saw cuengh":"za",zulu:"zu",isizulu:"zu",zu:"zu",zul:"zu"}},{}],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"=>":case"⇒":case"~>":case"↛":return"none";case"<-":case"←":case"<->":case"↔":case"<-=>":case"←⇒":case"<-~>":case"←↛":return"legal";case"<=":case"⇐":case"<=>":case"⇔":case"<=->":case"⇐→":case"<=~>":case"⇐↛":return"main";case"<~":case"↚":case"<~>":case"↮":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"<=":case"⇐":case"<~":case"↚":return"none";case"->":case"→":case"<->":case"↔":case"<=->":case"⇐→":case"<~->":case"↚→":return"legal";case"=>":case"⇒":case"<=>":case"⇔":case"<-=>":case"←⇒":case"<~=>":case"↚⇒":return"main";case"~>":case"↛":case"<~>":case"↮":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("machine_language"===rule.key)return{agg_as:"machine_language",val:reduce_to_639(rule.value)};if("state_declaration"===rule.key){if(!rule.name)throw new Error("State declarations must have a name");return{agg_as:"state_declaration",val:{state:rule.name,declarations:rule.value}}}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:[],state_declaration:[],fsl_version:[],machine_author:[],machine_comment:[],machine_contributor:[],machine_definition:[],machine_language:[],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","machine_language"].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","state_declaration"].map(function(multiKey){results[multiKey].length&&(result_cfg[multiKey]=results[multiKey])}),result_cfg}function make(plan){return compile(parse(plan))}function transfer_state_properties(state_decl){return state_decl.declarations.map(function(d){switch(d.key){case"node_shape":state_decl.node_shape=d.value;break;case"node_color":state_decl.node_color=d.value;break;default:throw new Error("Unknown state property: '"+JSON.stringify(d)+"'")}}),state_decl}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.transfer_state_properties=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.12.0",exports.transfer_state_properties=transfer_state_properties,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"=>":case"⇒":case"~>":case"↛":return"right";case"<-":case"←":case"<=":case"⇐":case"<~":case"↚":return"left";case"<->":case"↔":case"<-=>":case"←⇒":case"<-~>":case"←↛":case"<=>":case"⇔":case"<=->":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,"reduce-to-639-1":3}]},{},[]); \ No newline at end of file diff --git a/build/jssm.es5.js b/build/jssm.es5.js index eb8f0bd0..64c06d43 100644 --- a/build/jssm.es5.js +++ b/build/jssm.es5.js @@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -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 = undefined; +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.transfer_state_properties = exports.version = undefined; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -290,6 +290,25 @@ function make(plan) { return compile(parse(plan)); } +function transfer_state_properties(state_decl) { + + state_decl.declarations.map(function (d) { + switch (d.key) { + + case 'node_shape': + state_decl.node_shape = d.value;break; + case 'node_color': + state_decl.node_color = d.value;break; + + default: + throw new Error('Unknown state property: \'' + JSON.stringify(d) + '\''); + + } + }); + + return state_decl; +} + var Machine = function () { // whargarbl this badly needs to be broken up, monolith master @@ -339,6 +358,18 @@ var Machine = function () { this._graph_layout = graph_layout; + if (state_declaration) { + state_declaration.map(function (state_decl) { + + if (_this._state_declarations.has(state_decl.state)) { + // no repeats + throw new Error('Added the same state declaration twice: ' + JSON.stringify(state_decl.state)); + } + + _this._state_declarations.set(state_decl.state, transfer_state_properties(state_decl)); + }); + } + transitions.map(function (tr) { if (tr.from === undefined) { @@ -438,7 +469,7 @@ var Machine = function () { */ } }); - } // eslint-disable-line flowtype/no-weak-types + } _createClass(Machine, [{ key: '_new_state', @@ -531,7 +562,6 @@ var Machine = function () { }, { key: 'state_declaration', value: function state_declaration(which) { - // eslint-disable-line flowtype/no-weak-types return this._state_declarations.get(which); } }, { @@ -935,6 +965,7 @@ function sm(template_strings /* , arguments */) { } exports.version = version; +exports.transfer_state_properties = transfer_state_properties; exports.Machine = Machine; exports.make = make; exports.parse = parse; @@ -948,4 +979,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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9qcy9qc3NtLmpzIl0sIm5hbWVzIjpbInJlZHVjZV90b182MzkiLCJyZXF1aXJlIiwicmVkdWNlIiwicGFyc2UiLCJ2ZXJzaW9uIiwiYXJyb3dfZGlyZWN0aW9uIiwiYXJyb3ciLCJTdHJpbmciLCJFcnJvciIsImFycm93X2xlZnRfa2luZCIsImFycm93X3JpZ2h0X2tpbmQiLCJjb21waWxlX3J1bGVfdHJhbnNpdGlvbl9zdGVwIiwiYWNjIiwiZnJvbSIsInRvIiwidGhpc19zZSIsIm5leHRfc2UiLCJlZGdlcyIsInVGcm9tIiwiQXJyYXkiLCJpc0FycmF5IiwidVRvIiwibWFwIiwiZiIsInQiLCJyayIsImtpbmQiLCJsayIsInJpZ2h0IiwiZm9yY2VkX29ubHkiLCJtYWluX3BhdGgiLCJyX2FjdGlvbiIsImFjdGlvbiIsInJfcHJvYmFiaWxpdHkiLCJwcm9iYWJpbGl0eSIsInB1c2giLCJsZWZ0IiwibF9hY3Rpb24iLCJsX3Byb2JhYmlsaXR5IiwibmV3X2FjYyIsImNvbmNhdCIsInNlIiwiY29tcGlsZV9ydWxlX2hhbmRsZV90cmFuc2l0aW9uIiwicnVsZSIsImNvbXBpbGVfcnVsZV9oYW5kbGVyIiwia2V5IiwiYWdnX2FzIiwidmFsIiwidmFsdWUiLCJuYW1lIiwic3RhdGUiLCJkZWNsYXJhdGlvbnMiLCJ0YXV0b2xvZ2llcyIsImluY2x1ZGVzIiwiSlNPTiIsInN0cmluZ2lmeSIsImNvbXBpbGUiLCJ0cmVlIiwicmVzdWx0cyIsImdyYXBoX2xheW91dCIsInRyYW5zaXRpb24iLCJzdGFydF9zdGF0ZXMiLCJlbmRfc3RhdGVzIiwic3RhdGVfZGVjbGFyYXRpb24iLCJmc2xfdmVyc2lvbiIsIm1hY2hpbmVfYXV0aG9yIiwibWFjaGluZV9jb21tZW50IiwibWFjaGluZV9jb250cmlidXRvciIsIm1hY2hpbmVfZGVmaW5pdGlvbiIsIm1hY2hpbmVfbGFuZ3VhZ2UiLCJtYWNoaW5lX2xpY2Vuc2UiLCJtYWNoaW5lX25hbWUiLCJtYWNoaW5lX3JlZmVyZW5jZSIsIm1hY2hpbmVfdmVyc2lvbiIsInRyIiwiYXNzZW1ibGVkX3RyYW5zaXRpb25zIiwicmVzdWx0X2NmZyIsImxlbmd0aCIsInRyYW5zaXRpb25zIiwib25lT25seUtleXMiLCJvbmVPbmx5S2V5IiwibXVsdGlLZXkiLCJtYWtlIiwicGxhbiIsIk1hY2hpbmUiLCJjb21wbGV0ZSIsIl9zdGF0ZSIsIl9zdGF0ZXMiLCJNYXAiLCJfc3RhdGVfZGVjbGFyYXRpb25zIiwiX2VkZ2VzIiwiX2VkZ2VfbWFwIiwiX25hbWVkX3RyYW5zaXRpb25zIiwiX2FjdGlvbnMiLCJfcmV2ZXJzZV9hY3Rpb25zIiwiX3JldmVyc2VfYWN0aW9uX3RhcmdldHMiLCJfbWFjaGluZV9hdXRob3IiLCJfbWFjaGluZV9jb21tZW50IiwiX21hY2hpbmVfY29udHJpYnV0b3IiLCJfbWFjaGluZV9kZWZpbml0aW9uIiwiX21hY2hpbmVfbGFuZ3VhZ2UiLCJfbWFjaGluZV9saWNlbnNlIiwiX21hY2hpbmVfbmFtZSIsIl9tYWNoaW5lX3ZlcnNpb24iLCJfcmF3X3N0YXRlX2RlY2xhcmF0aW9uIiwiX2ZzbF92ZXJzaW9uIiwiX2dyYXBoX2xheW91dCIsInVuZGVmaW5lZCIsImN1cnNvcl9mcm9tIiwiZ2V0IiwiaGFzIiwiX25ld19zdGF0ZSIsImN1cnNvcl90byIsInRoaXNFZGdlSWQiLCJzZXQiLCJmcm9tX21hcHBpbmciLCJhY3Rpb25NYXAiLCJyQWN0aW9uTWFwIiwic3RhdGVfY29uZmlnIiwid2hpY2hTdGF0ZSIsInN0YXRlX2lzX3Rlcm1pbmFsIiwic3RhdGVfaXNfY29tcGxldGUiLCJzdGF0ZV9pc19maW5hbCIsIndoaWNoIiwiaW50ZXJuYWxfc3RhdGVfaW1wbF92ZXJzaW9uIiwiYWN0aW9ucyIsImVkZ2VfbWFwIiwibmFtZWRfdHJhbnNpdGlvbnMiLCJyZXZlcnNlX2FjdGlvbnMiLCJzdGF0ZXMiLCJrZXlzIiwiZW1nIiwiaWQiLCJnZXRfdHJhbnNpdGlvbl9ieV9zdGF0ZV9uYW1lcyIsImVudHJhbmNlcyIsImxpc3RfZW50cmFuY2VzIiwiZXhpdHMiLCJsaXN0X2V4aXRzIiwid3N0YXRlIiwid3N0YXRlX3RvIiwid3RmIiwid3MiLCJsb29rdXBfdHJhbnNpdGlvbl9mb3IiLCJmaWx0ZXIiLCJCb29sZWFuIiwic2VsZWN0ZWQiLCJwcm9iYWJsZV9leGl0c19mb3IiLCJuIiwic3RhdGVfd2FzIiwicHJvYmFiaWxpc3RpY190cmFuc2l0aW9uIiwicHJvYmFiaWxpc3RpY193YWxrIiwicmFfYmFzZSIsInZhbHVlcyIsImVkZ2VJZCIsIm8iLCJmaWx0ZXJlZCIsInNvbWUiLCJ4IiwiaXNfdW5lbnRlcmFibGUiLCJuZXdEYXRhIiwidmFsaWRfYWN0aW9uIiwiZWRnZSIsImN1cnJlbnRfYWN0aW9uX2VkZ2VfZm9yIiwibmV3U3RhdGUiLCJ2YWxpZF90cmFuc2l0aW9uIiwidmFsaWRfZm9yY2VfdHJhbnNpdGlvbiIsImFjdGlvbl9iYXNlIiwiaWR4IiwiY3VycmVudF9hY3Rpb25fZm9yIiwiX25ld0RhdGEiLCJ0cmFuc2l0aW9uX2ZvciIsInNtIiwidGVtcGxhdGVfc3RyaW5ncyIsInNlcSIsIndlaWdodGVkX3JhbmRfc2VsZWN0IiwiaGlzdG9ncmFwaCIsIndlaWdodGVkX3NhbXBsZV9zZWxlY3QiLCJ3ZWlnaHRlZF9oaXN0b19rZXkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQTJCQTs7Ozs7O0FBMUJBOztBQUlBLElBQU1BLGdCQUEyQkMsUUFBUSxpQkFBUixFQUEyQkMsTUFBNUQ7O0FBd0JBLElBQU1DLFFBQStDRixRQUFRLGVBQVIsRUFBeUJFLEtBQTlFLEMsQ0FBc0Y7O0FBRXRGLElBQU1DLFVBQWdCLElBQXRCLEMsQ0FBNEI7OztBQU01Qjs7QUFFQSxTQUFTQyxlQUFULENBQXlCQyxLQUF6QixFQUErRDs7QUFFN0QsVUFBU0MsT0FBT0QsS0FBUCxDQUFUOztBQUVFLFNBQUssSUFBTCxDQUFlLEtBQUssR0FBTDtBQUNmLFNBQUssSUFBTCxDQUFlLEtBQUssR0FBTDtBQUNmLFNBQUssSUFBTCxDQUFlLEtBQUssR0FBTDtBQUNiLGFBQU8sT0FBUDs7QUFFRixTQUFLLElBQUwsQ0FBZSxLQUFLLEdBQUw7QUFDZixTQUFLLElBQUwsQ0FBZSxLQUFLLEdBQUw7QUFDZixTQUFLLElBQUwsQ0FBZSxLQUFLLEdBQUw7QUFDYixhQUFPLE1BQVA7O0FBRUYsU0FBSyxLQUFMLENBQWUsS0FBSyxHQUFMO0FBQ2YsU0FBSyxNQUFMLENBQWUsS0FBSyxJQUFMO0FBQ2YsU0FBSyxNQUFMLENBQWUsS0FBSyxJQUFMOztBQUVmLFNBQUssS0FBTCxDQUFlLEtBQUssR0FBTDtBQUNmLFNBQUssTUFBTCxDQUFlLEtBQUssSUFBTDtBQUNmLFNBQUssTUFBTCxDQUFlLEtBQUssSUFBTDs7QUFFZixTQUFLLEtBQUwsQ0FBZSxLQUFLLEdBQUw7QUFDZixTQUFLLE1BQUwsQ0FBZSxLQUFLLElBQUw7QUFDZixTQUFLLE1BQUwsQ0FBZSxLQUFLLElBQUw7QUFDYixhQUFPLE1BQVA7O0FBRUY7QUFDRSxZQUFNLElBQUlFLEtBQUosMENBQWlERixLQUFqRCxDQUFOOztBQTFCSjtBQThCRDs7QUFFRDs7QUFNQTs7QUFFQSxTQUFTRyxlQUFULENBQXlCSCxLQUF6QixFQUEwRDs7QUFFeEQsVUFBU0MsT0FBT0QsS0FBUCxDQUFUOztBQUVFLFNBQUssSUFBTCxDQUFlLEtBQUssR0FBTDtBQUNmLFNBQUssSUFBTCxDQUFlLEtBQUssR0FBTDtBQUNmLFNBQUssSUFBTCxDQUFlLEtBQUssR0FBTDtBQUNiLGFBQU8sTUFBUDs7QUFFRixTQUFLLElBQUwsQ0FBZSxLQUFLLEdBQUw7QUFDZixTQUFLLEtBQUwsQ0FBZSxLQUFLLEdBQUw7QUFDZixTQUFLLE1BQUwsQ0FBZSxLQUFLLElBQUw7QUFDZixTQUFLLE1BQUwsQ0FBZSxLQUFLLElBQUw7QUFDYixhQUFPLE9BQVA7O0FBRUYsU0FBSyxJQUFMLENBQWUsS0FBSyxHQUFMO0FBQ2YsU0FBSyxLQUFMLENBQWUsS0FBSyxHQUFMO0FBQ2YsU0FBSyxNQUFMLENBQWUsS0FBSyxJQUFMO0FBQ2YsU0FBSyxNQUFMLENBQWUsS0FBSyxJQUFMO0FBQ2IsYUFBTyxNQUFQOztBQUVGLFNBQUssSUFBTCxDQUFlLEtBQUssR0FBTDtBQUNmLFNBQUssS0FBTCxDQUFlLEtBQUssR0FBTDtBQUNmLFNBQUssTUFBTCxDQUFlLEtBQUssSUFBTDtBQUNmLFNBQUssTUFBTCxDQUFlLEtBQUssSUFBTDtBQUNiLGFBQU8sUUFBUDs7QUFFRjtBQUNFLFlBQU0sSUFBSUUsS0FBSiwwQ0FBaURGLEtBQWpELENBQU47O0FBMUJKO0FBOEJEOztBQUVEOztBQU1BOztBQUVBLFNBQVNJLGdCQUFULENBQTBCSixLQUExQixFQUEyRDs7QUFFekQsVUFBU0MsT0FBT0QsS0FBUCxDQUFUOztBQUVFLFNBQUssSUFBTCxDQUFlLEtBQUssR0FBTDtBQUNmLFNBQUssSUFBTCxDQUFlLEtBQUssR0FBTDtBQUNmLFNBQUssSUFBTCxDQUFlLEtBQUssR0FBTDtBQUNiLGFBQU8sTUFBUDs7QUFFRixTQUFLLElBQUwsQ0FBZSxLQUFLLEdBQUw7QUFDZixTQUFLLEtBQUwsQ0FBZSxLQUFLLEdBQUw7QUFDZixTQUFLLE1BQUwsQ0FBZSxLQUFLLElBQUw7QUFDZixTQUFLLE1BQUwsQ0FBZSxLQUFLLElBQUw7QUFDYixhQUFPLE9BQVA7O0FBRUYsU0FBSyxJQUFMLENBQWUsS0FBSyxHQUFMO0FBQ2YsU0FBSyxLQUFMLENBQWUsS0FBSyxHQUFMO0FBQ2YsU0FBSyxNQUFMLENBQWUsS0FBSyxJQUFMO0FBQ2YsU0FBSyxNQUFMLENBQWUsS0FBSyxJQUFMO0FBQ2IsYUFBTyxNQUFQOztBQUVGLFNBQUssSUFBTCxDQUFlLEtBQUssR0FBTDtBQUNmLFNBQUssS0FBTCxDQUFlLEtBQUssR0FBTDtBQUNmLFNBQUssTUFBTCxDQUFlLEtBQUssSUFBTDtBQUNmLFNBQUssTUFBTCxDQUFlLEtBQUssSUFBTDtBQUNiLGFBQU8sUUFBUDs7QUFFRjtBQUNFLFlBQU0sSUFBSUUsS0FBSiwwQ0FBaURGLEtBQWpELENBQU47O0FBMUJKO0FBOEJEOztBQUVEOztBQU1BLFNBQVNLLDRCQUFULENBQ2FDLEdBRGIsRUFFYUMsSUFGYixFQUdhQyxFQUhiLEVBSWFDLE9BSmIsRUFLYUMsT0FMYixFQU0rQztBQUFFOztBQUUvQyxNQUFNQyxRQUE0QyxFQUFsRDs7QUFFQSxNQUFNQyxRQUF3QkMsTUFBTUMsT0FBTixDQUFjUCxJQUFkLElBQXFCQSxJQUFyQixHQUE0QixDQUFDQSxJQUFELENBQTFEO0FBQUEsTUFDTVEsTUFBd0JGLE1BQU1DLE9BQU4sQ0FBY04sRUFBZCxJQUFxQkEsRUFBckIsR0FBNEIsQ0FBQ0EsRUFBRCxDQUQxRDs7QUFHQUksUUFBTUksR0FBTixDQUFXLFVBQUNDLENBQUQsRUFBWTtBQUNyQkYsUUFBSUMsR0FBSixDQUFTLFVBQUNFLENBQUQsRUFBWTs7QUFFbkIsVUFBTUMsS0FBb0JmLGlCQUFpQkssUUFBUVcsSUFBekIsQ0FBMUI7QUFBQSxVQUNNQyxLQUFvQmxCLGdCQUFnQk0sUUFBUVcsSUFBeEIsQ0FEMUI7O0FBSUEsVUFBTUUsUUFBa0M7QUFDdENmLGNBQWNVLENBRHdCO0FBRXRDVCxZQUFjVSxDQUZ3QjtBQUd0Q0UsY0FBY0QsRUFId0I7QUFJdENJLHFCQUFjSixPQUFPLFFBSmlCO0FBS3RDSyxtQkFBY0wsT0FBTztBQUxpQixPQUF4Qzs7QUFRQSxVQUFJVixRQUFRZ0IsUUFBWixFQUEyQjtBQUFFSCxjQUFNSSxNQUFOLEdBQW9CakIsUUFBUWdCLFFBQTVCO0FBQTRDO0FBQ3pFLFVBQUloQixRQUFRa0IsYUFBWixFQUEyQjtBQUFFTCxjQUFNTSxXQUFOLEdBQW9CbkIsUUFBUWtCLGFBQTVCO0FBQTRDO0FBQ3pFLFVBQUlMLE1BQU1GLElBQU4sS0FBZSxNQUFuQixFQUEyQjtBQUFFVCxjQUFNa0IsSUFBTixDQUFXUCxLQUFYO0FBQW9COztBQUdqRCxVQUFNUSxPQUFpQztBQUNyQ3ZCLGNBQWNXLENBRHVCO0FBRXJDVixZQUFjUyxDQUZ1QjtBQUdyQ0csY0FBY0MsRUFIdUI7QUFJckNFLHFCQUFjRixPQUFPLFFBSmdCO0FBS3JDRyxtQkFBY0gsT0FBTztBQUxnQixPQUF2Qzs7QUFRQSxVQUFJWixRQUFRc0IsUUFBWixFQUEyQjtBQUFFRCxhQUFLSixNQUFMLEdBQW1CakIsUUFBUXNCLFFBQTNCO0FBQTJDO0FBQ3hFLFVBQUl0QixRQUFRdUIsYUFBWixFQUEyQjtBQUFFRixhQUFLRixXQUFMLEdBQW1CbkIsUUFBUXVCLGFBQTNCO0FBQTJDO0FBQ3hFLFVBQUlGLEtBQUtWLElBQUwsS0FBYyxNQUFsQixFQUEyQjtBQUFFVCxjQUFNa0IsSUFBTixDQUFXQyxJQUFYO0FBQW1CO0FBRWpELEtBL0JEO0FBZ0NELEdBakNEOztBQW1DQSxNQUFNRyxVQUE2QzNCLElBQUk0QixNQUFKLENBQVd2QixLQUFYLENBQW5EOztBQUVBLE1BQUlELE9BQUosRUFBYTtBQUNYLFdBQU9MLDZCQUE2QjRCLE9BQTdCLEVBQXNDekIsRUFBdEMsRUFBMENFLFFBQVFGLEVBQWxELEVBQXNERSxPQUF0RCxFQUErREEsUUFBUXlCLEVBQXZFLENBQVA7QUFDRCxHQUZELE1BRU87QUFDTCxXQUFPRixPQUFQO0FBQ0Q7QUFFRjs7QUFJRCxTQUFTRyw4QkFBVCxDQUE2Q0MsSUFBN0MsRUFBbUY7QUFBRTtBQUNuRixTQUFPaEMsNkJBQTZCLEVBQTdCLEVBQWlDZ0MsS0FBSzlCLElBQXRDLEVBQTRDOEIsS0FBS0YsRUFBTCxDQUFRM0IsRUFBcEQsRUFBd0Q2QixLQUFLRixFQUE3RCxFQUFpRUUsS0FBS0YsRUFBTCxDQUFRQSxFQUF6RSxDQUFQO0FBQ0Q7O0FBSUQsU0FBU0csb0JBQVQsQ0FBbUNELElBQW5DLEVBQW1GO0FBQUU7O0FBRW5GLE1BQUlBLEtBQUtFLEdBQUwsS0FBYSxZQUFqQixFQUErQjtBQUM3QixXQUFPLEVBQUVDLFFBQVEsWUFBVixFQUF3QkMsS0FBS0wsK0JBQStCQyxJQUEvQixDQUE3QixFQUFQO0FBQ0Q7O0FBRUQsTUFBSUEsS0FBS0UsR0FBTCxLQUFhLGtCQUFqQixFQUFxQztBQUNuQyxXQUFPLEVBQUVDLFFBQVEsa0JBQVYsRUFBOEJDLEtBQUsvQyxjQUFjMkMsS0FBS0ssS0FBbkIsQ0FBbkMsRUFBUDtBQUNEOztBQUVELE1BQUlMLEtBQUtFLEdBQUwsS0FBYSxtQkFBakIsRUFBc0M7QUFDcEMsUUFBSSxDQUFDRixLQUFLTSxJQUFWLEVBQWdCO0FBQUUsWUFBTSxJQUFJekMsS0FBSixDQUFVLHFDQUFWLENBQU47QUFBeUQ7QUFDM0UsV0FBTyxFQUFFc0MsUUFBUSxtQkFBVixFQUErQkMsS0FBSyxFQUFFRyxPQUFPUCxLQUFLTSxJQUFkLEVBQW9CRSxjQUFjUixLQUFLSyxLQUF2QyxFQUFwQyxFQUFQO0FBQ0Q7O0FBRUQsTUFBTUksY0FBOEIsQ0FDbEMsY0FEa0MsRUFDbEIsY0FEa0IsRUFDRixZQURFLEVBQ1ksY0FEWixFQUM0QixpQkFENUIsRUFFbEMsaUJBRmtDLEVBRWYsZ0JBRmUsRUFFRyxxQkFGSCxFQUUwQixvQkFGMUIsRUFHbEMsbUJBSGtDLEVBR2IsaUJBSGEsRUFHTSxhQUhOLENBQXBDOztBQU1BLE1BQUlBLFlBQVlDLFFBQVosQ0FBcUJWLEtBQUtFLEdBQTFCLENBQUosRUFBb0M7QUFDbEMsV0FBTyxFQUFFQyxRQUFRSCxLQUFLRSxHQUFmLEVBQW9CRSxLQUFLSixLQUFLSyxLQUE5QixFQUFQO0FBQ0Q7O0FBRUQsUUFBTSxJQUFJeEMsS0FBSiwwQ0FBaUQ4QyxLQUFLQyxTQUFMLENBQWVaLElBQWYsQ0FBakQsQ0FBTjtBQUVEOztBQU1ELFNBQVNhLE9BQVQsQ0FBMkJDLElBQTNCLEVBQWtGO0FBQUE7O0FBQUc7O0FBRW5GLE1BQU1DLFVBZ0JGO0FBQ0ZDLGtCQUFzQixFQURwQjtBQUVGQyxnQkFBc0IsRUFGcEI7QUFHRkMsa0JBQXNCLEVBSHBCO0FBSUZDLGdCQUFzQixFQUpwQjtBQUtGQyx1QkFBc0IsRUFMcEI7QUFNRkMsaUJBQXNCLEVBTnBCO0FBT0ZDLG9CQUFzQixFQVBwQjtBQVFGQyxxQkFBc0IsRUFScEI7QUFTRkMseUJBQXNCLEVBVHBCO0FBVUZDLHdCQUFzQixFQVZwQjtBQVdGQyxzQkFBc0IsRUFYcEI7QUFZRkMscUJBQXNCLEVBWnBCO0FBYUZDLGtCQUFzQixFQWJwQjtBQWNGQyx1QkFBc0IsRUFkcEI7QUFlRkMscUJBQXNCO0FBZnBCLEdBaEJKOztBQWtDQWhCLE9BQUtuQyxHQUFMLENBQVUsVUFBQ29ELEVBQUQsRUFBa0M7O0FBRTFDLFFBQU0vQixPQUEyQkMscUJBQXFCOEIsRUFBckIsQ0FBakM7QUFBQSxRQUNNNUIsU0FBMkJILEtBQUtHLE1BRHRDO0FBQUEsUUFFTUMsTUFBMkJKLEtBQUtJLEdBRnRDLENBRjBDLENBSWtCOztBQUU1RFcsWUFBUVosTUFBUixJQUFrQlksUUFBUVosTUFBUixFQUFnQk4sTUFBaEIsQ0FBdUJPLEdBQXZCLENBQWxCO0FBRUQsR0FSRDs7QUFVQSxNQUFNNEIsd0JBQTRELFlBQUduQyxNQUFILGdDQUFja0IsUUFBUSxZQUFSLENBQWQsRUFBbEU7O0FBRUEsTUFBTWtCLGFBQTJDO0FBQy9DZixrQkFBZUgsUUFBUUcsWUFBUixDQUFxQmdCLE1BQXJCLEdBQTZCbkIsUUFBUUcsWUFBckMsR0FBb0QsQ0FBQ2Msc0JBQXNCLENBQXRCLEVBQXlCOUQsSUFBMUIsQ0FEcEI7QUFFL0NpRSxpQkFBZUg7QUFGZ0MsR0FBakQ7O0FBS0EsTUFBTUksY0FBOEIsQ0FDbEMsY0FEa0MsRUFDbEIsY0FEa0IsRUFDRixpQkFERSxFQUNpQixpQkFEakIsRUFDb0MsYUFEcEMsRUFDbUQsaUJBRG5ELEVBRWxDLG9CQUZrQyxFQUVaLGtCQUZZLENBQXBDOztBQUtBQSxjQUFZekQsR0FBWixDQUFpQixVQUFDMEQsVUFBRCxFQUF5QjtBQUN4QyxRQUFJdEIsUUFBUXNCLFVBQVIsRUFBb0JILE1BQXBCLEdBQTZCLENBQWpDLEVBQW9DO0FBQ2xDLFlBQU0sSUFBSXJFLEtBQUosd0JBQStCd0UsVUFBL0IsNEJBQWdFMUIsS0FBS0MsU0FBTCxDQUFlRyxRQUFRc0IsVUFBUixDQUFmLENBQWhFLENBQU47QUFDRCxLQUZELE1BRU87QUFDTCxVQUFJdEIsUUFBUXNCLFVBQVIsRUFBb0JILE1BQXhCLEVBQWdDO0FBQzlCRCxtQkFBV0ksVUFBWCxJQUF5QnRCLFFBQVFzQixVQUFSLEVBQW9CLENBQXBCLENBQXpCO0FBQ0Q7QUFDRjtBQUNGLEdBUkQ7O0FBVUEsR0FBQyxnQkFBRCxFQUFtQixxQkFBbkIsRUFBMEMsbUJBQTFDLEVBQStELG1CQUEvRCxFQUFvRjFELEdBQXBGLENBQXlGLFVBQUMyRCxRQUFELEVBQXVCO0FBQzlHLFFBQUl2QixRQUFRdUIsUUFBUixFQUFrQkosTUFBdEIsRUFBOEI7QUFDNUJELGlCQUFXSyxRQUFYLElBQXVCdkIsUUFBUXVCLFFBQVIsQ0FBdkI7QUFDRDtBQUNGLEdBSkQ7O0FBTUEsU0FBT0wsVUFBUDtBQUVEOztBQU1ELFNBQVNNLElBQVQsQ0FBd0JDLElBQXhCLEVBQW1FO0FBQ2pFLFNBQU8zQixRQUFRckQsTUFBTWdGLElBQU4sQ0FBUixDQUFQO0FBQ0Q7O0lBTUtDLE87O0FBMkJKO0FBTjZDO0FBTzdDLDBCQWVpQztBQUFBOztBQUFBLFFBZC9CdkIsWUFjK0IsU0FkL0JBLFlBYytCO0FBQUEsK0JBYi9Cd0IsUUFhK0I7QUFBQSxRQWIvQkEsUUFhK0Isa0NBYmIsRUFhYTtBQUFBLFFBWi9CUCxXQVkrQixTQVovQkEsV0FZK0I7QUFBQSxRQVgvQmIsY0FXK0IsU0FYL0JBLGNBVytCO0FBQUEsUUFWL0JDLGVBVStCLFNBVi9CQSxlQVUrQjtBQUFBLFFBVC9CQyxtQkFTK0IsU0FUL0JBLG1CQVMrQjtBQUFBLFFBUi9CQyxrQkFRK0IsU0FSL0JBLGtCQVErQjtBQUFBLFFBUC9CQyxnQkFPK0IsU0FQL0JBLGdCQU8rQjtBQUFBLFFBTi9CQyxlQU0rQixTQU4vQkEsZUFNK0I7QUFBQSxRQUwvQkMsWUFLK0IsU0FML0JBLFlBSytCO0FBQUEsUUFKL0JFLGVBSStCLFNBSi9CQSxlQUkrQjtBQUFBLFFBSC9CVixpQkFHK0IsU0FIL0JBLGlCQUcrQjtBQUFBLFFBRi9CQyxXQUUrQixTQUYvQkEsV0FFK0I7QUFBQSxtQ0FEL0JMLFlBQytCO0FBQUEsUUFEL0JBLFlBQytCLHNDQURoQixLQUNnQjs7QUFBQTs7QUFFL0IsU0FBSzJCLE1BQUwsR0FBK0J6QixhQUFhLENBQWIsQ0FBL0I7QUFDQSxTQUFLMEIsT0FBTCxHQUErQixJQUFJQyxHQUFKLEVBQS9CO0FBQ0EsU0FBS0MsbUJBQUwsR0FBK0IsSUFBSUQsR0FBSixFQUEvQjtBQUNBLFNBQUtFLE1BQUwsR0FBK0IsRUFBL0I7QUFDQSxTQUFLQyxTQUFMLEdBQStCLElBQUlILEdBQUosRUFBL0I7QUFDQSxTQUFLSSxrQkFBTCxHQUErQixJQUFJSixHQUFKLEVBQS9CO0FBQ0EsU0FBS0ssUUFBTCxHQUErQixJQUFJTCxHQUFKLEVBQS9CO0FBQ0EsU0FBS00sZ0JBQUwsR0FBK0IsSUFBSU4sR0FBSixFQUEvQjtBQUNBLFNBQUtPLHVCQUFMLEdBQStCLElBQUlQLEdBQUosRUFBL0IsQ0FWK0IsQ0FVYTs7QUFFNUMsU0FBS1EsZUFBTCxHQUErQi9CLGNBQS9CO0FBQ0EsU0FBS2dDLGdCQUFMLEdBQStCL0IsZUFBL0I7QUFDQSxTQUFLZ0Msb0JBQUwsR0FBK0IvQixtQkFBL0I7QUFDQSxTQUFLZ0MsbUJBQUwsR0FBK0IvQixrQkFBL0I7QUFDQSxTQUFLZ0MsaUJBQUwsR0FBK0IvQixnQkFBL0I7QUFDQSxTQUFLZ0MsZ0JBQUwsR0FBK0IvQixlQUEvQjtBQUNBLFNBQUtnQyxhQUFMLEdBQStCL0IsWUFBL0I7QUFDQSxTQUFLZ0MsZ0JBQUwsR0FBK0I5QixlQUEvQjtBQUNBLFNBQUsrQixzQkFBTCxHQUErQnpDLHFCQUFxQixFQUFwRDtBQUNBLFNBQUswQyxZQUFMLEdBQStCekMsV0FBL0I7O0FBRUEsU0FBSzBDLGFBQUwsR0FBK0IvQyxZQUEvQjs7QUFFQW1CLGdCQUFZeEQsR0FBWixDQUFpQixVQUFDb0QsRUFBRCxFQUFpQzs7QUFFaEQsVUFBSUEsR0FBRzdELElBQUgsS0FBWThGLFNBQWhCLEVBQTJCO0FBQUUsY0FBTSxJQUFJbkcsS0FBSix1Q0FBNEM4QyxLQUFLQyxTQUFMLENBQWVtQixFQUFmLENBQTVDLENBQU47QUFBMEU7QUFDdkcsVUFBSUEsR0FBRzVELEVBQUgsS0FBWTZGLFNBQWhCLEVBQTJCO0FBQUUsY0FBTSxJQUFJbkcsS0FBSixxQ0FBNEM4QyxLQUFLQyxTQUFMLENBQWVtQixFQUFmLENBQTVDLENBQU47QUFBMEU7O0FBRXZHO0FBQ0EsVUFBTWtDLGNBQ0EsTUFBS3JCLE9BQUwsQ0FBYXNCLEdBQWIsQ0FBaUJuQyxHQUFHN0QsSUFBcEIsS0FDQSxFQUFFb0MsTUFBTXlCLEdBQUc3RCxJQUFYLEVBQWlCQSxNQUFNLEVBQXZCLEVBQTJCQyxJQUFJLEVBQS9CLEVBQW1DdUUsVUFBVUEsU0FBU2hDLFFBQVQsQ0FBa0JxQixHQUFHN0QsSUFBckIsQ0FBN0MsRUFGTjs7QUFJQSxVQUFJLENBQUUsTUFBSzBFLE9BQUwsQ0FBYXVCLEdBQWIsQ0FBaUJwQyxHQUFHN0QsSUFBcEIsQ0FBTixFQUFrQztBQUNoQyxjQUFLa0csVUFBTCxDQUFnQkgsV0FBaEI7QUFDRDs7QUFFRCxVQUFNSSxZQUNBLE1BQUt6QixPQUFMLENBQWFzQixHQUFiLENBQWlCbkMsR0FBRzVELEVBQXBCLEtBQ0EsRUFBQ21DLE1BQU15QixHQUFHNUQsRUFBVixFQUFjRCxNQUFNLEVBQXBCLEVBQXdCQyxJQUFJLEVBQTVCLEVBQWdDdUUsVUFBVUEsU0FBU2hDLFFBQVQsQ0FBa0JxQixHQUFHNUQsRUFBckIsQ0FBMUMsRUFGTjs7QUFJQSxVQUFJLENBQUUsTUFBS3lFLE9BQUwsQ0FBYXVCLEdBQWIsQ0FBaUJwQyxHQUFHNUQsRUFBcEIsQ0FBTixFQUFnQztBQUM5QixjQUFLaUcsVUFBTCxDQUFnQkMsU0FBaEI7QUFDRDs7QUFFRDtBQUNBLFVBQUlKLFlBQVk5RixFQUFaLENBQWV1QyxRQUFmLENBQXdCcUIsR0FBRzVELEVBQTNCLENBQUosRUFBb0M7QUFDbEMsY0FBTSxJQUFJTixLQUFKLGtCQUF5QjhDLEtBQUtDLFNBQUwsQ0FBZW1CLEdBQUc3RCxJQUFsQixDQUF6QixZQUF1RHlDLEtBQUtDLFNBQUwsQ0FBZW1CLEdBQUc1RCxFQUFsQixDQUF2RCxDQUFOO0FBQ0QsT0FGRCxNQUVPO0FBQ0w4RixvQkFBWTlGLEVBQVosQ0FBZXFCLElBQWYsQ0FBb0J1QyxHQUFHNUQsRUFBdkI7QUFDQWtHLGtCQUFVbkcsSUFBVixDQUFlc0IsSUFBZixDQUFvQnVDLEdBQUc3RCxJQUF2QjtBQUNEOztBQUVEO0FBQ0EsWUFBSzZFLE1BQUwsQ0FBWXZELElBQVosQ0FBaUJ1QyxFQUFqQjtBQUNBLFVBQU11QyxhQUFxQixNQUFLdkIsTUFBTCxDQUFZYixNQUFaLEdBQXFCLENBQWhEOztBQUVBO0FBQ0EsVUFBSUgsR0FBR3pCLElBQVAsRUFBYTtBQUNYLFlBQUksTUFBSzJDLGtCQUFMLENBQXdCa0IsR0FBeEIsQ0FBNEJwQyxHQUFHekIsSUFBL0IsQ0FBSixFQUEwQztBQUN4QyxnQkFBTSxJQUFJekMsS0FBSix3QkFBK0I4QyxLQUFLQyxTQUFMLENBQWVtQixHQUFHekIsSUFBbEIsQ0FBL0IsdUJBQU47QUFDRCxTQUZELE1BRU87QUFDTCxnQkFBSzJDLGtCQUFMLENBQXdCc0IsR0FBeEIsQ0FBNEJ4QyxHQUFHekIsSUFBL0IsRUFBcUNnRSxVQUFyQztBQUNEO0FBQ0Y7O0FBRUQ7QUFDQSxVQUFNRSxlQUFpQyxNQUFLeEIsU0FBTCxDQUFla0IsR0FBZixDQUFtQm5DLEdBQUc3RCxJQUF0QixLQUErQixJQUFJMkUsR0FBSixFQUF0RTtBQUNBLFVBQUksQ0FBRSxNQUFLRyxTQUFMLENBQWVtQixHQUFmLENBQW1CcEMsR0FBRzdELElBQXRCLENBQU4sRUFBb0M7QUFDbEMsY0FBSzhFLFNBQUwsQ0FBZXVCLEdBQWYsQ0FBbUJ4QyxHQUFHN0QsSUFBdEIsRUFBNEJzRyxZQUE1QjtBQUNEOztBQUVQO0FBQ01BLG1CQUFhRCxHQUFiLENBQWlCeEMsR0FBRzVELEVBQXBCLEVBQXdCbUcsVUFBeEIsRUFsRGdELENBa0RYOztBQUVyQztBQUNBLFVBQUl2QyxHQUFHMUMsTUFBUCxFQUFlOztBQUdiO0FBQ0EsWUFBSW9GLFlBQStCLE1BQUt2QixRQUFMLENBQWNnQixHQUFkLENBQWtCbkMsR0FBRzFDLE1BQXJCLENBQW5DO0FBQ0EsWUFBSSxDQUFFb0YsU0FBTixFQUFrQjtBQUNoQkEsc0JBQVksSUFBSTVCLEdBQUosRUFBWjtBQUNBLGdCQUFLSyxRQUFMLENBQWNxQixHQUFkLENBQWtCeEMsR0FBRzFDLE1BQXJCLEVBQTZCb0YsU0FBN0I7QUFDRDs7QUFFRCxZQUFJQSxVQUFVTixHQUFWLENBQWNwQyxHQUFHN0QsSUFBakIsQ0FBSixFQUE0QjtBQUMxQixnQkFBTSxJQUFJTCxLQUFKLGFBQW9COEMsS0FBS0MsU0FBTCxDQUFlbUIsR0FBRzFDLE1BQWxCLENBQXBCLG9DQUE0RXNCLEtBQUtDLFNBQUwsQ0FBZW1CLEdBQUc3RCxJQUFsQixDQUE1RSxDQUFOO0FBQ0QsU0FGRCxNQUVPO0FBQ0x1RyxvQkFBVUYsR0FBVixDQUFjeEMsR0FBRzdELElBQWpCLEVBQXVCb0csVUFBdkI7QUFDRDs7QUFHRDtBQUNBLFlBQUlJLGFBQWdDLE1BQUt2QixnQkFBTCxDQUFzQmUsR0FBdEIsQ0FBMEJuQyxHQUFHN0QsSUFBN0IsQ0FBcEM7QUFDQSxZQUFJLENBQUV3RyxVQUFOLEVBQW1CO0FBQ2pCQSx1QkFBYSxJQUFJN0IsR0FBSixFQUFiO0FBQ0EsZ0JBQUtNLGdCQUFMLENBQXNCb0IsR0FBdEIsQ0FBMEJ4QyxHQUFHN0QsSUFBN0IsRUFBbUN3RyxVQUFuQztBQUNEOztBQUVEO0FBQ0E7QUFDQUEsbUJBQVdILEdBQVgsQ0FBZXhDLEdBQUcxQyxNQUFsQixFQUEwQmlGLFVBQTFCOztBQUdBO0FBQ0EsWUFBSSxDQUFFLE1BQUtsQix1QkFBTCxDQUE2QmUsR0FBN0IsQ0FBaUNwQyxHQUFHNUQsRUFBcEMsQ0FBTixFQUFnRDtBQUM5QyxnQkFBS2lGLHVCQUFMLENBQTZCbUIsR0FBN0IsQ0FBaUN4QyxHQUFHNUQsRUFBcEMsRUFBd0MsSUFBSTBFLEdBQUosRUFBeEM7QUFDRDs7QUFFVDs7Ozs7Ozs7Ozs7OztBQWFPO0FBRUYsS0F0R0Q7QUF3R0QsRyxDQXRKNEM7Ozs7K0JBd0psQzhCLFksRUFBMEM7QUFBRTs7QUFFckQsVUFBSSxLQUFLL0IsT0FBTCxDQUFhdUIsR0FBYixDQUFpQlEsYUFBYXJFLElBQTlCLENBQUosRUFBeUM7QUFDdkMsY0FBTSxJQUFJekMsS0FBSixZQUFtQjhDLEtBQUtDLFNBQUwsQ0FBZStELGFBQWFyRSxJQUE1QixDQUFuQixxQkFBTjtBQUNEOztBQUVELFdBQUtzQyxPQUFMLENBQWEyQixHQUFiLENBQWlCSSxhQUFhckUsSUFBOUIsRUFBb0NxRSxZQUFwQztBQUNBLGFBQU9BLGFBQWFyRSxJQUFwQjtBQUVEOzs7NEJBSVk7QUFDWCxhQUFPLEtBQUtxQyxNQUFaO0FBQ0Q7O0FBRUg7Ozs7Ozs7Ozs7bUNBU2lCaUMsVSxFQUEwQjtBQUN2QyxhQUFVLEtBQUtDLGlCQUFMLENBQXVCRCxVQUF2QixDQUFELElBQXlDLEtBQUtFLGlCQUFMLENBQXVCRixVQUF2QixDQUFsRDtBQUNEOzs7K0JBRW1CO0FBQ3RCO0FBQ0ksYUFBTyxLQUFLRyxjQUFMLENBQW9CLEtBQUt4RSxLQUFMLEVBQXBCLENBQVA7QUFDRDs7O21DQUVzQjtBQUNyQixhQUFPLEtBQUt3RCxhQUFaO0FBQ0Q7OztxQ0FJZ0M7QUFDL0IsYUFBTyxLQUFLVixlQUFaO0FBQ0Q7OztzQ0FFMEI7QUFDekIsYUFBTyxLQUFLQyxnQkFBWjtBQUNEOzs7MENBRXFDO0FBQ3BDLGFBQU8sS0FBS0Msb0JBQVo7QUFDRDs7O3lDQUU2QjtBQUM1QixhQUFPLEtBQUtDLG1CQUFaO0FBQ0Q7Ozt1Q0FFMkI7QUFDMUIsYUFBTyxLQUFLQyxpQkFBWjtBQUNEOzs7c0NBRTBCO0FBQ3pCLGFBQU8sS0FBS0MsZ0JBQVo7QUFDRDs7O21DQUV1QjtBQUN0QixhQUFPLEtBQUtDLGFBQVo7QUFDRDs7O3NDQUUwQjtBQUN6QixhQUFPLEtBQUtDLGdCQUFaO0FBQ0Q7Ozs2Q0FFd0M7QUFBSztBQUM1QyxhQUFPLEtBQUtDLHNCQUFaO0FBQ0Q7OztzQ0FFaUJtQixLLEVBQXFCO0FBQUs7QUFDMUMsYUFBTyxLQUFLbEMsbUJBQUwsQ0FBeUJvQixHQUF6QixDQUE2QmMsS0FBN0IsQ0FBUDtBQUNEOzs7eUNBRXNDO0FBQUs7QUFDMUMsYUFBTyxLQUFLbEMsbUJBQVo7QUFDRDs7O2tDQUVzQjtBQUNyQixhQUFPLEtBQUtnQixZQUFaO0FBQ0Q7OztvQ0FJbUQ7O0FBRWxELGFBQU87QUFDTG1CLHFDQUE4QixDQUR6Qjs7QUFHTEMsaUJBQXlCLEtBQUtoQyxRQUh6QjtBQUlMaUMsa0JBQXlCLEtBQUtuQyxTQUp6QjtBQUtMMUUsZUFBeUIsS0FBS3lFLE1BTHpCO0FBTUxxQywyQkFBeUIsS0FBS25DLGtCQU56QjtBQU9Mb0MseUJBQXlCLEtBQUtsQyxnQkFQekI7QUFRWDtBQUNNNUMsZUFBeUIsS0FBS29DLE1BVHpCO0FBVUwyQyxnQkFBeUIsS0FBSzFDO0FBVnpCLE9BQVA7QUFhRDs7QUFFSDs7Ozs7Ozs7NkJBT3VCO0FBQ25CLDBDQUFZLEtBQUtBLE9BQUwsQ0FBYTJDLElBQWIsRUFBWjtBQUNEOzs7OEJBRVNYLFUsRUFBd0M7QUFDaEQsVUFBTXJFLFFBQWdDLEtBQUtxQyxPQUFMLENBQWFzQixHQUFiLENBQWlCVSxVQUFqQixDQUF0QztBQUNBLFVBQUlyRSxLQUFKLEVBQVc7QUFBRSxlQUFPQSxLQUFQO0FBQWUsT0FBNUIsTUFDVztBQUFFLGNBQU0sSUFBSTFDLEtBQUosb0JBQTJCOEMsS0FBS0MsU0FBTCxDQUFlTCxLQUFmLENBQTNCLENBQU47QUFBNEQ7QUFDMUU7OztpQ0FJK0M7QUFDOUMsYUFBTyxLQUFLd0MsTUFBWjtBQUNEOzs7NkNBRTBDO0FBQ3pDLGFBQU8sS0FBS0Usa0JBQVo7QUFDRDs7O21DQUUwQjtBQUN6QiwwQ0FBWSxLQUFLQyxRQUFMLENBQWNxQyxJQUFkLEVBQVo7QUFDRDs7O2tEQUk2QnJILEksRUFBV0MsRSxFQUFrQjs7QUFFekQsVUFBTXFILE1BQTBCLEtBQUt4QyxTQUFMLENBQWVrQixHQUFmLENBQW1CaEcsSUFBbkIsQ0FBaEM7O0FBRUEsVUFBSXNILEdBQUosRUFBUztBQUNQLGVBQU9BLElBQUl0QixHQUFKLENBQVEvRixFQUFSLENBQVA7QUFDRCxPQUZELE1BRU87QUFDTCxlQUFPNkYsU0FBUDtBQUNEO0FBRUY7OzswQ0FJcUI5RixJLEVBQVdDLEUsRUFBb0M7QUFDbkUsVUFBTXNILEtBQWUsS0FBS0MsNkJBQUwsQ0FBbUN4SCxJQUFuQyxFQUF5Q0MsRUFBekMsQ0FBckI7QUFDQSxhQUFTc0gsT0FBT3pCLFNBQVIsSUFBdUJ5QixPQUFPLElBQS9CLEdBQXVDekIsU0FBdkMsR0FBbUQsS0FBS2pCLE1BQUwsQ0FBWTBDLEVBQVosQ0FBMUQ7QUFDRDs7O3VDQUl5RTtBQUFBLFVBQXpEYixVQUF5RCx1RUFBdkMsS0FBS3JFLEtBQUwsRUFBdUM7O0FBQ3hFLGFBQU8sRUFBQ29GLFdBQVcsS0FBS0MsY0FBTCxDQUFvQmhCLFVBQXBCLENBQVosRUFBNkNpQixPQUFPLEtBQUtDLFVBQUwsQ0FBZ0JsQixVQUFoQixDQUFwRCxFQUFQO0FBQ0Q7OztxQ0FFMEQ7QUFBQSxVQUE1Q0EsVUFBNEMsdUVBQTFCLEtBQUtyRSxLQUFMLEVBQTBCOztBQUN6RCxhQUFPLENBQUMsS0FBS3FDLE9BQUwsQ0FBYXNCLEdBQWIsQ0FBaUJVLFVBQWpCLEtBQWdDLEVBQWpDLEVBQXFDMUcsSUFBckMsSUFBNkMsRUFBcEQ7QUFDRDs7O2lDQUVzRDtBQUFBLFVBQTVDMEcsVUFBNEMsdUVBQTFCLEtBQUtyRSxLQUFMLEVBQTBCOztBQUNyRCxhQUFPLENBQUMsS0FBS3FDLE9BQUwsQ0FBYXNCLEdBQWIsQ0FBaUJVLFVBQWpCLEtBQWdDLEVBQWpDLEVBQXFDekcsRUFBckMsSUFBNkMsRUFBcEQ7QUFDRDs7O3VDQUlrQnlHLFUsRUFBb0Q7QUFBQTs7QUFFckUsVUFBTW1CLFNBQWlDLEtBQUtuRCxPQUFMLENBQWFzQixHQUFiLENBQWlCVSxVQUFqQixDQUF2QztBQUNBLFVBQUksQ0FBRW1CLE1BQU4sRUFBZTtBQUFFLGNBQU0sSUFBSWxJLEtBQUosb0JBQTJCOEMsS0FBS0MsU0FBTCxDQUFlZ0UsVUFBZixDQUEzQiw0QkFBTjtBQUF1Rjs7QUFFeEcsVUFBTW9CLFlBQTJCRCxPQUFPNUgsRUFBeEM7QUFBQSxVQUVNOEgsSUFBOEM7QUFBOUMsUUFDWUQsVUFDR3JILEdBREgsQ0FDUSxVQUFDdUgsRUFBRDtBQUFBLGVBQW9DLE9BQUtDLHFCQUFMLENBQTJCLE9BQUs1RixLQUFMLEVBQTNCLEVBQXlDMkYsRUFBekMsQ0FBcEM7QUFBQSxPQURSLEVBRUdFLE1BRkgsQ0FFVUMsT0FGVixDQUhsQjs7QUFPQSxhQUFPSixHQUFQO0FBRUQ7OzsrQ0FFbUM7QUFDbEMsVUFBTUssV0FBc0Msb0NBQXFCLEtBQUtDLGtCQUFMLENBQXdCLEtBQUtoRyxLQUFMLEVBQXhCLENBQXJCLENBQTVDO0FBQ0EsYUFBTyxLQUFLVSxVQUFMLENBQWlCcUYsU0FBU25JLEVBQTFCLENBQVA7QUFDRDs7O3VDQUVrQnFJLEMsRUFBdUI7QUFBQTs7QUFDeEMsYUFBTyxtQkFBSUEsQ0FBSixFQUNBN0gsR0FEQSxDQUNJLFlBQVk7QUFDZCxZQUFNOEgsWUFBaUIsT0FBS2xHLEtBQUwsRUFBdkI7QUFDQSxlQUFLbUcsd0JBQUw7QUFDQSxlQUFPRCxTQUFQO0FBQ0QsT0FMRCxFQU1BNUcsTUFOQSxDQU1PLENBQUMsS0FBS1UsS0FBTCxFQUFELENBTlAsQ0FBUDtBQU9EOzs7NkNBRXdCaUcsQyxFQUE2QjtBQUNwRCxhQUFPLDBCQUFXLEtBQUtHLGtCQUFMLENBQXdCSCxDQUF4QixDQUFYLENBQVA7QUFDRDs7OzhCQUlvRDtBQUFBLFVBQTdDNUIsVUFBNkMsdUVBQTNCLEtBQUtyRSxLQUFMLEVBQTJCOztBQUNuRCxVQUFNd0YsU0FBNkIsS0FBSzVDLGdCQUFMLENBQXNCZSxHQUF0QixDQUEwQlUsVUFBMUIsQ0FBbkM7QUFDQSxVQUFJbUIsTUFBSixFQUFZO0FBQUUsNENBQVlBLE9BQU9SLElBQVAsRUFBWjtBQUE2QixPQUEzQyxNQUNZO0FBQUUsY0FBTSxJQUFJMUgsS0FBSixvQkFBMkI4QyxLQUFLQyxTQUFMLENBQWVnRSxVQUFmLENBQTNCLENBQU47QUFBaUU7QUFDaEY7Ozs4Q0FFeUJBLFUsRUFBNkI7QUFDckQsVUFBTW1CLFNBQTZCLEtBQUs3QyxRQUFMLENBQWNnQixHQUFkLENBQWtCVSxVQUFsQixDQUFuQztBQUNBLFVBQUltQixNQUFKLEVBQVk7QUFBRSw0Q0FBWUEsT0FBT1IsSUFBUCxFQUFaO0FBQTZCLE9BQTNDLE1BQ1k7QUFBRSxjQUFNLElBQUkxSCxLQUFKLG9CQUEyQjhDLEtBQUtDLFNBQUwsQ0FBZWdFLFVBQWYsQ0FBM0IsQ0FBTjtBQUFpRTtBQUNoRjs7QUFFSDtBQUNBOzs7Ozs7Ozs7Ozt3Q0FRa0U7QUFBQTs7QUFBQSxVQUE5Q0EsVUFBOEMsdUVBQTVCLEtBQUtyRSxLQUFMLEVBQTRCO0FBQUU7QUFDaEUsVUFBTXFHLFVBQTZCLEtBQUt6RCxnQkFBTCxDQUFzQmUsR0FBdEIsQ0FBMEJVLFVBQTFCLENBQW5DO0FBQ0EsVUFBSSxDQUFFZ0MsT0FBTixFQUFnQjtBQUFFLGNBQU0sSUFBSS9JLEtBQUosb0JBQTJCOEMsS0FBS0MsU0FBTCxDQUFlZ0UsVUFBZixDQUEzQixDQUFOO0FBQWlFOztBQUVuRixhQUFPLDZCQUFLZ0MsUUFBUUMsTUFBUixFQUFMLEdBQ0NsSSxHQURELENBQ1UsVUFBQ21JLE1BQUQ7QUFBQSxlQUE0RCxPQUFLL0QsTUFBTCxDQUFZK0QsTUFBWixDQUE1RDtBQUFBLE9BRFYsRUFFQ1YsTUFGRCxDQUVVLFVBQUNXLENBQUQ7QUFBQSxlQUE0REEsRUFBRTdJLElBQUYsS0FBVzBHLFVBQXZFO0FBQUEsT0FGVixFQUdDakcsR0FIRCxDQUdVLFVBQUNxSSxRQUFEO0FBQUEsZUFBNERBLFNBQVMzSCxNQUFyRTtBQUFBLE9BSFYsQ0FBUDtBQUlEOzs7NENBRXFFO0FBQUE7O0FBQUEsVUFBaER1RixVQUFnRCx1RUFBOUIsS0FBS3JFLEtBQUwsRUFBOEI7QUFBRTtBQUN0RSxVQUFNcUcsVUFBNkIsS0FBS3pELGdCQUFMLENBQXNCZSxHQUF0QixDQUEwQlUsVUFBMUIsQ0FBbkM7QUFDQSxVQUFJLENBQUVnQyxPQUFOLEVBQWdCO0FBQUUsY0FBTSxJQUFJL0ksS0FBSixvQkFBMkI4QyxLQUFLQyxTQUFMLENBQWVnRSxVQUFmLENBQTNCLENBQU47QUFBaUU7O0FBRW5GLGFBQU8sNkJBQUtnQyxRQUFRQyxNQUFSLEVBQUwsR0FDQ2xJLEdBREQsQ0FDVSxVQUFDbUksTUFBRDtBQUFBLGVBQThDLE9BQUsvRCxNQUFMLENBQVkrRCxNQUFaLENBQTlDO0FBQUEsT0FEVixFQUVDVixNQUZELENBRVUsVUFBQ1csQ0FBRDtBQUFBLGVBQThDQSxFQUFFN0ksSUFBRixLQUFXMEcsVUFBekQ7QUFBQSxPQUZWLEVBR0NqRyxHQUhELENBR1UsVUFBQ3FJLFFBQUQ7QUFBQSxlQUFnRCxFQUFFM0gsUUFBYzJILFNBQVMzSCxNQUF6QjtBQUNFRSx1QkFBY3lILFNBQVN6SCxXQUR6QixFQUFoRDtBQUFBLE9BSFYsQ0FBUDtBQU1EOzs7bUNBSWNxRixVLEVBQTBCO0FBQ3ZDO0FBQ0EsYUFBTyxLQUFLZ0IsY0FBTCxDQUFvQmhCLFVBQXBCLEVBQWdDMUMsTUFBaEMsS0FBMkMsQ0FBbEQ7QUFDRDs7O3VDQUUyQjtBQUFBOztBQUMxQixhQUFPLEtBQUtvRCxNQUFMLEdBQWMyQixJQUFkLENBQW9CLFVBQUNDLENBQUQ7QUFBQSxlQUFnQixPQUFLQyxjQUFMLENBQW9CRCxDQUFwQixDQUFoQjtBQUFBLE9BQXBCLENBQVA7QUFDRDs7O2tDQUlzQjtBQUNyQixhQUFPLEtBQUtyQyxpQkFBTCxDQUF1QixLQUFLdEUsS0FBTCxFQUF2QixDQUFQO0FBQ0Q7OztzQ0FFaUJxRSxVLEVBQTBCO0FBQzFDO0FBQ0EsYUFBTyxLQUFLa0IsVUFBTCxDQUFnQmxCLFVBQWhCLEVBQTRCMUMsTUFBNUIsS0FBdUMsQ0FBOUM7QUFDRDs7O29DQUV3QjtBQUFBOztBQUN2QixhQUFPLEtBQUtvRCxNQUFMLEdBQWMyQixJQUFkLENBQW9CLFVBQUNDLENBQUQ7QUFBQSxlQUFnQixPQUFLckMsaUJBQUwsQ0FBdUJxQyxDQUF2QixDQUFoQjtBQUFBLE9BQXBCLENBQVA7QUFDRDs7O2tDQUlzQjtBQUNyQixhQUFPLEtBQUtwQyxpQkFBTCxDQUF1QixLQUFLdkUsS0FBTCxFQUF2QixDQUFQO0FBQ0Q7OztzQ0FFaUJxRSxVLEVBQTJCO0FBQzNDLFVBQU1tQixTQUFpQyxLQUFLbkQsT0FBTCxDQUFhc0IsR0FBYixDQUFpQlUsVUFBakIsQ0FBdkM7QUFDQSxVQUFJbUIsTUFBSixFQUFZO0FBQUUsZUFBT0EsT0FBT3JELFFBQWQ7QUFBeUIsT0FBdkMsTUFDWTtBQUFFLGNBQU0sSUFBSTdFLEtBQUosb0JBQTJCOEMsS0FBS0MsU0FBTCxDQUFlZ0UsVUFBZixDQUEzQixDQUFOO0FBQWlFO0FBQ2hGOzs7b0NBRXdCO0FBQUE7O0FBQ3ZCLGFBQU8sS0FBS1UsTUFBTCxHQUFjMkIsSUFBZCxDQUFvQixVQUFDQyxDQUFEO0FBQUEsZUFBZ0IsT0FBS3BDLGlCQUFMLENBQXVCb0MsQ0FBdkIsQ0FBaEI7QUFBQSxPQUFwQixDQUFQO0FBQ0Q7OzsyQkFJTTVHLEksRUFBVzhHLE8sRUFBd0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0EsVUFBSSxLQUFLQyxZQUFMLENBQWtCL0csSUFBbEIsRUFBd0I4RyxPQUF4QixDQUFKLEVBQXNDO0FBQ3BDLFlBQU1FLE9BQWlDLEtBQUtDLHVCQUFMLENBQTZCakgsSUFBN0IsQ0FBdkM7QUFDQSxhQUFLcUMsTUFBTCxHQUFjMkUsS0FBS25KLEVBQW5CO0FBQ0EsZUFBTyxJQUFQO0FBQ0QsT0FKRCxNQUlPO0FBQ0wsZUFBTyxLQUFQO0FBQ0Q7QUFDRjs7OytCQUVVcUosUSxFQUFlSixPLEVBQXdCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBLFVBQUksS0FBS0ssZ0JBQUwsQ0FBc0JELFFBQXRCLEVBQWdDSixPQUFoQyxDQUFKLEVBQThDO0FBQzVDLGFBQUt6RSxNQUFMLEdBQWM2RSxRQUFkO0FBQ0EsZUFBTyxJQUFQO0FBQ0QsT0FIRCxNQUdPO0FBQ0wsZUFBTyxLQUFQO0FBQ0Q7QUFDRjs7QUFFRDs7OztxQ0FDaUJBLFEsRUFBZUosTyxFQUF3QjtBQUN0RDtBQUNBO0FBQ0E7QUFDQSxVQUFJLEtBQUtNLHNCQUFMLENBQTRCRixRQUE1QixFQUFzQ0osT0FBdEMsQ0FBSixFQUFvRDtBQUNsRCxhQUFLekUsTUFBTCxHQUFjNkUsUUFBZDtBQUNBLGVBQU8sSUFBUDtBQUNELE9BSEQsTUFHTztBQUNMLGVBQU8sS0FBUDtBQUNEO0FBQ0Y7Ozt1Q0FJa0JuSSxNLEVBQTRCO0FBQzdDLFVBQU1zSSxjQUFpQyxLQUFLekUsUUFBTCxDQUFjZ0IsR0FBZCxDQUFrQjdFLE1BQWxCLENBQXZDO0FBQ0EsYUFBT3NJLGNBQWFBLFlBQVl6RCxHQUFaLENBQWdCLEtBQUszRCxLQUFMLEVBQWhCLENBQWIsR0FBNEN5RCxTQUFuRDtBQUNEOzs7NENBRXVCM0UsTSxFQUF1QztBQUM3RCxVQUFNdUksTUFBZSxLQUFLQyxrQkFBTCxDQUF3QnhJLE1BQXhCLENBQXJCO0FBQ0EsVUFBS3VJLFFBQVE1RCxTQUFULElBQXdCNEQsUUFBUSxJQUFwQyxFQUEyQztBQUFFLGNBQU0sSUFBSS9KLEtBQUoscUJBQTRCOEMsS0FBS0MsU0FBTCxDQUFldkIsTUFBZixDQUE1QixDQUFOO0FBQThEO0FBQzNHLGFBQU8sS0FBSzBELE1BQUwsQ0FBWTZFLEdBQVosQ0FBUDtBQUNEOzs7aUNBRVl2SSxNLEVBQWF5SSxRLEVBQXlCO0FBQUc7QUFDcEQ7QUFDQTtBQUNBO0FBQ0EsYUFBTyxLQUFLRCxrQkFBTCxDQUF3QnhJLE1BQXhCLE1BQW9DMkUsU0FBM0M7QUFDRDs7O3FDQUVnQndELFEsRUFBZU0sUSxFQUF5QjtBQUFHO0FBQzFEO0FBQ0E7QUFFQSxVQUFNQyxpQkFBNEMsS0FBSzVCLHFCQUFMLENBQTJCLEtBQUs1RixLQUFMLEVBQTNCLEVBQXlDaUgsUUFBekMsQ0FBbEQ7O0FBRUEsVUFBSSxDQUFFTyxjQUFOLEVBQWdDO0FBQUUsZUFBTyxLQUFQO0FBQWU7QUFDakQsVUFBSUEsZUFBZTdJLFdBQW5CLEVBQWdDO0FBQUUsZUFBTyxLQUFQO0FBQWU7O0FBRWpELGFBQU8sSUFBUDtBQUVEOzs7MkNBRXNCc0ksUSxFQUFlTSxRLEVBQXlCO0FBQUc7QUFDaEU7QUFDQTtBQUNBO0FBQ0EsYUFBUSxLQUFLM0IscUJBQUwsQ0FBMkIsS0FBSzVGLEtBQUwsRUFBM0IsRUFBeUNpSCxRQUF6QyxNQUF1RHhELFNBQS9EO0FBQ0Q7Ozs7OztBQVNILFNBQVNnRSxFQUFULENBQXNCQyxnQkFBdEIsQ0FBc0QsaUJBQXRELEVBQTRGO0FBQUE7OztBQUV4RjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFPLElBQUl4RixPQUFKLENBQVlGLEtBQUswRixpQkFBaUIxSyxNQUFqQjs7QUFFdEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsWUFBQ1UsR0FBRCxFQUFNbUMsR0FBTixFQUFXd0gsR0FBWDtBQUFBLGdCQUE4QjNKLEdBQTlCLEdBQW9DLFdBQVUySixHQUFWLENBQXBDLEdBQXFEeEgsR0FBckQ7QUFBQSxHQVBzQixDQU9zQztBQUM1RDtBQUNBOztBQVRzQixHQUFMLENBQVosQ0FBUDtBQWFIOztRQVFDM0MsTyxHQUFBQSxPO1FBRUFnRixPLEdBQUFBLE87UUFFQUYsSSxHQUFBQSxJO1FBQ0UvRSxLLEdBQUFBLEs7UUFDQXFELE8sR0FBQUEsTztRQUVGbUgsRSxHQUFBQSxFO1FBRUF0SyxlLEdBQUFBLGU7UUFDQUksZSxHQUFBQSxlO1FBQ0FDLGdCLEdBQUFBLGdCO1FBR0FtSyxHO1FBQUtDLG9CO1FBQXNCQyxVO1FBQVlDLHNCO1FBQXdCQyxrQiIsImZpbGUiOiJqc3NtLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyB3aGFyZ2FyYmwgbG90cyBvZiB0aGVzZSByZXR1cm4gYXJyYXlzIGNvdWxkL3Nob3VsZCBiZSBzZXRzXG5cbi8vIEBmbG93XG5cbmNvbnN0IHJlZHVjZV90b182MzkgOiBGdW5jdGlvbiA9IHJlcXVpcmUoJ3JlZHVjZS10by02MzktMScpLnJlZHVjZTtcblxuXG5cblxuXG5pbXBvcnQgdHlwZSB7XG5cbiAgSnNzbUdlbmVyaWNTdGF0ZSwgSnNzbUdlbmVyaWNDb25maWcsXG4gIEpzc21UcmFuc2l0aW9uLCBKc3NtVHJhbnNpdGlvbkxpc3QsXG4gIEpzc21NYWNoaW5lSW50ZXJuYWxTdGF0ZSxcbiAgSnNzbVBhcnNlVHJlZSxcbiAgSnNzbUNvbXBpbGVTZSwgSnNzbUNvbXBpbGVTZVN0YXJ0LCBKc3NtQ29tcGlsZVJ1bGUsXG4gIEpzc21BcnJvdywgSnNzbUFycm93RGlyZWN0aW9uLCBKc3NtQXJyb3dLaW5kLFxuICBKc3NtTGF5b3V0XG5cbn0gZnJvbSAnLi9qc3NtLXR5cGVzJztcblxuXG5cblxuXG5pbXBvcnQgeyBzZXEsIHdlaWdodGVkX3JhbmRfc2VsZWN0LCB3ZWlnaHRlZF9zYW1wbGVfc2VsZWN0LCBoaXN0b2dyYXBoLCB3ZWlnaHRlZF9oaXN0b19rZXkgfSBmcm9tICcuL2pzc20tdXRpbC5qcyc7XG5cbmNvbnN0IHBhcnNlOiA8TlQsIERUPihzdHJpbmcpID0+IEpzc21QYXJzZVRyZWU8TlQ+ID0gcmVxdWlyZSgnLi9qc3NtLWRvdC5qcycpLnBhcnNlOyAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBmbG93dHlwZS9uby13ZWFrLXR5cGVzIC8vIHRvZG8gd2hhcmdhcmJsIHJlbW92ZSBhbnlcblxuY29uc3QgdmVyc2lvbjogbnVsbCA9IG51bGw7IC8vIHJlcGxhY2VkIGZyb20gcGFja2FnZS5qcyBpbiBidWlsZFxuXG5cblxuXG5cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cblxuZnVuY3Rpb24gYXJyb3dfZGlyZWN0aW9uKGFycm93OiBKc3NtQXJyb3cpOiBKc3NtQXJyb3dEaXJlY3Rpb24ge1xuXG4gIHN3aXRjaCAoIFN0cmluZyhhcnJvdykgKSB7XG5cbiAgICBjYXNlICctPicgOiAgICBjYXNlICfihpInIDpcbiAgICBjYXNlICc9PicgOiAgICBjYXNlICfih5InIDpcbiAgICBjYXNlICd+PicgOiAgICBjYXNlICfihpsnIDpcbiAgICAgIHJldHVybiAncmlnaHQnO1xuXG4gICAgY2FzZSAnPC0nIDogICAgY2FzZSAn4oaQJyA6XG4gICAgY2FzZSAnPD0nIDogICAgY2FzZSAn4oeQJyA6XG4gICAgY2FzZSAnPH4nIDogICAgY2FzZSAn4oaaJyA6XG4gICAgICByZXR1cm4gJ2xlZnQnO1xuXG4gICAgY2FzZSAnPC0+JzogICAgY2FzZSAn4oaUJyA6XG4gICAgY2FzZSAnPC09Pic6ICAgY2FzZSAn4oaQ4oeSJyA6XG4gICAgY2FzZSAnPC1+Pic6ICAgY2FzZSAn4oaQ4oabJyA6XG5cbiAgICBjYXNlICc8PT4nOiAgICBjYXNlICfih5QnIDpcbiAgICBjYXNlICc8PS0+JzogICBjYXNlICfih5DihpInIDpcbiAgICBjYXNlICc8PX4+JzogICBjYXNlICfih5DihpsnIDpcblxuICAgIGNhc2UgJzx+Pic6ICAgIGNhc2UgJ+KGricgOlxuICAgIGNhc2UgJzx+LT4nOiAgIGNhc2UgJ+KGmuKGkicgOlxuICAgIGNhc2UgJzx+PT4nOiAgIGNhc2UgJ+KGmuKHkicgOlxuICAgICAgcmV0dXJuICdib3RoJztcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGFycm93X2RpcmVjdGlvbjogdW5rbm93biBhcnJvdyB0eXBlICR7YXJyb3d9YCk7XG5cbiAgfVxuXG59XG5cbi8qIGVzbGludC1lbmFibGUgY29tcGxleGl0eSAqL1xuXG5cblxuXG5cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cblxuZnVuY3Rpb24gYXJyb3dfbGVmdF9raW5kKGFycm93OiBKc3NtQXJyb3cpOiBKc3NtQXJyb3dLaW5kIHtcblxuICBzd2l0Y2ggKCBTdHJpbmcoYXJyb3cpICkge1xuXG4gICAgY2FzZSAnLT4nIDogICAgY2FzZSAn4oaSJyA6XG4gICAgY2FzZSAnPT4nIDogICAgY2FzZSAn4oeSJyA6XG4gICAgY2FzZSAnfj4nIDogICAgY2FzZSAn4oabJyA6XG4gICAgICByZXR1cm4gJ25vbmUnO1xuXG4gICAgY2FzZSAnPC0nOiAgICAgY2FzZSAn4oaQJyA6XG4gICAgY2FzZSAnPC0+JzogICAgY2FzZSAn4oaUJyA6XG4gICAgY2FzZSAnPC09Pic6ICAgY2FzZSAn4oaQ4oeSJyA6XG4gICAgY2FzZSAnPC1+Pic6ICAgY2FzZSAn4oaQ4oabJyA6XG4gICAgICByZXR1cm4gJ2xlZ2FsJztcblxuICAgIGNhc2UgJzw9JzogICAgIGNhc2UgJ+KHkCcgOlxuICAgIGNhc2UgJzw9Pic6ICAgIGNhc2UgJ+KHlCcgOlxuICAgIGNhc2UgJzw9LT4nOiAgIGNhc2UgJ+KHkOKGkicgOlxuICAgIGNhc2UgJzw9fj4nOiAgIGNhc2UgJ+KHkOKGmycgOlxuICAgICAgcmV0dXJuICdtYWluJztcblxuICAgIGNhc2UgJzx+JzogICAgIGNhc2UgJ+KGmicgOlxuICAgIGNhc2UgJzx+Pic6ICAgIGNhc2UgJ+KGricgOlxuICAgIGNhc2UgJzx+LT4nOiAgIGNhc2UgJ+KGmuKGkicgOlxuICAgIGNhc2UgJzx+PT4nOiAgIGNhc2UgJ+KGmuKHkicgOlxuICAgICAgcmV0dXJuICdmb3JjZWQnO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgYXJyb3dfZGlyZWN0aW9uOiB1bmtub3duIGFycm93IHR5cGUgJHthcnJvd31gKTtcblxuICB9XG5cbn1cblxuLyogZXNsaW50LWVuYWJsZSBjb21wbGV4aXR5ICovXG5cblxuXG5cblxuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuXG5mdW5jdGlvbiBhcnJvd19yaWdodF9raW5kKGFycm93OiBKc3NtQXJyb3cpOiBKc3NtQXJyb3dLaW5kIHtcblxuICBzd2l0Y2ggKCBTdHJpbmcoYXJyb3cpICkge1xuXG4gICAgY2FzZSAnPC0nIDogICAgY2FzZSAn4oaQJyA6XG4gICAgY2FzZSAnPD0nIDogICAgY2FzZSAn4oeQJyA6XG4gICAgY2FzZSAnPH4nIDogICAgY2FzZSAn4oaaJyA6XG4gICAgICByZXR1cm4gJ25vbmUnO1xuXG4gICAgY2FzZSAnLT4nIDogICAgY2FzZSAn4oaSJyA6XG4gICAgY2FzZSAnPC0+JzogICAgY2FzZSAn4oaUJyA6XG4gICAgY2FzZSAnPD0tPic6ICAgY2FzZSAn4oeQ4oaSJyA6XG4gICAgY2FzZSAnPH4tPic6ICAgY2FzZSAn4oaa4oaSJyA6XG4gICAgICByZXR1cm4gJ2xlZ2FsJztcblxuICAgIGNhc2UgJz0+JyA6ICAgIGNhc2UgJ+KHkicgOlxuICAgIGNhc2UgJzw9Pic6ICAgIGNhc2UgJ+KHlCcgOlxuICAgIGNhc2UgJzwtPT4nOiAgIGNhc2UgJ+KGkOKHkicgOlxuICAgIGNhc2UgJzx+PT4nOiAgIGNhc2UgJ+KGmuKHkicgOlxuICAgICAgcmV0dXJuICdtYWluJztcblxuICAgIGNhc2UgJ34+JyA6ICAgIGNhc2UgJ+KGmycgOlxuICAgIGNhc2UgJzx+Pic6ICAgIGNhc2UgJ+KGricgOlxuICAgIGNhc2UgJzwtfj4nOiAgIGNhc2UgJ+KGkOKGmycgOlxuICAgIGNhc2UgJzw9fj4nOiAgIGNhc2UgJ+KHkOKGmycgOlxuICAgICAgcmV0dXJuICdmb3JjZWQnO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgYXJyb3dfZGlyZWN0aW9uOiB1bmtub3duIGFycm93IHR5cGUgJHthcnJvd31gKTtcblxuICB9XG5cbn1cblxuLyogZXNsaW50LWVuYWJsZSBjb21wbGV4aXR5ICovXG5cblxuXG5cblxuZnVuY3Rpb24gY29tcGlsZV9ydWxlX3RyYW5zaXRpb25fc3RlcDxtTlQsIG1EVD4oXG4gICAgICAgICAgICAgYWNjICAgICA6IEFycmF5PCBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPixcbiAgICAgICAgICAgICBmcm9tICAgIDogbU5ULFxuICAgICAgICAgICAgIHRvICAgICAgOiBtTlQsXG4gICAgICAgICAgICAgdGhpc19zZSA6IEpzc21Db21waWxlU2U8bU5UPixcbiAgICAgICAgICAgICBuZXh0X3NlIDogSnNzbUNvbXBpbGVTZTxtTlQ+XG4gICAgICAgICApIDogQXJyYXk8IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA+IHsgLy8gdG9kbyBmbG93IGRlc2NyaWJlIHRoZSBwYXJzZXIgcmVwcmVzZW50YXRpb24gb2YgYSB0cmFuc2l0aW9uIHN0ZXAgZXh0ZW5zaW9uXG5cbiAgY29uc3QgZWRnZXMgOiBBcnJheTwgSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID4gPSBbXTtcblxuICBjb25zdCB1RnJvbSA6IEFycmF5PCBtTlQgPiA9IChBcnJheS5pc0FycmF5KGZyb20pPyBmcm9tIDogW2Zyb21dKSxcbiAgICAgICAgdVRvICAgOiBBcnJheTwgbU5UID4gPSAoQXJyYXkuaXNBcnJheSh0byk/ICAgdG8gICA6IFt0b10gICk7XG5cbiAgdUZyb20ubWFwKCAoZjogbU5UKSA9PiB7XG4gICAgdVRvLm1hcCggKHQ6IG1OVCkgPT4ge1xuXG4gICAgICBjb25zdCByazogSnNzbUFycm93S2luZCA9IGFycm93X3JpZ2h0X2tpbmQodGhpc19zZS5raW5kKSxcbiAgICAgICAgICAgIGxrOiBKc3NtQXJyb3dLaW5kID0gYXJyb3dfbGVmdF9raW5kKHRoaXNfc2Uua2luZCk7XG5cblxuICAgICAgY29uc3QgcmlnaHQ6IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA9IHtcbiAgICAgICAgZnJvbSAgICAgICAgOiBmLFxuICAgICAgICB0byAgICAgICAgICA6IHQsXG4gICAgICAgIGtpbmQgICAgICAgIDogcmssXG4gICAgICAgIGZvcmNlZF9vbmx5IDogcmsgPT09ICdmb3JjZWQnLFxuICAgICAgICBtYWluX3BhdGggICA6IHJrID09PSAnbWFpbidcbiAgICAgIH07XG5cbiAgICAgIGlmICh0aGlzX3NlLnJfYWN0aW9uKSAgICAgIHsgcmlnaHQuYWN0aW9uICAgICAgPSB0aGlzX3NlLnJfYWN0aW9uOyAgICAgIH1cbiAgICAgIGlmICh0aGlzX3NlLnJfcHJvYmFiaWxpdHkpIHsgcmlnaHQucHJvYmFiaWxpdHkgPSB0aGlzX3NlLnJfcHJvYmFiaWxpdHk7IH1cbiAgICAgIGlmIChyaWdodC5raW5kICE9PSAnbm9uZScpIHsgZWRnZXMucHVzaChyaWdodCk7IH1cblxuXG4gICAgICBjb25zdCBsZWZ0OiBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPSB7XG4gICAgICAgIGZyb20gICAgICAgIDogdCxcbiAgICAgICAgdG8gICAgICAgICAgOiBmLFxuICAgICAgICBraW5kICAgICAgICA6IGxrLFxuICAgICAgICBmb3JjZWRfb25seSA6IGxrID09PSAnZm9yY2VkJyxcbiAgICAgICAgbWFpbl9wYXRoICAgOiBsayA9PT0gJ21haW4nXG4gICAgICB9O1xuXG4gICAgICBpZiAodGhpc19zZS5sX2FjdGlvbikgICAgICB7IGxlZnQuYWN0aW9uICAgICAgPSB0aGlzX3NlLmxfYWN0aW9uOyAgICAgIH1cbiAgICAgIGlmICh0aGlzX3NlLmxfcHJvYmFiaWxpdHkpIHsgbGVmdC5wcm9iYWJpbGl0eSA9IHRoaXNfc2UubF9wcm9iYWJpbGl0eTsgfVxuICAgICAgaWYgKGxlZnQua2luZCAhPT0gJ25vbmUnKSAgeyBlZGdlcy5wdXNoKGxlZnQpOyB9XG5cbiAgICB9KTtcbiAgfSk7XG5cbiAgY29uc3QgbmV3X2FjYzogQXJyYXk8IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA+ID0gYWNjLmNvbmNhdChlZGdlcyk7XG5cbiAgaWYgKG5leHRfc2UpIHtcbiAgICByZXR1cm4gY29tcGlsZV9ydWxlX3RyYW5zaXRpb25fc3RlcChuZXdfYWNjLCB0bywgbmV4dF9zZS50bywgbmV4dF9zZSwgbmV4dF9zZS5zZSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5ld19hY2M7XG4gIH1cblxufVxuXG5cblxuZnVuY3Rpb24gY29tcGlsZV9ydWxlX2hhbmRsZV90cmFuc2l0aW9uPG1OVD4ocnVsZTogSnNzbUNvbXBpbGVTZVN0YXJ0PG1OVD4pOiBtaXhlZCB7IC8vIHRvZG8gZmxvdyBkZXNjcmliZSB0aGUgcGFyc2VyIHJlcHJlc2VudGF0aW9uIG9mIGEgdHJhbnNpdGlvblxuICByZXR1cm4gY29tcGlsZV9ydWxlX3RyYW5zaXRpb25fc3RlcChbXSwgcnVsZS5mcm9tLCBydWxlLnNlLnRvLCBydWxlLnNlLCBydWxlLnNlLnNlKTtcbn1cblxuXG5cbmZ1bmN0aW9uIGNvbXBpbGVfcnVsZV9oYW5kbGVyPG1OVD4ocnVsZTogSnNzbUNvbXBpbGVTZVN0YXJ0PG1OVD4pOiBKc3NtQ29tcGlsZVJ1bGUgeyAvLyB0b2RvIGZsb3cgZGVzY3JpYmUgdGhlIG91dHB1dCBvZiB0aGUgcGFyc2VyXG5cbiAgaWYgKHJ1bGUua2V5ID09PSAndHJhbnNpdGlvbicpIHtcbiAgICByZXR1cm4geyBhZ2dfYXM6ICd0cmFuc2l0aW9uJywgdmFsOiBjb21waWxlX3J1bGVfaGFuZGxlX3RyYW5zaXRpb24ocnVsZSkgfTtcbiAgfVxuXG4gIGlmIChydWxlLmtleSA9PT0gJ21hY2hpbmVfbGFuZ3VhZ2UnKSB7XG4gICAgcmV0dXJuIHsgYWdnX2FzOiAnbWFjaGluZV9sYW5ndWFnZScsIHZhbDogcmVkdWNlX3RvXzYzOShydWxlLnZhbHVlKSB9O1xuICB9XG5cbiAgaWYgKHJ1bGUua2V5ID09PSAnc3RhdGVfZGVjbGFyYXRpb24nKSB7XG4gICAgaWYgKCFydWxlLm5hbWUpIHsgdGhyb3cgbmV3IEVycm9yKCdTdGF0ZSBkZWNsYXJhdGlvbnMgbXVzdCBoYXZlIGEgbmFtZScpOyB9XG4gICAgcmV0dXJuIHsgYWdnX2FzOiAnc3RhdGVfZGVjbGFyYXRpb24nLCB2YWw6IHsgc3RhdGU6IHJ1bGUubmFtZSwgZGVjbGFyYXRpb25zOiBydWxlLnZhbHVlIH0gfTtcbiAgfVxuXG4gIGNvbnN0IHRhdXRvbG9naWVzIDogQXJyYXk8c3RyaW5nPiA9IFtcbiAgICAnZ3JhcGhfbGF5b3V0JywgJ3N0YXJ0X3N0YXRlcycsICdlbmRfc3RhdGVzJywgJ21hY2hpbmVfbmFtZScsICdtYWNoaW5lX3ZlcnNpb24nLFxuICAgICdtYWNoaW5lX2NvbW1lbnQnLCAnbWFjaGluZV9hdXRob3InLCAnbWFjaGluZV9jb250cmlidXRvcicsICdtYWNoaW5lX2RlZmluaXRpb24nLFxuICAgICdtYWNoaW5lX3JlZmVyZW5jZScsICdtYWNoaW5lX2xpY2Vuc2UnLCAnZnNsX3ZlcnNpb24nXG4gIF07XG5cbiAgaWYgKHRhdXRvbG9naWVzLmluY2x1ZGVzKHJ1bGUua2V5KSkge1xuICAgIHJldHVybiB7IGFnZ19hczogcnVsZS5rZXksIHZhbDogcnVsZS52YWx1ZSB9O1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKGBjb21waWxlX3J1bGVfaGFuZGxlcjogVW5rbm93biBydWxlOiAke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWApO1xuXG59XG5cblxuXG5cblxuZnVuY3Rpb24gY29tcGlsZTxtTlQsIG1EVD4odHJlZTogSnNzbVBhcnNlVHJlZTxtTlQ+KTogSnNzbUdlbmVyaWNDb25maWc8bU5ULCBtRFQ+IHsgIC8vIHRvZG8gZmxvdyBkZXNjcmliZSB0aGUgb3V0cHV0IG9mIHRoZSBwYXJzZXJcblxuICBjb25zdCByZXN1bHRzIDoge1xuICAgIGdyYXBoX2xheW91dCAgICAgICAgOiBBcnJheTwgSnNzbUxheW91dCA+LFxuICAgIHRyYW5zaXRpb24gICAgICAgICAgOiBBcnJheTwgSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID4sXG4gICAgc3RhcnRfc3RhdGVzICAgICAgICA6IEFycmF5PCBtTlQgPixcbiAgICBlbmRfc3RhdGVzICAgICAgICAgIDogQXJyYXk8IG1OVCA+LFxuICAgIHN0YXRlX2RlY2xhcmF0aW9uICAgOiBBcnJheTwgbU5UID4sXG4gICAgZnNsX3ZlcnNpb24gICAgICAgICA6IEFycmF5PCBzdHJpbmcgPixcbiAgICBtYWNoaW5lX2F1dGhvciAgICAgIDogQXJyYXk8IHN0cmluZyA+LFxuICAgIG1hY2hpbmVfY29tbWVudCAgICAgOiBBcnJheTwgc3RyaW5nID4sXG4gICAgbWFjaGluZV9jb250cmlidXRvciA6IEFycmF5PCBzdHJpbmcgPixcbiAgICBtYWNoaW5lX2RlZmluaXRpb24gIDogQXJyYXk8IHN0cmluZyA+LFxuICAgIG1hY2hpbmVfbGFuZ3VhZ2UgICAgOiBBcnJheTwgc3RyaW5nID4sXG4gICAgbWFjaGluZV9saWNlbnNlICAgICA6IEFycmF5PCBzdHJpbmcgPixcbiAgICBtYWNoaW5lX25hbWUgICAgICAgIDogQXJyYXk8IHN0cmluZyA+LFxuICAgIG1hY2hpbmVfcmVmZXJlbmNlICAgOiBBcnJheTwgc3RyaW5nID4sXG4gICAgbWFjaGluZV92ZXJzaW9uICAgICA6IEFycmF5PCBzdHJpbmcgPiAvLyBzZW12ZXJcbiAgfSA9IHtcbiAgICBncmFwaF9sYXlvdXQgICAgICAgIDogW10sXG4gICAgdHJhbnNpdGlvbiAgICAgICAgICA6IFtdLFxuICAgIHN0YXJ0X3N0YXRlcyAgICAgICAgOiBbXSxcbiAgICBlbmRfc3RhdGVzICAgICAgICAgIDogW10sXG4gICAgc3RhdGVfZGVjbGFyYXRpb24gICA6IFtdLFxuICAgIGZzbF92ZXJzaW9uICAgICAgICAgOiBbXSxcbiAgICBtYWNoaW5lX2F1dGhvciAgICAgIDogW10sXG4gICAgbWFjaGluZV9jb21tZW50ICAgICA6IFtdLFxuICAgIG1hY2hpbmVfY29udHJpYnV0b3IgOiBbXSxcbiAgICBtYWNoaW5lX2RlZmluaXRpb24gIDogW10sXG4gICAgbWFjaGluZV9sYW5ndWFnZSAgICA6IFtdLFxuICAgIG1hY2hpbmVfbGljZW5zZSAgICAgOiBbXSxcbiAgICBtYWNoaW5lX25hbWUgICAgICAgIDogW10sXG4gICAgbWFjaGluZV9yZWZlcmVuY2UgICA6IFtdLFxuICAgIG1hY2hpbmVfdmVyc2lvbiAgICAgOiBbXVxuICB9O1xuXG4gIHRyZWUubWFwKCAodHIgOiBKc3NtQ29tcGlsZVNlU3RhcnQ8bU5UPikgPT4ge1xuXG4gICAgY29uc3QgcnVsZSAgIDogSnNzbUNvbXBpbGVSdWxlID0gY29tcGlsZV9ydWxlX2hhbmRsZXIodHIpLFxuICAgICAgICAgIGFnZ19hcyA6IHN0cmluZyAgICAgICAgICA9IHJ1bGUuYWdnX2FzLFxuICAgICAgICAgIHZhbCAgICA6IG1peGVkICAgICAgICAgICA9IHJ1bGUudmFsOyAgICAgICAgICAgICAgICAgIC8vIHRvZG8gYmV0dGVyIHR5cGVzXG5cbiAgICByZXN1bHRzW2FnZ19hc10gPSByZXN1bHRzW2FnZ19hc10uY29uY2F0KHZhbCk7XG5cbiAgfSk7XG5cbiAgY29uc3QgYXNzZW1ibGVkX3RyYW5zaXRpb25zIDogQXJyYXk8IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA+ID0gW10uY29uY2F0KC4uLiByZXN1bHRzWyd0cmFuc2l0aW9uJ10pO1xuXG4gIGNvbnN0IHJlc3VsdF9jZmcgOiBKc3NtR2VuZXJpY0NvbmZpZzxtTlQsIG1EVD4gPSB7XG4gICAgc3RhcnRfc3RhdGVzIDogcmVzdWx0cy5zdGFydF9zdGF0ZXMubGVuZ3RoPyByZXN1bHRzLnN0YXJ0X3N0YXRlcyA6IFthc3NlbWJsZWRfdHJhbnNpdGlvbnNbMF0uZnJvbV0sXG4gICAgdHJhbnNpdGlvbnMgIDogYXNzZW1ibGVkX3RyYW5zaXRpb25zXG4gIH07XG5cbiAgY29uc3Qgb25lT25seUtleXMgOiBBcnJheTxzdHJpbmc+ID0gW1xuICAgICdncmFwaF9sYXlvdXQnLCAnbWFjaGluZV9uYW1lJywgJ21hY2hpbmVfdmVyc2lvbicsICdtYWNoaW5lX2NvbW1lbnQnLCAnZnNsX3ZlcnNpb24nLCAnbWFjaGluZV9saWNlbnNlJyxcbiAgICAnbWFjaGluZV9kZWZpbml0aW9uJywgJ21hY2hpbmVfbGFuZ3VhZ2UnXG4gIF07XG5cbiAgb25lT25seUtleXMubWFwKCAob25lT25seUtleSA6IHN0cmluZykgPT4ge1xuICAgIGlmIChyZXN1bHRzW29uZU9ubHlLZXldLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWF5IG9ubHkgaGF2ZSBvbmUgJHtvbmVPbmx5S2V5fSBzdGF0ZW1lbnQgbWF4aW11bTogJHtKU09OLnN0cmluZ2lmeShyZXN1bHRzW29uZU9ubHlLZXldKX1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHJlc3VsdHNbb25lT25seUtleV0ubGVuZ3RoKSB7XG4gICAgICAgIHJlc3VsdF9jZmdbb25lT25seUtleV0gPSByZXN1bHRzW29uZU9ubHlLZXldWzBdO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgWydtYWNoaW5lX2F1dGhvcicsICdtYWNoaW5lX2NvbnRyaWJ1dG9yJywgJ21hY2hpbmVfcmVmZXJlbmNlJywgJ3N0YXRlX2RlY2xhcmF0aW9uJ10ubWFwKCAobXVsdGlLZXkgOiBzdHJpbmcpID0+IHtcbiAgICBpZiAocmVzdWx0c1ttdWx0aUtleV0ubGVuZ3RoKSB7XG4gICAgICByZXN1bHRfY2ZnW211bHRpS2V5XSA9IHJlc3VsdHNbbXVsdGlLZXldO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdF9jZmc7XG5cbn1cblxuXG5cblxuXG5mdW5jdGlvbiBtYWtlPG1OVCwgbURUPihwbGFuOiBzdHJpbmcpOiBKc3NtR2VuZXJpY0NvbmZpZzxtTlQsIG1EVD4ge1xuICByZXR1cm4gY29tcGlsZShwYXJzZShwbGFuKSk7XG59XG5cblxuXG5cblxuY2xhc3MgTWFjaGluZTxtTlQsIG1EVD4ge1xuXG5cbiAgX3N0YXRlICAgICAgICAgICAgICAgICAgOiBtTlQ7XG4gIF9zdGF0ZXMgICAgICAgICAgICAgICAgIDogTWFwPG1OVCwgSnNzbUdlbmVyaWNTdGF0ZTxtTlQ+PjtcbiAgX2VkZ2VzICAgICAgICAgICAgICAgICAgOiBBcnJheTxKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4+O1xuICBfZWRnZV9tYXAgICAgICAgICAgICAgICA6IE1hcDxtTlQsIE1hcDxtTlQsIG51bWJlcj4+O1xuICBfbmFtZWRfdHJhbnNpdGlvbnMgICAgICA6IE1hcDxtTlQsIG51bWJlcj47XG4gIF9hY3Rpb25zICAgICAgICAgICAgICAgIDogTWFwPG1OVCwgTWFwPG1OVCwgbnVtYmVyPj47XG4gIF9yZXZlcnNlX2FjdGlvbnMgICAgICAgIDogTWFwPG1OVCwgTWFwPG1OVCwgbnVtYmVyPj47XG4gIF9yZXZlcnNlX2FjdGlvbl90YXJnZXRzIDogTWFwPG1OVCwgTWFwPG1OVCwgbnVtYmVyPj47XG5cbiAgX21hY2hpbmVfYXV0aG9yICAgICAgICAgOiA/QXJyYXk8c3RyaW5nPjtcbiAgX21hY2hpbmVfY29tbWVudCAgICAgICAgOiA/c3RyaW5nO1xuICBfbWFjaGluZV9jb250cmlidXRvciAgICA6ID9BcnJheTxzdHJpbmc+O1xuICBfbWFjaGluZV9kZWZpbml0aW9uICAgICA6ID9zdHJpbmc7XG4gIF9tYWNoaW5lX2xhbmd1YWdlICAgICAgIDogP3N0cmluZztcbiAgX21hY2hpbmVfbGljZW5zZSAgICAgICAgOiA/c3RyaW5nO1xuICBfbWFjaGluZV9uYW1lICAgICAgICAgICA6ID9zdHJpbmc7XG4gIF9tYWNoaW5lX3ZlcnNpb24gICAgICAgIDogP3N0cmluZztcbiAgX2ZzbF92ZXJzaW9uICAgICAgICAgICAgOiA/c3RyaW5nO1xuICBfcmF3X3N0YXRlX2RlY2xhcmF0aW9uICA6ID9BcnJheTxPYmplY3Q+OyAgICAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGZsb3d0eXBlL25vLXdlYWstdHlwZXNcbiAgX3N0YXRlX2RlY2xhcmF0aW9ucyAgICAgOiBNYXA8bU5ULCBPYmplY3Q+OyAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBmbG93dHlwZS9uby13ZWFrLXR5cGVzXG5cbiAgX2dyYXBoX2xheW91dCAgICAgICAgICAgOiBKc3NtTGF5b3V0O1xuXG5cbiAgLy8gd2hhcmdhcmJsIHRoaXMgYmFkbHkgbmVlZHMgdG8gYmUgYnJva2VuIHVwLCBtb25vbGl0aCBtYXN0ZXJcbiAgY29uc3RydWN0b3Ioe1xuICAgIHN0YXJ0X3N0YXRlcyxcbiAgICBjb21wbGV0ZSAgICAgICAgPSBbXSxcbiAgICB0cmFuc2l0aW9ucyxcbiAgICBtYWNoaW5lX2F1dGhvcixcbiAgICBtYWNoaW5lX2NvbW1lbnQsXG4gICAgbWFjaGluZV9jb250cmlidXRvcixcbiAgICBtYWNoaW5lX2RlZmluaXRpb24sXG4gICAgbWFjaGluZV9sYW5ndWFnZSxcbiAgICBtYWNoaW5lX2xpY2Vuc2UsXG4gICAgbWFjaGluZV9uYW1lLFxuICAgIG1hY2hpbmVfdmVyc2lvbixcbiAgICBzdGF0ZV9kZWNsYXJhdGlvbixcbiAgICBmc2xfdmVyc2lvbixcbiAgICBncmFwaF9sYXlvdXQgPSAnZG90J1xuICB9IDogSnNzbUdlbmVyaWNDb25maWc8bU5ULCBtRFQ+KSB7XG5cbiAgICB0aGlzLl9zdGF0ZSAgICAgICAgICAgICAgICAgID0gc3RhcnRfc3RhdGVzWzBdO1xuICAgIHRoaXMuX3N0YXRlcyAgICAgICAgICAgICAgICAgPSBuZXcgTWFwKCk7XG4gICAgdGhpcy5fc3RhdGVfZGVjbGFyYXRpb25zICAgICA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLl9lZGdlcyAgICAgICAgICAgICAgICAgID0gW107XG4gICAgdGhpcy5fZWRnZV9tYXAgICAgICAgICAgICAgICA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLl9uYW1lZF90cmFuc2l0aW9ucyAgICAgID0gbmV3IE1hcCgpO1xuICAgIHRoaXMuX2FjdGlvbnMgICAgICAgICAgICAgICAgPSBuZXcgTWFwKCk7XG4gICAgdGhpcy5fcmV2ZXJzZV9hY3Rpb25zICAgICAgICA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLl9yZXZlcnNlX2FjdGlvbl90YXJnZXRzID0gbmV3IE1hcCgpOyAgIC8vIHRvZG9cblxuICAgIHRoaXMuX21hY2hpbmVfYXV0aG9yICAgICAgICAgPSBtYWNoaW5lX2F1dGhvcjtcbiAgICB0aGlzLl9tYWNoaW5lX2NvbW1lbnQgICAgICAgID0gbWFjaGluZV9jb21tZW50O1xuICAgIHRoaXMuX21hY2hpbmVfY29udHJpYnV0b3IgICAgPSBtYWNoaW5lX2NvbnRyaWJ1dG9yO1xuICAgIHRoaXMuX21hY2hpbmVfZGVmaW5pdGlvbiAgICAgPSBtYWNoaW5lX2RlZmluaXRpb247XG4gICAgdGhpcy5fbWFjaGluZV9sYW5ndWFnZSAgICAgICA9IG1hY2hpbmVfbGFuZ3VhZ2U7XG4gICAgdGhpcy5fbWFjaGluZV9saWNlbnNlICAgICAgICA9IG1hY2hpbmVfbGljZW5zZTtcbiAgICB0aGlzLl9tYWNoaW5lX25hbWUgICAgICAgICAgID0gbWFjaGluZV9uYW1lO1xuICAgIHRoaXMuX21hY2hpbmVfdmVyc2lvbiAgICAgICAgPSBtYWNoaW5lX3ZlcnNpb247XG4gICAgdGhpcy5fcmF3X3N0YXRlX2RlY2xhcmF0aW9uICA9IHN0YXRlX2RlY2xhcmF0aW9uIHx8IFtdO1xuICAgIHRoaXMuX2ZzbF92ZXJzaW9uICAgICAgICAgICAgPSBmc2xfdmVyc2lvbjtcblxuICAgIHRoaXMuX2dyYXBoX2xheW91dCAgICAgICAgICAgPSBncmFwaF9sYXlvdXQ7XG5cbiAgICB0cmFuc2l0aW9ucy5tYXAoICh0cjpKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4pID0+IHtcblxuICAgICAgaWYgKHRyLmZyb20gPT09IHVuZGVmaW5lZCkgeyB0aHJvdyBuZXcgRXJyb3IoYHRyYW5zaXRpb24gbXVzdCBkZWZpbmUgJ2Zyb20nOiAke0pTT04uc3RyaW5naWZ5KHRyKX1gKTsgfVxuICAgICAgaWYgKHRyLnRvICAgPT09IHVuZGVmaW5lZCkgeyB0aHJvdyBuZXcgRXJyb3IoYHRyYW5zaXRpb24gbXVzdCBkZWZpbmUgJ3RvJzogJHsgIEpTT04uc3RyaW5naWZ5KHRyKX1gKTsgfVxuXG4gICAgICAvLyBnZXQgdGhlIGN1cnNvcnMuICB3aGF0IGEgbWVzc1xuICAgICAgY29uc3QgY3Vyc29yX2Zyb206IEpzc21HZW5lcmljU3RhdGU8bU5UPlxuICAgICAgICAgID0gdGhpcy5fc3RhdGVzLmdldCh0ci5mcm9tKVxuICAgICAgICAgfHwgeyBuYW1lOiB0ci5mcm9tLCBmcm9tOiBbXSwgdG86IFtdLCBjb21wbGV0ZTogY29tcGxldGUuaW5jbHVkZXModHIuZnJvbSkgfTtcblxuICAgICAgaWYgKCEodGhpcy5fc3RhdGVzLmhhcyh0ci5mcm9tKSkpIHtcbiAgICAgICAgdGhpcy5fbmV3X3N0YXRlKGN1cnNvcl9mcm9tKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY3Vyc29yX3RvOiBKc3NtR2VuZXJpY1N0YXRlPG1OVD5cbiAgICAgICAgICA9IHRoaXMuX3N0YXRlcy5nZXQodHIudG8pXG4gICAgICAgICB8fCB7bmFtZTogdHIudG8sIGZyb206IFtdLCB0bzogW10sIGNvbXBsZXRlOiBjb21wbGV0ZS5pbmNsdWRlcyh0ci50bykgfTtcblxuICAgICAgaWYgKCEodGhpcy5fc3RhdGVzLmhhcyh0ci50bykpKSB7XG4gICAgICAgIHRoaXMuX25ld19zdGF0ZShjdXJzb3JfdG8pO1xuICAgICAgfVxuXG4gICAgICAvLyBndWFyZCBhZ2FpbnN0IGV4aXN0aW5nIGNvbm5lY3Rpb25zIGJlaW5nIHJlLWFkZGVkXG4gICAgICBpZiAoY3Vyc29yX2Zyb20udG8uaW5jbHVkZXModHIudG8pKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgYWxyZWFkeSBoYXMgJHtKU09OLnN0cmluZ2lmeSh0ci5mcm9tKX0gdG8gJHtKU09OLnN0cmluZ2lmeSh0ci50byl9YCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjdXJzb3JfZnJvbS50by5wdXNoKHRyLnRvKTtcbiAgICAgICAgY3Vyc29yX3RvLmZyb20ucHVzaCh0ci5mcm9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gYWRkIHRoZSBlZGdlOyBub3RlIGl0cyBpZFxuICAgICAgdGhpcy5fZWRnZXMucHVzaCh0cik7XG4gICAgICBjb25zdCB0aGlzRWRnZUlkOiBudW1iZXIgPSB0aGlzLl9lZGdlcy5sZW5ndGggLSAxO1xuXG4gICAgICAvLyBndWFyZCBhZ2FpbnN0IHJlcGVhdGluZyBhIHRyYW5zaXRpb24gbmFtZVxuICAgICAgaWYgKHRyLm5hbWUpIHtcbiAgICAgICAgaWYgKHRoaXMuX25hbWVkX3RyYW5zaXRpb25zLmhhcyh0ci5uYW1lKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgbmFtZWQgdHJhbnNpdGlvbiBcIiR7SlNPTi5zdHJpbmdpZnkodHIubmFtZSl9XCIgYWxyZWFkeSBjcmVhdGVkYCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fbmFtZWRfdHJhbnNpdGlvbnMuc2V0KHRyLm5hbWUsIHRoaXNFZGdlSWQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIHNldCB1cCB0aGUgbWFwcGluZywgc28gdGhhdCBlZGdlcyBjYW4gYmUgbG9va2VkIHVwIGJ5IGVuZHBvaW50IHBhaXJzXG4gICAgICBjb25zdCBmcm9tX21hcHBpbmc6IE1hcDxtTlQsIG51bWJlcj4gPSB0aGlzLl9lZGdlX21hcC5nZXQodHIuZnJvbSkgfHwgbmV3IE1hcCgpO1xuICAgICAgaWYgKCEodGhpcy5fZWRnZV9tYXAuaGFzKHRyLmZyb20pKSkge1xuICAgICAgICB0aGlzLl9lZGdlX21hcC5zZXQodHIuZnJvbSwgZnJvbV9tYXBwaW5nKTtcbiAgICAgIH1cblxuLy8gICAgY29uc3QgdG9fbWFwcGluZyA9IGZyb21fbWFwcGluZy5nZXQodHIudG8pO1xuICAgICAgZnJvbV9tYXBwaW5nLnNldCh0ci50bywgdGhpc0VkZ2VJZCk7IC8vIGFscmVhZHkgY2hlY2tlZCB0aGF0IHRoaXMgbWFwcGluZyBkb2Vzbid0IGV4aXN0LCBhYm92ZVxuXG4gICAgICAvLyBzZXQgdXAgdGhlIGFjdGlvbiBtYXBwaW5nLCBzbyB0aGF0IGFjdGlvbnMgY2FuIGJlIGxvb2tlZCB1cCBieSBvcmlnaW5cbiAgICAgIGlmICh0ci5hY3Rpb24pIHtcblxuXG4gICAgICAgIC8vIGZvcndhcmQgbWFwcGluZyBmaXJzdCBieSBhY3Rpb24gbmFtZVxuICAgICAgICBsZXQgYWN0aW9uTWFwOiA/TWFwPG1OVCwgbnVtYmVyPiA9IHRoaXMuX2FjdGlvbnMuZ2V0KHRyLmFjdGlvbik7XG4gICAgICAgIGlmICghKGFjdGlvbk1hcCkpIHtcbiAgICAgICAgICBhY3Rpb25NYXAgPSBuZXcgTWFwKCk7XG4gICAgICAgICAgdGhpcy5fYWN0aW9ucy5zZXQodHIuYWN0aW9uLCBhY3Rpb25NYXApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFjdGlvbk1hcC5oYXModHIuZnJvbSkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGFjdGlvbiAke0pTT04uc3RyaW5naWZ5KHRyLmFjdGlvbil9IGFscmVhZHkgYXR0YWNoZWQgdG8gb3JpZ2luICR7SlNPTi5zdHJpbmdpZnkodHIuZnJvbSl9YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWN0aW9uTWFwLnNldCh0ci5mcm9tLCB0aGlzRWRnZUlkKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gcmV2ZXJzZSBtYXBwaW5nIGZpcnN0IGJ5IHN0YXRlIG9yaWdpbiBuYW1lXG4gICAgICAgIGxldCByQWN0aW9uTWFwOiA/TWFwPG1OVCwgbnVtYmVyPiA9IHRoaXMuX3JldmVyc2VfYWN0aW9ucy5nZXQodHIuZnJvbSk7XG4gICAgICAgIGlmICghKHJBY3Rpb25NYXApKSB7XG4gICAgICAgICAgckFjdGlvbk1hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgICB0aGlzLl9yZXZlcnNlX2FjdGlvbnMuc2V0KHRyLmZyb20sIHJBY3Rpb25NYXApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gbm8gbmVlZCB0byB0ZXN0IGZvciByZXZlcnNlIG1hcHBpbmcgcHJlLXByZXNlbmNlO1xuICAgICAgICAvLyBmb3J3YXJkIG1hcHBpbmcgYWxyZWFkeSBjb3ZlcnMgY29sbGlzaW9uc1xuICAgICAgICByQWN0aW9uTWFwLnNldCh0ci5hY3Rpb24sIHRoaXNFZGdlSWQpO1xuXG5cbiAgICAgICAgLy8gcmV2ZXJzZSBtYXBwaW5nIGZpcnN0IGJ5IHN0YXRlIHRhcmdldCBuYW1lXG4gICAgICAgIGlmICghKHRoaXMuX3JldmVyc2VfYWN0aW9uX3RhcmdldHMuaGFzKHRyLnRvKSkpIHtcbiAgICAgICAgICB0aGlzLl9yZXZlcnNlX2FjdGlvbl90YXJnZXRzLnNldCh0ci50bywgbmV3IE1hcCgpKTtcbiAgICAgICAgfVxuXG4vKiB0b2RvIGNvbWViYWNrXG4gICBmdW5kYW1lbnRhbCBwcm9ibGVtIGlzIHJvQWN0aW9uTWFwIG5lZWRzIHRvIGJlIGEgbXVsdGltYXBcbiAgICAgICAgY29uc3Qgcm9BY3Rpb25NYXAgPSB0aGlzLl9yZXZlcnNlX2FjdGlvbl90YXJnZXRzLmdldCh0ci50byk7ICAvLyB3YXN0ZWZ1bCAtIGFscmVhZHkgZGlkIGhhcyAtIHJlZmFjdG9yXG4gICAgICAgIGlmIChyb0FjdGlvbk1hcCkge1xuICAgICAgICAgIGlmIChyb0FjdGlvbk1hcC5oYXModHIuYWN0aW9uKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGByby1hY3Rpb24gJHt0ci50b30gYWxyZWFkeSBhdHRhY2hlZCB0byBhY3Rpb24gJHt0ci5hY3Rpb259YCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJvQWN0aW9uTWFwLnNldCh0ci5hY3Rpb24sIHRoaXNFZGdlSWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Nob3VsZCBiZSBpbXBvc3NpYmxlIC0gZmxvdyBkb2VzblxcJ3Qga25vdyAuc2V0IHByZWNlZGVzIC5nZXQgeWV0IGFnYWluLiAgc2V2ZXJlIGVycm9yPycpO1xuICAgICAgICB9XG4qL1xuICAgICAgfVxuXG4gICAgfSk7XG5cbiAgfVxuXG4gIF9uZXdfc3RhdGUoc3RhdGVfY29uZmlnOiBKc3NtR2VuZXJpY1N0YXRlPG1OVD4pOiBtTlQgeyAvLyB3aGFyZ2FyYmwgZ2V0IHRoYXQgc3RhdGVfY29uZmlnIGFueSB1bmRlciBjb250cm9sXG5cbiAgICBpZiAodGhpcy5fc3RhdGVzLmhhcyhzdGF0ZV9jb25maWcubmFtZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgc3RhdGUgJHtKU09OLnN0cmluZ2lmeShzdGF0ZV9jb25maWcubmFtZSl9IGFscmVhZHkgZXhpc3RzYCk7XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGVzLnNldChzdGF0ZV9jb25maWcubmFtZSwgc3RhdGVfY29uZmlnKTtcbiAgICByZXR1cm4gc3RhdGVfY29uZmlnLm5hbWU7XG5cbiAgfVxuXG5cblxuICBzdGF0ZSgpOiBtTlQge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgfVxuXG4vKiB3aGFyZ2FyYmwgdG9kbyBtYWpvclxuICAgd2hlbiB3ZSByZWltcGxlbWVudCB0aGlzLCByZWludHJvZHVjZSB0aGlzIGNoYW5nZSB0byB0aGUgaXNfZmluYWwgY2FsbFxuXG4gIGlzX2NoYW5naW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlOyAvLyB0b2RvIHdoYXJnYXJibFxuICB9XG4qL1xuXG5cbiAgc3RhdGVfaXNfZmluYWwod2hpY2hTdGF0ZTogbU5UKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICggKHRoaXMuc3RhdGVfaXNfdGVybWluYWwod2hpY2hTdGF0ZSkpICYmICh0aGlzLnN0YXRlX2lzX2NvbXBsZXRlKHdoaWNoU3RhdGUpKSApO1xuICB9XG5cbiAgaXNfZmluYWwoKTogYm9vbGVhbiB7XG4vLyAgcmV0dXJuICgoIXRoaXMuaXNfY2hhbmdpbmcoKSkgJiYgdGhpcy5zdGF0ZV9pc19maW5hbCh0aGlzLnN0YXRlKCkpKTtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZV9pc19maW5hbCh0aGlzLnN0YXRlKCkpO1xuICB9XG5cbiAgZ3JhcGhfbGF5b3V0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2dyYXBoX2xheW91dDtcbiAgfVxuXG5cblxuICBtYWNoaW5lX2F1dGhvcigpOiA/QXJyYXk8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX21hY2hpbmVfYXV0aG9yO1xuICB9XG5cbiAgbWFjaGluZV9jb21tZW50KCk6ID9zdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9tYWNoaW5lX2NvbW1lbnQ7XG4gIH1cblxuICBtYWNoaW5lX2NvbnRyaWJ1dG9yKCk6ID9BcnJheTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fbWFjaGluZV9jb250cmlidXRvcjtcbiAgfVxuXG4gIG1hY2hpbmVfZGVmaW5pdGlvbigpOiA/c3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbWFjaGluZV9kZWZpbml0aW9uO1xuICB9XG5cbiAgbWFjaGluZV9sYW5ndWFnZSgpOiA/c3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbWFjaGluZV9sYW5ndWFnZTtcbiAgfVxuXG4gIG1hY2hpbmVfbGljZW5zZSgpOiA/c3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbWFjaGluZV9saWNlbnNlO1xuICB9XG5cbiAgbWFjaGluZV9uYW1lKCk6ID9zdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9tYWNoaW5lX25hbWU7XG4gIH1cblxuICBtYWNoaW5lX3ZlcnNpb24oKTogP3N0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX21hY2hpbmVfdmVyc2lvbjtcbiAgfVxuXG4gIHJhd19zdGF0ZV9kZWNsYXJhdGlvbnMoKTogP0FycmF5PE9iamVjdD4geyAgICAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGZsb3d0eXBlL25vLXdlYWstdHlwZXNcbiAgICByZXR1cm4gdGhpcy5fcmF3X3N0YXRlX2RlY2xhcmF0aW9uO1xuICB9XG5cbiAgc3RhdGVfZGVjbGFyYXRpb24od2hpY2g6IG1OVCk6ID9PYmplY3QgeyAgICAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGZsb3d0eXBlL25vLXdlYWstdHlwZXNcbiAgICByZXR1cm4gdGhpcy5fc3RhdGVfZGVjbGFyYXRpb25zLmdldCh3aGljaCk7XG4gIH1cblxuICBzdGF0ZV9kZWNsYXJhdGlvbnMoKTogTWFwPG1OVCwgT2JqZWN0PiB7ICAgIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgZmxvd3R5cGUvbm8td2Vhay10eXBlc1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZV9kZWNsYXJhdGlvbnM7XG4gIH1cblxuICBmc2xfdmVyc2lvbigpOiA/c3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZnNsX3ZlcnNpb247XG4gIH1cblxuXG5cbiAgbWFjaGluZV9zdGF0ZSgpOiBKc3NtTWFjaGluZUludGVybmFsU3RhdGU8bU5ULCBtRFQ+IHtcblxuICAgIHJldHVybiB7XG4gICAgICBpbnRlcm5hbF9zdGF0ZV9pbXBsX3ZlcnNpb24gOiAxLFxuXG4gICAgICBhY3Rpb25zICAgICAgICAgICAgICAgIDogdGhpcy5fYWN0aW9ucyxcbiAgICAgIGVkZ2VfbWFwICAgICAgICAgICAgICAgOiB0aGlzLl9lZGdlX21hcCxcbiAgICAgIGVkZ2VzICAgICAgICAgICAgICAgICAgOiB0aGlzLl9lZGdlcyxcbiAgICAgIG5hbWVkX3RyYW5zaXRpb25zICAgICAgOiB0aGlzLl9uYW1lZF90cmFuc2l0aW9ucyxcbiAgICAgIHJldmVyc2VfYWN0aW9ucyAgICAgICAgOiB0aGlzLl9yZXZlcnNlX2FjdGlvbnMsXG4vLyAgICByZXZlcnNlX2FjdGlvbl90YXJnZXRzIDogdGhpcy5fcmV2ZXJzZV9hY3Rpb25fdGFyZ2V0cyxcbiAgICAgIHN0YXRlICAgICAgICAgICAgICAgICAgOiB0aGlzLl9zdGF0ZSxcbiAgICAgIHN0YXRlcyAgICAgICAgICAgICAgICAgOiB0aGlzLl9zdGF0ZXNcbiAgICB9O1xuXG4gIH1cblxuLypcbiAgbG9hZF9tYWNoaW5lX3N0YXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTsgLy8gdG9kbyB3aGFyZ2FyYmxcbiAgfVxuKi9cblxuXG4gIHN0YXRlcygpOiBBcnJheTxtTlQ+IHtcbiAgICByZXR1cm4gWy4uLiB0aGlzLl9zdGF0ZXMua2V5cygpXTtcbiAgfVxuXG4gIHN0YXRlX2Zvcih3aGljaFN0YXRlOiBtTlQpOiBKc3NtR2VuZXJpY1N0YXRlPG1OVD4ge1xuICAgIGNvbnN0IHN0YXRlOiA/SnNzbUdlbmVyaWNTdGF0ZTxtTlQ+ID0gdGhpcy5fc3RhdGVzLmdldCh3aGljaFN0YXRlKTtcbiAgICBpZiAoc3RhdGUpIHsgcmV0dXJuIHN0YXRlOyB9XG4gICAgZWxzZSAgICAgICB7IHRocm93IG5ldyBFcnJvcihgbm8gc3VjaCBzdGF0ZSAke0pTT04uc3RyaW5naWZ5KHN0YXRlKX1gKTsgfVxuICB9XG5cblxuXG4gIGxpc3RfZWRnZXMoKTogQXJyYXk8IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA+IHtcbiAgICByZXR1cm4gdGhpcy5fZWRnZXM7XG4gIH1cblxuICBsaXN0X25hbWVkX3RyYW5zaXRpb25zKCk6IE1hcDxtTlQsIG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLl9uYW1lZF90cmFuc2l0aW9ucztcbiAgfVxuXG4gIGxpc3RfYWN0aW9ucygpOiBBcnJheTxtTlQ+IHtcbiAgICByZXR1cm4gWy4uLiB0aGlzLl9hY3Rpb25zLmtleXMoKV07XG4gIH1cblxuXG5cbiAgZ2V0X3RyYW5zaXRpb25fYnlfc3RhdGVfbmFtZXMoZnJvbTogbU5ULCB0bzogbU5UKTogP251bWJlciB7XG5cbiAgICBjb25zdCBlbWcgOiA/TWFwPG1OVCwgbnVtYmVyPiA9IHRoaXMuX2VkZ2VfbWFwLmdldChmcm9tKTtcblxuICAgIGlmIChlbWcpIHtcbiAgICAgIHJldHVybiBlbWcuZ2V0KHRvKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgfVxuXG5cblxuICBsb29rdXBfdHJhbnNpdGlvbl9mb3IoZnJvbTogbU5ULCB0bzogbU5UKTogP0pzc21UcmFuc2l0aW9uPG1OVCwgbURUPiB7XG4gICAgY29uc3QgaWQgOiA/bnVtYmVyID0gdGhpcy5nZXRfdHJhbnNpdGlvbl9ieV9zdGF0ZV9uYW1lcyhmcm9tLCB0byk7XG4gICAgcmV0dXJuICgoaWQgPT09IHVuZGVmaW5lZCkgfHwgKGlkID09PSBudWxsKSk/IHVuZGVmaW5lZCA6IHRoaXMuX2VkZ2VzW2lkXTtcbiAgfVxuXG5cblxuICBsaXN0X3RyYW5zaXRpb25zKHdoaWNoU3RhdGU6IG1OVCA9IHRoaXMuc3RhdGUoKSk6IEpzc21UcmFuc2l0aW9uTGlzdDxtTlQ+IHtcbiAgICByZXR1cm4ge2VudHJhbmNlczogdGhpcy5saXN0X2VudHJhbmNlcyh3aGljaFN0YXRlKSwgZXhpdHM6IHRoaXMubGlzdF9leGl0cyh3aGljaFN0YXRlKX07XG4gIH1cblxuICBsaXN0X2VudHJhbmNlcyh3aGljaFN0YXRlOiBtTlQgPSB0aGlzLnN0YXRlKCkpOiBBcnJheTxtTlQ+IHtcbiAgICByZXR1cm4gKHRoaXMuX3N0YXRlcy5nZXQod2hpY2hTdGF0ZSkgfHwge30pLmZyb20gfHwgW107XG4gIH1cblxuICBsaXN0X2V4aXRzKHdoaWNoU3RhdGU6IG1OVCA9IHRoaXMuc3RhdGUoKSk6IEFycmF5PG1OVD4ge1xuICAgIHJldHVybiAodGhpcy5fc3RhdGVzLmdldCh3aGljaFN0YXRlKSB8fCB7fSkudG8gICB8fCBbXTtcbiAgfVxuXG5cblxuICBwcm9iYWJsZV9leGl0c19mb3Iod2hpY2hTdGF0ZTogbU5UKTogQXJyYXk8IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA+IHtcblxuICAgIGNvbnN0IHdzdGF0ZTogP0pzc21HZW5lcmljU3RhdGU8bU5UPiA9IHRoaXMuX3N0YXRlcy5nZXQod2hpY2hTdGF0ZSk7XG4gICAgaWYgKCEod3N0YXRlKSkgeyB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggc3RhdGUgJHtKU09OLnN0cmluZ2lmeSh3aGljaFN0YXRlKX0gaW4gcHJvYmFibGVfZXhpdHNfZm9yYCk7IH1cblxuICAgIGNvbnN0IHdzdGF0ZV90byA6IEFycmF5PCBtTlQgPiA9IHdzdGF0ZS50byxcblxuICAgICAgICAgIHd0ZiAgICAgICA6IEFycmF5PCBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPiAvLyB3c3RhdGVfdG9fZmlsdGVyZWQgLT4gd3RmXG4gICAgICAgICAgICAgICAgICAgID0gd3N0YXRlX3RvXG4gICAgICAgICAgICAgICAgICAgICAgICAubWFwKCAod3MpIDogP0pzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA9PiB0aGlzLmxvb2t1cF90cmFuc2l0aW9uX2Zvcih0aGlzLnN0YXRlKCksIHdzKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICByZXR1cm4gd3RmO1xuXG4gIH1cblxuICBwcm9iYWJpbGlzdGljX3RyYW5zaXRpb24oKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgOiBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPSB3ZWlnaHRlZF9yYW5kX3NlbGVjdCh0aGlzLnByb2JhYmxlX2V4aXRzX2Zvcih0aGlzLnN0YXRlKCkpKTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2l0aW9uKCBzZWxlY3RlZC50byApO1xuICB9XG5cbiAgcHJvYmFiaWxpc3RpY193YWxrKG46IG51bWJlcik6IEFycmF5PG1OVD4ge1xuICAgIHJldHVybiBzZXEobilcbiAgICAgICAgICAubWFwKCgpIDogbU5UID0+IHtcbiAgICAgICAgICAgICBjb25zdCBzdGF0ZV93YXM6IG1OVCA9IHRoaXMuc3RhdGUoKTtcbiAgICAgICAgICAgICB0aGlzLnByb2JhYmlsaXN0aWNfdHJhbnNpdGlvbigpO1xuICAgICAgICAgICAgIHJldHVybiBzdGF0ZV93YXM7XG4gICAgICAgICAgIH0pXG4gICAgICAgICAgLmNvbmNhdChbdGhpcy5zdGF0ZSgpXSk7XG4gIH1cblxuICBwcm9iYWJpbGlzdGljX2hpc3RvX3dhbGsobjogbnVtYmVyKTogTWFwPG1OVCwgbnVtYmVyPiB7XG4gICAgcmV0dXJuIGhpc3RvZ3JhcGgodGhpcy5wcm9iYWJpbGlzdGljX3dhbGsobikpO1xuICB9XG5cblxuXG4gIGFjdGlvbnMod2hpY2hTdGF0ZTogbU5UID0gdGhpcy5zdGF0ZSgpICk6IEFycmF5PG1OVD4ge1xuICAgIGNvbnN0IHdzdGF0ZSA6ID9NYXA8bU5ULCBudW1iZXI+ID0gdGhpcy5fcmV2ZXJzZV9hY3Rpb25zLmdldCh3aGljaFN0YXRlKTtcbiAgICBpZiAod3N0YXRlKSB7IHJldHVybiBbLi4uIHdzdGF0ZS5rZXlzKCldOyB9XG4gICAgZWxzZSAgICAgICAgeyB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggc3RhdGUgJHtKU09OLnN0cmluZ2lmeSh3aGljaFN0YXRlKX1gKTsgfVxuICB9XG5cbiAgbGlzdF9zdGF0ZXNfaGF2aW5nX2FjdGlvbih3aGljaFN0YXRlOiBtTlQpOiBBcnJheTxtTlQ+IHtcbiAgICBjb25zdCB3c3RhdGUgOiA/TWFwPG1OVCwgbnVtYmVyPiA9IHRoaXMuX2FjdGlvbnMuZ2V0KHdoaWNoU3RhdGUpO1xuICAgIGlmICh3c3RhdGUpIHsgcmV0dXJuIFsuLi4gd3N0YXRlLmtleXMoKV07IH1cbiAgICBlbHNlICAgICAgICB7IHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBzdGF0ZSAke0pTT04uc3RyaW5naWZ5KHdoaWNoU3RhdGUpfWApOyB9XG4gIH1cblxuLy8gY29tZWJhY2tcbi8qXG4gIGxpc3RfZW50cmFuY2VfYWN0aW9ucyh3aGljaFN0YXRlOiBtTlQgPSB0aGlzLnN0YXRlKCkgKSA6IEFycmF5PG1OVD4ge1xuICAgIHJldHVybiBbLi4uICh0aGlzLl9yZXZlcnNlX2FjdGlvbl90YXJnZXRzLmdldCh3aGljaFN0YXRlKSB8fCBuZXcgTWFwKCkpLnZhbHVlcygpXSAvLyB3YXN0ZWZ1bFxuICAgICAgICAgICAubWFwKCAoZWRnZUlkOmFueSkgPT4gKHRoaXMuX2VkZ2VzW2VkZ2VJZF0gOiBhbnkpKSAvLyB3aGFyZ2FyYmwgYnVybiBvdXQgYW55XG4gICAgICAgICAgIC5maWx0ZXIoIChvOmFueSkgPT4gby50byA9PT0gd2hpY2hTdGF0ZSlcbiAgICAgICAgICAgLm1hcCggZmlsdGVyZWQgPT4gZmlsdGVyZWQuZnJvbSApO1xuICB9XG4qL1xuICBsaXN0X2V4aXRfYWN0aW9ucyh3aGljaFN0YXRlOiBtTlQgPSB0aGlzLnN0YXRlKCkgKTogQXJyYXk8P21OVD4geyAvLyB0aGVzZSBhcmUgbU5ULCBub3QgP21OVFxuICAgIGNvbnN0IHJhX2Jhc2U6ID9NYXA8bU5ULCBudW1iZXI+ID0gdGhpcy5fcmV2ZXJzZV9hY3Rpb25zLmdldCh3aGljaFN0YXRlKTtcbiAgICBpZiAoIShyYV9iYXNlKSkgeyB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggc3RhdGUgJHtKU09OLnN0cmluZ2lmeSh3aGljaFN0YXRlKX1gKTsgfVxuXG4gICAgcmV0dXJuIFsuLi4gcmFfYmFzZS52YWx1ZXMoKV1cbiAgICAgICAgICAgLm1hcCAgICAoIChlZGdlSWQ6IG51bWJlcikgICAgICAgICAgICAgIDogSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID0+IHRoaXMuX2VkZ2VzW2VkZ2VJZF0gICApXG4gICAgICAgICAgIC5maWx0ZXIgKCAobzogSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+KSA6IGJvb2xlYW4gICAgICAgICAgICAgICAgICA9PiBvLmZyb20gPT09IHdoaWNoU3RhdGUgKVxuICAgICAgICAgICAubWFwICAgICggKGZpbHRlcmVkOiBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4pIDogP21OVCAgICAgICAgICAgICAgPT4gZmlsdGVyZWQuYWN0aW9uICAgICAgICk7XG4gIH1cblxuICBwcm9iYWJsZV9hY3Rpb25fZXhpdHMod2hpY2hTdGF0ZTogbU5UID0gdGhpcy5zdGF0ZSgpICkgOiBBcnJheTxtaXhlZD4geyAvLyB0aGVzZSBhcmUgbU5UXG4gICAgY29uc3QgcmFfYmFzZTogP01hcDxtTlQsIG51bWJlcj4gPSB0aGlzLl9yZXZlcnNlX2FjdGlvbnMuZ2V0KHdoaWNoU3RhdGUpO1xuICAgIGlmICghKHJhX2Jhc2UpKSB7IHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBzdGF0ZSAke0pTT04uc3RyaW5naWZ5KHdoaWNoU3RhdGUpfWApOyB9XG5cbiAgICByZXR1cm4gWy4uLiByYV9iYXNlLnZhbHVlcygpXVxuICAgICAgICAgICAubWFwICAgICggKGVkZ2VJZDogbnVtYmVyKTogSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID0+IHRoaXMuX2VkZ2VzW2VkZ2VJZF0gICApXG4gICAgICAgICAgIC5maWx0ZXIgKCAobzogSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+KTogYm9vbGVhbiAgICAgPT4gby5mcm9tID09PSB3aGljaFN0YXRlIClcbiAgICAgICAgICAgLm1hcCAgICAoIChmaWx0ZXJlZCk6IG1peGVkICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAoIHsgYWN0aW9uICAgICAgOiBmaWx0ZXJlZC5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2JhYmlsaXR5IDogZmlsdGVyZWQucHJvYmFiaWxpdHkgfSApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgfVxuXG5cblxuICBpc191bmVudGVyYWJsZSh3aGljaFN0YXRlOiBtTlQpOiBib29sZWFuIHtcbiAgICAvLyB3aGFyZ2FyYmwgc2hvdWxkIHRocm93IG9uIHVua25vd24gc3RhdGVcbiAgICByZXR1cm4gdGhpcy5saXN0X2VudHJhbmNlcyh3aGljaFN0YXRlKS5sZW5ndGggPT09IDA7XG4gIH1cblxuICBoYXNfdW5lbnRlcmFibGVzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlcygpLnNvbWUoICh4KTogYm9vbGVhbiA9PiB0aGlzLmlzX3VuZW50ZXJhYmxlKHgpKTtcbiAgfVxuXG5cblxuICBpc190ZXJtaW5hbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZV9pc190ZXJtaW5hbCh0aGlzLnN0YXRlKCkpO1xuICB9XG5cbiAgc3RhdGVfaXNfdGVybWluYWwod2hpY2hTdGF0ZTogbU5UKTogYm9vbGVhbiB7XG4gICAgLy8gd2hhcmdhcmJsIHNob3VsZCB0aHJvdyBvbiB1bmtub3duIHN0YXRlXG4gICAgcmV0dXJuIHRoaXMubGlzdF9leGl0cyh3aGljaFN0YXRlKS5sZW5ndGggPT09IDA7XG4gIH1cblxuICBoYXNfdGVybWluYWxzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlcygpLnNvbWUoICh4KTogYm9vbGVhbiA9PiB0aGlzLnN0YXRlX2lzX3Rlcm1pbmFsKHgpKTtcbiAgfVxuXG5cblxuICBpc19jb21wbGV0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZV9pc19jb21wbGV0ZSh0aGlzLnN0YXRlKCkpO1xuICB9XG5cbiAgc3RhdGVfaXNfY29tcGxldGUod2hpY2hTdGF0ZTogbU5UKSA6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHdzdGF0ZTogP0pzc21HZW5lcmljU3RhdGU8bU5UPiA9IHRoaXMuX3N0YXRlcy5nZXQod2hpY2hTdGF0ZSk7XG4gICAgaWYgKHdzdGF0ZSkgeyByZXR1cm4gd3N0YXRlLmNvbXBsZXRlOyB9XG4gICAgZWxzZSAgICAgICAgeyB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggc3RhdGUgJHtKU09OLnN0cmluZ2lmeSh3aGljaFN0YXRlKX1gKTsgfVxuICB9XG5cbiAgaGFzX2NvbXBsZXRlcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZXMoKS5zb21lKCAoeCk6IGJvb2xlYW4gPT4gdGhpcy5zdGF0ZV9pc19jb21wbGV0ZSh4KSApO1xuICB9XG5cblxuXG4gIGFjdGlvbihuYW1lOiBtTlQsIG5ld0RhdGE/OiBtRFQpOiBib29sZWFuIHtcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgaG9va3NcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgZGF0YSBzdHVmZlxuICAgIC8vIHRvZG8gbWFqb3IgaW5jb21wbGV0ZSB3aGFyZ2FyYmwgY29tZWJhY2tcbiAgICBpZiAodGhpcy52YWxpZF9hY3Rpb24obmFtZSwgbmV3RGF0YSkpIHtcbiAgICAgIGNvbnN0IGVkZ2U6IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA9IHRoaXMuY3VycmVudF9hY3Rpb25fZWRnZV9mb3IobmFtZSk7XG4gICAgICB0aGlzLl9zdGF0ZSA9IGVkZ2UudG87XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHRyYW5zaXRpb24obmV3U3RhdGU6IG1OVCwgbmV3RGF0YT86IG1EVCk6IGJvb2xlYW4ge1xuICAgIC8vIHRvZG8gd2hhcmdhcmJsIGltcGxlbWVudCBob29rc1xuICAgIC8vIHRvZG8gd2hhcmdhcmJsIGltcGxlbWVudCBkYXRhIHN0dWZmXG4gICAgLy8gdG9kbyBtYWpvciBpbmNvbXBsZXRlIHdoYXJnYXJibCBjb21lYmFja1xuICAgIGlmICh0aGlzLnZhbGlkX3RyYW5zaXRpb24obmV3U3RhdGUsIG5ld0RhdGEpKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvLyBjYW4gbGVhdmUgbWFjaGluZSBpbiBpbmNvbnNpc3RlbnQgc3RhdGUuICBnZW5lcmFsbHkgZG8gbm90IHVzZVxuICBmb3JjZV90cmFuc2l0aW9uKG5ld1N0YXRlOiBtTlQsIG5ld0RhdGE/OiBtRFQpOiBib29sZWFuIHtcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgaG9va3NcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgZGF0YSBzdHVmZlxuICAgIC8vIHRvZG8gbWFqb3IgaW5jb21wbGV0ZSB3aGFyZ2FyYmwgY29tZWJhY2tcbiAgICBpZiAodGhpcy52YWxpZF9mb3JjZV90cmFuc2l0aW9uKG5ld1N0YXRlLCBuZXdEYXRhKSkge1xuICAgICAgdGhpcy5fc3RhdGUgPSBuZXdTdGF0ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cblxuXG4gIGN1cnJlbnRfYWN0aW9uX2ZvcihhY3Rpb246IG1OVCk6IG51bWJlciB8IHZvaWQge1xuICAgIGNvbnN0IGFjdGlvbl9iYXNlOiA/TWFwPG1OVCwgbnVtYmVyPiA9IHRoaXMuX2FjdGlvbnMuZ2V0KGFjdGlvbik7XG4gICAgcmV0dXJuIGFjdGlvbl9iYXNlPyBhY3Rpb25fYmFzZS5nZXQodGhpcy5zdGF0ZSgpKTogdW5kZWZpbmVkO1xuICB9XG5cbiAgY3VycmVudF9hY3Rpb25fZWRnZV9mb3IoYWN0aW9uOiBtTlQpOiBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4ge1xuICAgIGNvbnN0IGlkeDogP251bWJlciA9IHRoaXMuY3VycmVudF9hY3Rpb25fZm9yKGFjdGlvbik7XG4gICAgaWYgKChpZHggPT09IHVuZGVmaW5lZCkgfHwgKGlkeCA9PT0gbnVsbCkpIHsgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIGFjdGlvbiAke0pTT04uc3RyaW5naWZ5KGFjdGlvbil9YCk7IH1cbiAgICByZXR1cm4gdGhpcy5fZWRnZXNbaWR4XTtcbiAgfVxuXG4gIHZhbGlkX2FjdGlvbihhY3Rpb246IG1OVCwgX25ld0RhdGE/OiBtRFQpOiBib29sZWFuIHsgIC8vIHRvZG8gY29tZWJhY2sgdW5pZ25vcmUgbmV3RGF0YVxuICAgIC8vIHRvZG8gd2hhcmdhcmJsIGltcGxlbWVudCBob29rc1xuICAgIC8vIHRvZG8gd2hhcmdhcmJsIGltcGxlbWVudCBkYXRhIHN0dWZmXG4gICAgLy8gdG9kbyBtYWpvciBpbmNvbXBsZXRlIHdoYXJnYXJibCBjb21lYmFja1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRfYWN0aW9uX2ZvcihhY3Rpb24pICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICB2YWxpZF90cmFuc2l0aW9uKG5ld1N0YXRlOiBtTlQsIF9uZXdEYXRhPzogbURUKTogYm9vbGVhbiB7ICAvLyB0b2RvIGNvbWViYWNrIHVuaWdub3JlIG5ld0RhdGFcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgaG9va3NcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgZGF0YSBzdHVmZlxuICAgIC8vIHRvZG8gbWFqb3IgaW5jb21wbGV0ZSB3aGFyZ2FyYmwgY29tZWJhY2tcbiAgICBjb25zdCB0cmFuc2l0aW9uX2ZvcjogP0pzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA9IHRoaXMubG9va3VwX3RyYW5zaXRpb25fZm9yKHRoaXMuc3RhdGUoKSwgbmV3U3RhdGUpO1xuXG4gICAgaWYgKCEodHJhbnNpdGlvbl9mb3IpKSAgICAgICAgICB7IHJldHVybiBmYWxzZTsgfVxuICAgIGlmICh0cmFuc2l0aW9uX2Zvci5mb3JjZWRfb25seSkgeyByZXR1cm4gZmFsc2U7IH1cblxuICAgIHJldHVybiB0cnVlO1xuXG4gIH1cblxuICB2YWxpZF9mb3JjZV90cmFuc2l0aW9uKG5ld1N0YXRlOiBtTlQsIF9uZXdEYXRhPzogbURUKTogYm9vbGVhbiB7ICAvLyB0b2RvIGNvbWViYWNrIHVuaWdub3JlIG5ld0RhdGFcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgaG9va3NcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgZGF0YSBzdHVmZlxuICAgIC8vIHRvZG8gbWFqb3IgaW5jb21wbGV0ZSB3aGFyZ2FyYmwgY29tZWJhY2tcbiAgICByZXR1cm4gKHRoaXMubG9va3VwX3RyYW5zaXRpb25fZm9yKHRoaXMuc3RhdGUoKSwgbmV3U3RhdGUpICE9PSB1bmRlZmluZWQpO1xuICB9XG5cblxufVxuXG5cblxuXG5cbmZ1bmN0aW9uIHNtPG1OVCwgbURUPih0ZW1wbGF0ZV9zdHJpbmdzOiBBcnJheTxzdHJpbmc+IC8qICwgYXJndW1lbnRzICovKTogTWFjaGluZTxtTlQsIG1EVD4ge1xuXG4gICAgLy8gZm9vYGEkezF9YiR7Mn1jYCB3aWxsIGNvbWUgaW4gYXMgKFsnYScsJ2InLCdjJ10sMSwyKVxuICAgIC8vIHRoaXMgaW5jbHVkZXMgd2hlbiBhIGFuZCBjIGFyZSBlbXB0eSBzdHJpbmdzXG4gICAgLy8gdGhlcmVmb3JlIHRlbXBsYXRlX3N0cmluZ3Mgd2lsbCBhbHdheXMgaGF2ZSBvbmUgbW9yZSBlbCB0aGFuIHRlbXBsYXRlX2FyZ3NcbiAgICAvLyB0aGVyZWZvcmUgbWFwIHRoZSBzbWFsbGVyIGNvbnRhaW5lciBhbmQgdG9zcyB0aGUgbGFzdCBvbmUgb24gb24gdGhlIHdheSBvdXRcblxuICAgIHJldHVybiBuZXcgTWFjaGluZShtYWtlKHRlbXBsYXRlX3N0cmluZ3MucmVkdWNlKFxuXG4gICAgICAvLyBpbiBnZW5lcmFsIGF2b2lkaW5nIGBhcmd1bWVudHNgIGlzIHNtYXJ0LiAgaG93ZXZlciB3aXRoIHRoZSB0ZW1wbGF0ZVxuICAgICAgLy8gc3RyaW5nIG5vdGF0aW9uLCBhcyBkZXNpZ25lZCwgaXQncyBub3QgcmVhbGx5IHdvcnRoIHRoZSBoYXNzbGVcblxuICAgICAgLyogZXNsaW50LWRpc2FibGUgZnAvbm8tYXJndW1lbnRzICovXG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSBwcmVmZXItcmVzdC1wYXJhbXMgKi9cbiAgICAgIChhY2MsIHZhbCwgaWR4KTogc3RyaW5nID0+IGAke2FjY30ke2FyZ3VtZW50c1tpZHhdfSR7dmFsfWAgIC8vIGFyZ3VtZW50c1swXSBpcyBuZXZlciBsb2FkZWQsIHNvIGFyZ3MgZG9lc24ndCBuZWVkIHRvIGJlIGdhdGVkXG4gICAgICAvKiBlc2xpbnQtZW5hYmxlICBwcmVmZXItcmVzdC1wYXJhbXMgKi9cbiAgICAgIC8qIGVzbGludC1lbmFibGUgIGZwL25vLWFyZ3VtZW50cyAqL1xuXG4gICAgKSkpO1xuXG59XG5cblxuXG5cblxuZXhwb3J0IHtcblxuICB2ZXJzaW9uLFxuXG4gIE1hY2hpbmUsXG5cbiAgbWFrZSxcbiAgICBwYXJzZSxcbiAgICBjb21waWxlLFxuXG4gIHNtLFxuXG4gIGFycm93X2RpcmVjdGlvbixcbiAgYXJyb3dfbGVmdF9raW5kLFxuICBhcnJvd19yaWdodF9raW5kLFxuXG4gIC8vIHRvZG8gd2hhcmdhcmJsIHRoZXNlIHNob3VsZCBiZSBleHBvcnRlZCB0byBhIHV0aWxpdHkgbGlicmFyeVxuICBzZXEsIHdlaWdodGVkX3JhbmRfc2VsZWN0LCBoaXN0b2dyYXBoLCB3ZWlnaHRlZF9zYW1wbGVfc2VsZWN0LCB3ZWlnaHRlZF9oaXN0b19rZXlcblxufTtcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9qcy9qc3NtLmpzIl0sIm5hbWVzIjpbInJlZHVjZV90b182MzkiLCJyZXF1aXJlIiwicmVkdWNlIiwicGFyc2UiLCJ2ZXJzaW9uIiwiYXJyb3dfZGlyZWN0aW9uIiwiYXJyb3ciLCJTdHJpbmciLCJFcnJvciIsImFycm93X2xlZnRfa2luZCIsImFycm93X3JpZ2h0X2tpbmQiLCJjb21waWxlX3J1bGVfdHJhbnNpdGlvbl9zdGVwIiwiYWNjIiwiZnJvbSIsInRvIiwidGhpc19zZSIsIm5leHRfc2UiLCJlZGdlcyIsInVGcm9tIiwiQXJyYXkiLCJpc0FycmF5IiwidVRvIiwibWFwIiwiZiIsInQiLCJyayIsImtpbmQiLCJsayIsInJpZ2h0IiwiZm9yY2VkX29ubHkiLCJtYWluX3BhdGgiLCJyX2FjdGlvbiIsImFjdGlvbiIsInJfcHJvYmFiaWxpdHkiLCJwcm9iYWJpbGl0eSIsInB1c2giLCJsZWZ0IiwibF9hY3Rpb24iLCJsX3Byb2JhYmlsaXR5IiwibmV3X2FjYyIsImNvbmNhdCIsInNlIiwiY29tcGlsZV9ydWxlX2hhbmRsZV90cmFuc2l0aW9uIiwicnVsZSIsImNvbXBpbGVfcnVsZV9oYW5kbGVyIiwia2V5IiwiYWdnX2FzIiwidmFsIiwidmFsdWUiLCJuYW1lIiwic3RhdGUiLCJkZWNsYXJhdGlvbnMiLCJ0YXV0b2xvZ2llcyIsImluY2x1ZGVzIiwiSlNPTiIsInN0cmluZ2lmeSIsImNvbXBpbGUiLCJ0cmVlIiwicmVzdWx0cyIsImdyYXBoX2xheW91dCIsInRyYW5zaXRpb24iLCJzdGFydF9zdGF0ZXMiLCJlbmRfc3RhdGVzIiwic3RhdGVfZGVjbGFyYXRpb24iLCJmc2xfdmVyc2lvbiIsIm1hY2hpbmVfYXV0aG9yIiwibWFjaGluZV9jb21tZW50IiwibWFjaGluZV9jb250cmlidXRvciIsIm1hY2hpbmVfZGVmaW5pdGlvbiIsIm1hY2hpbmVfbGFuZ3VhZ2UiLCJtYWNoaW5lX2xpY2Vuc2UiLCJtYWNoaW5lX25hbWUiLCJtYWNoaW5lX3JlZmVyZW5jZSIsIm1hY2hpbmVfdmVyc2lvbiIsInRyIiwiYXNzZW1ibGVkX3RyYW5zaXRpb25zIiwicmVzdWx0X2NmZyIsImxlbmd0aCIsInRyYW5zaXRpb25zIiwib25lT25seUtleXMiLCJvbmVPbmx5S2V5IiwibXVsdGlLZXkiLCJtYWtlIiwicGxhbiIsInRyYW5zZmVyX3N0YXRlX3Byb3BlcnRpZXMiLCJzdGF0ZV9kZWNsIiwiZCIsIm5vZGVfc2hhcGUiLCJub2RlX2NvbG9yIiwiTWFjaGluZSIsImNvbXBsZXRlIiwiX3N0YXRlIiwiX3N0YXRlcyIsIk1hcCIsIl9zdGF0ZV9kZWNsYXJhdGlvbnMiLCJfZWRnZXMiLCJfZWRnZV9tYXAiLCJfbmFtZWRfdHJhbnNpdGlvbnMiLCJfYWN0aW9ucyIsIl9yZXZlcnNlX2FjdGlvbnMiLCJfcmV2ZXJzZV9hY3Rpb25fdGFyZ2V0cyIsIl9tYWNoaW5lX2F1dGhvciIsIl9tYWNoaW5lX2NvbW1lbnQiLCJfbWFjaGluZV9jb250cmlidXRvciIsIl9tYWNoaW5lX2RlZmluaXRpb24iLCJfbWFjaGluZV9sYW5ndWFnZSIsIl9tYWNoaW5lX2xpY2Vuc2UiLCJfbWFjaGluZV9uYW1lIiwiX21hY2hpbmVfdmVyc2lvbiIsIl9yYXdfc3RhdGVfZGVjbGFyYXRpb24iLCJfZnNsX3ZlcnNpb24iLCJfZ3JhcGhfbGF5b3V0IiwiaGFzIiwic2V0IiwidW5kZWZpbmVkIiwiY3Vyc29yX2Zyb20iLCJnZXQiLCJfbmV3X3N0YXRlIiwiY3Vyc29yX3RvIiwidGhpc0VkZ2VJZCIsImZyb21fbWFwcGluZyIsImFjdGlvbk1hcCIsInJBY3Rpb25NYXAiLCJzdGF0ZV9jb25maWciLCJ3aGljaFN0YXRlIiwic3RhdGVfaXNfdGVybWluYWwiLCJzdGF0ZV9pc19jb21wbGV0ZSIsInN0YXRlX2lzX2ZpbmFsIiwid2hpY2giLCJpbnRlcm5hbF9zdGF0ZV9pbXBsX3ZlcnNpb24iLCJhY3Rpb25zIiwiZWRnZV9tYXAiLCJuYW1lZF90cmFuc2l0aW9ucyIsInJldmVyc2VfYWN0aW9ucyIsInN0YXRlcyIsImtleXMiLCJlbWciLCJpZCIsImdldF90cmFuc2l0aW9uX2J5X3N0YXRlX25hbWVzIiwiZW50cmFuY2VzIiwibGlzdF9lbnRyYW5jZXMiLCJleGl0cyIsImxpc3RfZXhpdHMiLCJ3c3RhdGUiLCJ3c3RhdGVfdG8iLCJ3dGYiLCJ3cyIsImxvb2t1cF90cmFuc2l0aW9uX2ZvciIsImZpbHRlciIsIkJvb2xlYW4iLCJzZWxlY3RlZCIsInByb2JhYmxlX2V4aXRzX2ZvciIsIm4iLCJzdGF0ZV93YXMiLCJwcm9iYWJpbGlzdGljX3RyYW5zaXRpb24iLCJwcm9iYWJpbGlzdGljX3dhbGsiLCJyYV9iYXNlIiwidmFsdWVzIiwiZWRnZUlkIiwibyIsImZpbHRlcmVkIiwic29tZSIsIngiLCJpc191bmVudGVyYWJsZSIsIm5ld0RhdGEiLCJ2YWxpZF9hY3Rpb24iLCJlZGdlIiwiY3VycmVudF9hY3Rpb25fZWRnZV9mb3IiLCJuZXdTdGF0ZSIsInZhbGlkX3RyYW5zaXRpb24iLCJ2YWxpZF9mb3JjZV90cmFuc2l0aW9uIiwiYWN0aW9uX2Jhc2UiLCJpZHgiLCJjdXJyZW50X2FjdGlvbl9mb3IiLCJfbmV3RGF0YSIsInRyYW5zaXRpb25fZm9yIiwic20iLCJ0ZW1wbGF0ZV9zdHJpbmdzIiwic2VxIiwid2VpZ2h0ZWRfcmFuZF9zZWxlY3QiLCJoaXN0b2dyYXBoIiwid2VpZ2h0ZWRfc2FtcGxlX3NlbGVjdCIsIndlaWdodGVkX2hpc3RvX2tleSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBNEJBOzs7Ozs7QUEzQkE7O0FBSUEsSUFBTUEsZ0JBQTJCQyxRQUFRLGlCQUFSLEVBQTJCQyxNQUE1RDs7QUF5QkEsSUFBTUMsUUFBK0NGLFFBQVEsZUFBUixFQUF5QkUsS0FBOUUsQyxDQUFzRjs7QUFFdEYsSUFBTUMsVUFBZ0IsSUFBdEIsQyxDQUE0Qjs7O0FBTTVCOztBQUVBLFNBQVNDLGVBQVQsQ0FBeUJDLEtBQXpCLEVBQStEOztBQUU3RCxVQUFTQyxPQUFPRCxLQUFQLENBQVQ7O0FBRUUsU0FBSyxJQUFMLENB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QUQsRUFBTW1DLEdBQU4sRUFBVzZILEdBQVg7QUFBQSxnQkFBOEJoSyxHQUE5QixHQUFvQyxXQUFVZ0ssR0FBVixDQUFwQyxHQUFxRDdILEdBQXJEO0FBQUEsR0FQc0IsQ0FPc0M7QUFDNUQ7QUFDQTs7QUFUc0IsR0FBTCxDQUFaLENBQVA7QUFhSDs7UUFRQzNDLE8sR0FBQUEsTztRQUVBZ0YseUIsR0FBQUEseUI7UUFFQUssTyxHQUFBQSxPO1FBRUFQLEksR0FBQUEsSTtRQUNFL0UsSyxHQUFBQSxLO1FBQ0FxRCxPLEdBQUFBLE87UUFFRndILEUsR0FBQUEsRTtRQUVBM0ssZSxHQUFBQSxlO1FBQ0FJLGUsR0FBQUEsZTtRQUNBQyxnQixHQUFBQSxnQjtRQUdBd0ssRztRQUFLQyxvQjtRQUFzQkMsVTtRQUFZQyxzQjtRQUF3QkMsa0IiLCJmaWxlIjoianNzbS5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gd2hhcmdhcmJsIGxvdHMgb2YgdGhlc2UgcmV0dXJuIGFycmF5cyBjb3VsZC9zaG91bGQgYmUgc2V0c1xuXG4vLyBAZmxvd1xuXG5jb25zdCByZWR1Y2VfdG9fNjM5IDogRnVuY3Rpb24gPSByZXF1aXJlKCdyZWR1Y2UtdG8tNjM5LTEnKS5yZWR1Y2U7XG5cblxuXG5cblxuaW1wb3J0IHR5cGUge1xuXG4gIEpzc21HZW5lcmljU3RhdGUsIEpzc21HZW5lcmljQ29uZmlnLFxuICBKc3NtVHJhbnNpdGlvbiwgSnNzbVRyYW5zaXRpb25MaXN0LFxuICBKc3NtTWFjaGluZUludGVybmFsU3RhdGUsXG4gIEpzc21QYXJzZVRyZWUsXG4gIEpzc21TdGF0ZURlY2xhcmF0aW9uLCBKc3NtU3RhdGVEZWNsYXJhdGlvblJ1bGUsXG4gIEpzc21Db21waWxlU2UsIEpzc21Db21waWxlU2VTdGFydCwgSnNzbUNvbXBpbGVSdWxlLFxuICBKc3NtQXJyb3csIEpzc21BcnJvd0RpcmVjdGlvbiwgSnNzbUFycm93S2luZCxcbiAgSnNzbUxheW91dFxuXG59IGZyb20gJy4vanNzbS10eXBlcyc7XG5cblxuXG5cblxuaW1wb3J0IHsgc2VxLCB3ZWlnaHRlZF9yYW5kX3NlbGVjdCwgd2VpZ2h0ZWRfc2FtcGxlX3NlbGVjdCwgaGlzdG9ncmFwaCwgd2VpZ2h0ZWRfaGlzdG9fa2V5IH0gZnJvbSAnLi9qc3NtLXV0aWwuanMnO1xuXG5jb25zdCBwYXJzZTogPE5ULCBEVD4oc3RyaW5nKSA9PiBKc3NtUGFyc2VUcmVlPE5UPiA9IHJlcXVpcmUoJy4vanNzbS1kb3QuanMnKS5wYXJzZTsgIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgZmxvd3R5cGUvbm8td2Vhay10eXBlcyAvLyB0b2RvIHdoYXJnYXJibCByZW1vdmUgYW55XG5cbmNvbnN0IHZlcnNpb246IG51bGwgPSBudWxsOyAvLyByZXBsYWNlZCBmcm9tIHBhY2thZ2UuanMgaW4gYnVpbGRcblxuXG5cblxuXG4vKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovXG5cbmZ1bmN0aW9uIGFycm93X2RpcmVjdGlvbihhcnJvdzogSnNzbUFycm93KTogSnNzbUFycm93RGlyZWN0aW9uIHtcblxuICBzd2l0Y2ggKCBTdHJpbmcoYXJyb3cpICkge1xuXG4gICAgY2FzZSAnLT4nIDogICAgY2FzZSAn4oaSJyA6XG4gICAgY2FzZSAnPT4nIDogICAgY2FzZSAn4oeSJyA6XG4gICAgY2FzZSAnfj4nIDogICAgY2FzZSAn4oabJyA6XG4gICAgICByZXR1cm4gJ3JpZ2h0JztcblxuICAgIGNhc2UgJzwtJyA6ICAgIGNhc2UgJ+KGkCcgOlxuICAgIGNhc2UgJzw9JyA6ICAgIGNhc2UgJ+KHkCcgOlxuICAgIGNhc2UgJzx+JyA6ICAgIGNhc2UgJ+KGmicgOlxuICAgICAgcmV0dXJuICdsZWZ0JztcblxuICAgIGNhc2UgJzwtPic6ICAgIGNhc2UgJ+KGlCcgOlxuICAgIGNhc2UgJzwtPT4nOiAgIGNhc2UgJ+KGkOKHkicgOlxuICAgIGNhc2UgJzwtfj4nOiAgIGNhc2UgJ+KGkOKGmycgOlxuXG4gICAgY2FzZSAnPD0+JzogICAgY2FzZSAn4oeUJyA6XG4gICAgY2FzZSAnPD0tPic6ICAgY2FzZSAn4oeQ4oaSJyA6XG4gICAgY2FzZSAnPD1+Pic6ICAgY2FzZSAn4oeQ4oabJyA6XG5cbiAgICBjYXNlICc8fj4nOiAgICBjYXNlICfihq4nIDpcbiAgICBjYXNlICc8fi0+JzogICBjYXNlICfihprihpInIDpcbiAgICBjYXNlICc8fj0+JzogICBjYXNlICfihprih5InIDpcbiAgICAgIHJldHVybiAnYm90aCc7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBhcnJvd19kaXJlY3Rpb246IHVua25vd24gYXJyb3cgdHlwZSAke2Fycm93fWApO1xuXG4gIH1cblxufVxuXG4vKiBlc2xpbnQtZW5hYmxlIGNvbXBsZXhpdHkgKi9cblxuXG5cblxuXG4vKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovXG5cbmZ1bmN0aW9uIGFycm93X2xlZnRfa2luZChhcnJvdzogSnNzbUFycm93KTogSnNzbUFycm93S2luZCB7XG5cbiAgc3dpdGNoICggU3RyaW5nKGFycm93KSApIHtcblxuICAgIGNhc2UgJy0+JyA6ICAgIGNhc2UgJ+KGkicgOlxuICAgIGNhc2UgJz0+JyA6ICAgIGNhc2UgJ+KHkicgOlxuICAgIGNhc2UgJ34+JyA6ICAgIGNhc2UgJ+KGmycgOlxuICAgICAgcmV0dXJuICdub25lJztcblxuICAgIGNhc2UgJzwtJzogICAgIGNhc2UgJ+KGkCcgOlxuICAgIGNhc2UgJzwtPic6ICAgIGNhc2UgJ+KGlCcgOlxuICAgIGNhc2UgJzwtPT4nOiAgIGNhc2UgJ+KGkOKHkicgOlxuICAgIGNhc2UgJzwtfj4nOiAgIGNhc2UgJ+KGkOKGmycgOlxuICAgICAgcmV0dXJuICdsZWdhbCc7XG5cbiAgICBjYXNlICc8PSc6ICAgICBjYXNlICfih5AnIDpcbiAgICBjYXNlICc8PT4nOiAgICBjYXNlICfih5QnIDpcbiAgICBjYXNlICc8PS0+JzogICBjYXNlICfih5DihpInIDpcbiAgICBjYXNlICc8PX4+JzogICBjYXNlICfih5DihpsnIDpcbiAgICAgIHJldHVybiAnbWFpbic7XG5cbiAgICBjYXNlICc8fic6ICAgICBjYXNlICfihponIDpcbiAgICBjYXNlICc8fj4nOiAgICBjYXNlICfihq4nIDpcbiAgICBjYXNlICc8fi0+JzogICBjYXNlICfihprihpInIDpcbiAgICBjYXNlICc8fj0+JzogICBjYXNlICfihprih5InIDpcbiAgICAgIHJldHVybiAnZm9yY2VkJztcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGFycm93X2RpcmVjdGlvbjogdW5rbm93biBhcnJvdyB0eXBlICR7YXJyb3d9YCk7XG5cbiAgfVxuXG59XG5cbi8qIGVzbGludC1lbmFibGUgY29tcGxleGl0eSAqL1xuXG5cblxuXG5cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cblxuZnVuY3Rpb24gYXJyb3dfcmlnaHRfa2luZChhcnJvdzogSnNzbUFycm93KTogSnNzbUFycm93S2luZCB7XG5cbiAgc3dpdGNoICggU3RyaW5nKGFycm93KSApIHtcblxuICAgIGNhc2UgJzwtJyA6ICAgIGNhc2UgJ+KGkCcgOlxuICAgIGNhc2UgJzw9JyA6ICAgIGNhc2UgJ+KHkCcgOlxuICAgIGNhc2UgJzx+JyA6ICAgIGNhc2UgJ+KGmicgOlxuICAgICAgcmV0dXJuICdub25lJztcblxuICAgIGNhc2UgJy0+JyA6ICAgIGNhc2UgJ+KGkicgOlxuICAgIGNhc2UgJzwtPic6ICAgIGNhc2UgJ+KGlCcgOlxuICAgIGNhc2UgJzw9LT4nOiAgIGNhc2UgJ+KHkOKGkicgOlxuICAgIGNhc2UgJzx+LT4nOiAgIGNhc2UgJ+KGmuKGkicgOlxuICAgICAgcmV0dXJuICdsZWdhbCc7XG5cbiAgICBjYXNlICc9PicgOiAgICBjYXNlICfih5InIDpcbiAgICBjYXNlICc8PT4nOiAgICBjYXNlICfih5QnIDpcbiAgICBjYXNlICc8LT0+JzogICBjYXNlICfihpDih5InIDpcbiAgICBjYXNlICc8fj0+JzogICBjYXNlICfihprih5InIDpcbiAgICAgIHJldHVybiAnbWFpbic7XG5cbiAgICBjYXNlICd+PicgOiAgICBjYXNlICfihpsnIDpcbiAgICBjYXNlICc8fj4nOiAgICBjYXNlICfihq4nIDpcbiAgICBjYXNlICc8LX4+JzogICBjYXNlICfihpDihpsnIDpcbiAgICBjYXNlICc8PX4+JzogICBjYXNlICfih5DihpsnIDpcbiAgICAgIHJldHVybiAnZm9yY2VkJztcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGFycm93X2RpcmVjdGlvbjogdW5rbm93biBhcnJvdyB0eXBlICR7YXJyb3d9YCk7XG5cbiAgfVxuXG59XG5cbi8qIGVzbGludC1lbmFibGUgY29tcGxleGl0eSAqL1xuXG5cblxuXG5cbmZ1bmN0aW9uIGNvbXBpbGVfcnVsZV90cmFuc2l0aW9uX3N0ZXA8bU5ULCBtRFQ+KFxuICAgICAgICAgICAgIGFjYyAgICAgOiBBcnJheTwgSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID4sXG4gICAgICAgICAgICAgZnJvbSAgICA6IG1OVCxcbiAgICAgICAgICAgICB0byAgICAgIDogbU5ULFxuICAgICAgICAgICAgIHRoaXNfc2UgOiBKc3NtQ29tcGlsZVNlPG1OVD4sXG4gICAgICAgICAgICAgbmV4dF9zZSA6IEpzc21Db21waWxlU2U8bU5UPlxuICAgICAgICAgKSA6IEFycmF5PCBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPiB7IC8vIHRvZG8gZmxvdyBkZXNjcmliZSB0aGUgcGFyc2VyIHJlcHJlc2VudGF0aW9uIG9mIGEgdHJhbnNpdGlvbiBzdGVwIGV4dGVuc2lvblxuXG4gIGNvbnN0IGVkZ2VzIDogQXJyYXk8IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA+ID0gW107XG5cbiAgY29uc3QgdUZyb20gOiBBcnJheTwgbU5UID4gPSAoQXJyYXkuaXNBcnJheShmcm9tKT8gZnJvbSA6IFtmcm9tXSksXG4gICAgICAgIHVUbyAgIDogQXJyYXk8IG1OVCA+ID0gKEFycmF5LmlzQXJyYXkodG8pPyAgIHRvICAgOiBbdG9dICApO1xuXG4gIHVGcm9tLm1hcCggKGY6IG1OVCkgPT4ge1xuICAgIHVUby5tYXAoICh0OiBtTlQpID0+IHtcblxuICAgICAgY29uc3Qgcms6IEpzc21BcnJvd0tpbmQgPSBhcnJvd19yaWdodF9raW5kKHRoaXNfc2Uua2luZCksXG4gICAgICAgICAgICBsazogSnNzbUFycm93S2luZCA9IGFycm93X2xlZnRfa2luZCh0aGlzX3NlLmtpbmQpO1xuXG5cbiAgICAgIGNvbnN0IHJpZ2h0OiBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPSB7XG4gICAgICAgIGZyb20gICAgICAgIDogZixcbiAgICAgICAgdG8gICAgICAgICAgOiB0LFxuICAgICAgICBraW5kICAgICAgICA6IHJrLFxuICAgICAgICBmb3JjZWRfb25seSA6IHJrID09PSAnZm9yY2VkJyxcbiAgICAgICAgbWFpbl9wYXRoICAgOiByayA9PT0gJ21haW4nXG4gICAgICB9O1xuXG4gICAgICBpZiAodGhpc19zZS5yX2FjdGlvbikgICAgICB7IHJpZ2h0LmFjdGlvbiAgICAgID0gdGhpc19zZS5yX2FjdGlvbjsgICAgICB9XG4gICAgICBpZiAodGhpc19zZS5yX3Byb2JhYmlsaXR5KSB7IHJpZ2h0LnByb2JhYmlsaXR5ID0gdGhpc19zZS5yX3Byb2JhYmlsaXR5OyB9XG4gICAgICBpZiAocmlnaHQua2luZCAhPT0gJ25vbmUnKSB7IGVkZ2VzLnB1c2gocmlnaHQpOyB9XG5cblxuICAgICAgY29uc3QgbGVmdDogSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID0ge1xuICAgICAgICBmcm9tICAgICAgICA6IHQsXG4gICAgICAgIHRvICAgICAgICAgIDogZixcbiAgICAgICAga2luZCAgICAgICAgOiBsayxcbiAgICAgICAgZm9yY2VkX29ubHkgOiBsayA9PT0gJ2ZvcmNlZCcsXG4gICAgICAgIG1haW5fcGF0aCAgIDogbGsgPT09ICdtYWluJ1xuICAgICAgfTtcblxuICAgICAgaWYgKHRoaXNfc2UubF9hY3Rpb24pICAgICAgeyBsZWZ0LmFjdGlvbiAgICAgID0gdGhpc19zZS5sX2FjdGlvbjsgICAgICB9XG4gICAgICBpZiAodGhpc19zZS5sX3Byb2JhYmlsaXR5KSB7IGxlZnQucHJvYmFiaWxpdHkgPSB0aGlzX3NlLmxfcHJvYmFiaWxpdHk7IH1cbiAgICAgIGlmIChsZWZ0LmtpbmQgIT09ICdub25lJykgIHsgZWRnZXMucHVzaChsZWZ0KTsgfVxuXG4gICAgfSk7XG4gIH0pO1xuXG4gIGNvbnN0IG5ld19hY2M6IEFycmF5PCBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPiA9IGFjYy5jb25jYXQoZWRnZXMpO1xuXG4gIGlmIChuZXh0X3NlKSB7XG4gICAgcmV0dXJuIGNvbXBpbGVfcnVsZV90cmFuc2l0aW9uX3N0ZXAobmV3X2FjYywgdG8sIG5leHRfc2UudG8sIG5leHRfc2UsIG5leHRfc2Uuc2UpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBuZXdfYWNjO1xuICB9XG5cbn1cblxuXG5cbmZ1bmN0aW9uIGNvbXBpbGVfcnVsZV9oYW5kbGVfdHJhbnNpdGlvbjxtTlQ+KHJ1bGU6IEpzc21Db21waWxlU2VTdGFydDxtTlQ+KTogbWl4ZWQgeyAvLyB0b2RvIGZsb3cgZGVzY3JpYmUgdGhlIHBhcnNlciByZXByZXNlbnRhdGlvbiBvZiBhIHRyYW5zaXRpb25cbiAgcmV0dXJuIGNvbXBpbGVfcnVsZV90cmFuc2l0aW9uX3N0ZXAoW10sIHJ1bGUuZnJvbSwgcnVsZS5zZS50bywgcnVsZS5zZSwgcnVsZS5zZS5zZSk7XG59XG5cblxuXG5mdW5jdGlvbiBjb21waWxlX3J1bGVfaGFuZGxlcjxtTlQ+KHJ1bGU6IEpzc21Db21waWxlU2VTdGFydDxtTlQ+KTogSnNzbUNvbXBpbGVSdWxlIHsgLy8gdG9kbyBmbG93IGRlc2NyaWJlIHRoZSBvdXRwdXQgb2YgdGhlIHBhcnNlclxuXG4gIGlmIChydWxlLmtleSA9PT0gJ3RyYW5zaXRpb24nKSB7XG4gICAgcmV0dXJuIHsgYWdnX2FzOiAndHJhbnNpdGlvbicsIHZhbDogY29tcGlsZV9ydWxlX2hhbmRsZV90cmFuc2l0aW9uKHJ1bGUpIH07XG4gIH1cblxuICBpZiAocnVsZS5rZXkgPT09ICdtYWNoaW5lX2xhbmd1YWdlJykge1xuICAgIHJldHVybiB7IGFnZ19hczogJ21hY2hpbmVfbGFuZ3VhZ2UnLCB2YWw6IHJlZHVjZV90b182MzkocnVsZS52YWx1ZSkgfTtcbiAgfVxuXG4gIGlmIChydWxlLmtleSA9PT0gJ3N0YXRlX2RlY2xhcmF0aW9uJykge1xuICAgIGlmICghcnVsZS5uYW1lKSB7IHRocm93IG5ldyBFcnJvcignU3RhdGUgZGVjbGFyYXRpb25zIG11c3QgaGF2ZSBhIG5hbWUnKTsgfVxuICAgIHJldHVybiB7IGFnZ19hczogJ3N0YXRlX2RlY2xhcmF0aW9uJywgdmFsOiB7IHN0YXRlOiBydWxlLm5hbWUsIGRlY2xhcmF0aW9uczogcnVsZS52YWx1ZSB9IH07XG4gIH1cblxuICBjb25zdCB0YXV0b2xvZ2llcyA6IEFycmF5PHN0cmluZz4gPSBbXG4gICAgJ2dyYXBoX2xheW91dCcsICdzdGFydF9zdGF0ZXMnLCAnZW5kX3N0YXRlcycsICdtYWNoaW5lX25hbWUnLCAnbWFjaGluZV92ZXJzaW9uJyxcbiAgICAnbWFjaGluZV9jb21tZW50JywgJ21hY2hpbmVfYXV0aG9yJywgJ21hY2hpbmVfY29udHJpYnV0b3InLCAnbWFjaGluZV9kZWZpbml0aW9uJyxcbiAgICAnbWFjaGluZV9yZWZlcmVuY2UnLCAnbWFjaGluZV9saWNlbnNlJywgJ2ZzbF92ZXJzaW9uJ1xuICBdO1xuXG4gIGlmICh0YXV0b2xvZ2llcy5pbmNsdWRlcyhydWxlLmtleSkpIHtcbiAgICByZXR1cm4geyBhZ2dfYXM6IHJ1bGUua2V5LCB2YWw6IHJ1bGUudmFsdWUgfTtcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcihgY29tcGlsZV9ydWxlX2hhbmRsZXI6IFVua25vd24gcnVsZTogJHtKU09OLnN0cmluZ2lmeShydWxlKX1gKTtcblxufVxuXG5cblxuXG5cbmZ1bmN0aW9uIGNvbXBpbGU8bU5ULCBtRFQ+KHRyZWU6IEpzc21QYXJzZVRyZWU8bU5UPik6IEpzc21HZW5lcmljQ29uZmlnPG1OVCwgbURUPiB7ICAvLyB0b2RvIGZsb3cgZGVzY3JpYmUgdGhlIG91dHB1dCBvZiB0aGUgcGFyc2VyXG5cbiAgY29uc3QgcmVzdWx0cyA6IHtcbiAgICBncmFwaF9sYXlvdXQgICAgICAgIDogQXJyYXk8IEpzc21MYXlvdXQgPixcbiAgICB0cmFuc2l0aW9uICAgICAgICAgIDogQXJyYXk8IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA+LFxuICAgIHN0YXJ0X3N0YXRlcyAgICAgICAgOiBBcnJheTwgbU5UID4sXG4gICAgZW5kX3N0YXRlcyAgICAgICAgICA6IEFycmF5PCBtTlQgPixcbiAgICBzdGF0ZV9kZWNsYXJhdGlvbiAgIDogQXJyYXk8IG1OVCA+LFxuICAgIGZzbF92ZXJzaW9uICAgICAgICAgOiBBcnJheTwgc3RyaW5nID4sXG4gICAgbWFjaGluZV9hdXRob3IgICAgICA6IEFycmF5PCBzdHJpbmcgPixcbiAgICBtYWNoaW5lX2NvbW1lbnQgICAgIDogQXJyYXk8IHN0cmluZyA+LFxuICAgIG1hY2hpbmVfY29udHJpYnV0b3IgOiBBcnJheTwgc3RyaW5nID4sXG4gICAgbWFjaGluZV9kZWZpbml0aW9uICA6IEFycmF5PCBzdHJpbmcgPixcbiAgICBtYWNoaW5lX2xhbmd1YWdlICAgIDogQXJyYXk8IHN0cmluZyA+LFxuICAgIG1hY2hpbmVfbGljZW5zZSAgICAgOiBBcnJheTwgc3RyaW5nID4sXG4gICAgbWFjaGluZV9uYW1lICAgICAgICA6IEFycmF5PCBzdHJpbmcgPixcbiAgICBtYWNoaW5lX3JlZmVyZW5jZSAgIDogQXJyYXk8IHN0cmluZyA+LFxuICAgIG1hY2hpbmVfdmVyc2lvbiAgICAgOiBBcnJheTwgc3RyaW5nID4gLy8gc2VtdmVyXG4gIH0gPSB7XG4gICAgZ3JhcGhfbGF5b3V0ICAgICAgICA6IFtdLFxuICAgIHRyYW5zaXRpb24gICAgICAgICAgOiBbXSxcbiAgICBzdGFydF9zdGF0ZXMgICAgICAgIDogW10sXG4gICAgZW5kX3N0YXRlcyAgICAgICAgICA6IFtdLFxuICAgIHN0YXRlX2RlY2xhcmF0aW9uICAgOiBbXSxcbiAgICBmc2xfdmVyc2lvbiAgICAgICAgIDogW10sXG4gICAgbWFjaGluZV9hdXRob3IgICAgICA6IFtdLFxuICAgIG1hY2hpbmVfY29tbWVudCAgICAgOiBbXSxcbiAgICBtYWNoaW5lX2NvbnRyaWJ1dG9yIDogW10sXG4gICAgbWFjaGluZV9kZWZpbml0aW9uICA6IFtdLFxuICAgIG1hY2hpbmVfbGFuZ3VhZ2UgICAgOiBbXSxcbiAgICBtYWNoaW5lX2xpY2Vuc2UgICAgIDogW10sXG4gICAgbWFjaGluZV9uYW1lICAgICAgICA6IFtdLFxuICAgIG1hY2hpbmVfcmVmZXJlbmNlICAgOiBbXSxcbiAgICBtYWNoaW5lX3ZlcnNpb24gICAgIDogW11cbiAgfTtcblxuICB0cmVlLm1hcCggKHRyIDogSnNzbUNvbXBpbGVTZVN0YXJ0PG1OVD4pID0+IHtcblxuICAgIGNvbnN0IHJ1bGUgICA6IEpzc21Db21waWxlUnVsZSA9IGNvbXBpbGVfcnVsZV9oYW5kbGVyKHRyKSxcbiAgICAgICAgICBhZ2dfYXMgOiBzdHJpbmcgICAgICAgICAgPSBydWxlLmFnZ19hcyxcbiAgICAgICAgICB2YWwgICAgOiBtaXhlZCAgICAgICAgICAgPSBydWxlLnZhbDsgICAgICAgICAgICAgICAgICAvLyB0b2RvIGJldHRlciB0eXBlc1xuXG4gICAgcmVzdWx0c1thZ2dfYXNdID0gcmVzdWx0c1thZ2dfYXNdLmNvbmNhdCh2YWwpO1xuXG4gIH0pO1xuXG4gIGNvbnN0IGFzc2VtYmxlZF90cmFuc2l0aW9ucyA6IEFycmF5PCBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPiA9IFtdLmNvbmNhdCguLi4gcmVzdWx0c1sndHJhbnNpdGlvbiddKTtcblxuICBjb25zdCByZXN1bHRfY2ZnIDogSnNzbUdlbmVyaWNDb25maWc8bU5ULCBtRFQ+ID0ge1xuICAgIHN0YXJ0X3N0YXRlcyA6IHJlc3VsdHMuc3RhcnRfc3RhdGVzLmxlbmd0aD8gcmVzdWx0cy5zdGFydF9zdGF0ZXMgOiBbYXNzZW1ibGVkX3RyYW5zaXRpb25zWzBdLmZyb21dLFxuICAgIHRyYW5zaXRpb25zICA6IGFzc2VtYmxlZF90cmFuc2l0aW9uc1xuICB9O1xuXG4gIGNvbnN0IG9uZU9ubHlLZXlzIDogQXJyYXk8c3RyaW5nPiA9IFtcbiAgICAnZ3JhcGhfbGF5b3V0JywgJ21hY2hpbmVfbmFtZScsICdtYWNoaW5lX3ZlcnNpb24nLCAnbWFjaGluZV9jb21tZW50JywgJ2ZzbF92ZXJzaW9uJywgJ21hY2hpbmVfbGljZW5zZScsXG4gICAgJ21hY2hpbmVfZGVmaW5pdGlvbicsICdtYWNoaW5lX2xhbmd1YWdlJ1xuICBdO1xuXG4gIG9uZU9ubHlLZXlzLm1hcCggKG9uZU9ubHlLZXkgOiBzdHJpbmcpID0+IHtcbiAgICBpZiAocmVzdWx0c1tvbmVPbmx5S2V5XS5sZW5ndGggPiAxKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1heSBvbmx5IGhhdmUgb25lICR7b25lT25seUtleX0gc3RhdGVtZW50IG1heGltdW06ICR7SlNPTi5zdHJpbmdpZnkocmVzdWx0c1tvbmVPbmx5S2V5XSl9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChyZXN1bHRzW29uZU9ubHlLZXldLmxlbmd0aCkge1xuICAgICAgICByZXN1bHRfY2ZnW29uZU9ubHlLZXldID0gcmVzdWx0c1tvbmVPbmx5S2V5XVswXTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIFsnbWFjaGluZV9hdXRob3InLCAnbWFjaGluZV9jb250cmlidXRvcicsICdtYWNoaW5lX3JlZmVyZW5jZScsICdzdGF0ZV9kZWNsYXJhdGlvbiddLm1hcCggKG11bHRpS2V5IDogc3RyaW5nKSA9PiB7XG4gICAgaWYgKHJlc3VsdHNbbXVsdGlLZXldLmxlbmd0aCkge1xuICAgICAgcmVzdWx0X2NmZ1ttdWx0aUtleV0gPSByZXN1bHRzW211bHRpS2V5XTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiByZXN1bHRfY2ZnO1xuXG59XG5cblxuXG5cblxuZnVuY3Rpb24gbWFrZTxtTlQsIG1EVD4ocGxhbjogc3RyaW5nKTogSnNzbUdlbmVyaWNDb25maWc8bU5ULCBtRFQ+IHtcbiAgcmV0dXJuIGNvbXBpbGUocGFyc2UocGxhbikpO1xufVxuXG5cblxuXG5cbmZ1bmN0aW9uIHRyYW5zZmVyX3N0YXRlX3Byb3BlcnRpZXM8bU5UPihzdGF0ZV9kZWNsOiBKc3NtU3RhdGVEZWNsYXJhdGlvbjxtTlQ+KTogSnNzbVN0YXRlRGVjbGFyYXRpb248bU5UPiB7XG5cbiAgICBzdGF0ZV9kZWNsLmRlY2xhcmF0aW9ucy5tYXAoIChkOiBKc3NtU3RhdGVEZWNsYXJhdGlvblJ1bGUpID0+IHtcbiAgICAgIHN3aXRjaCAoZC5rZXkpIHtcblxuICAgICAgICBjYXNlICdub2RlX3NoYXBlJyA6IHN0YXRlX2RlY2wubm9kZV9zaGFwZSA9IGQudmFsdWU7IGJyZWFrO1xuICAgICAgICBjYXNlICdub2RlX2NvbG9yJyA6IHN0YXRlX2RlY2wubm9kZV9jb2xvciA9IGQudmFsdWU7IGJyZWFrO1xuXG4gICAgICAgIGRlZmF1bHQ6IHRocm93IG5ldyBFcnJvcihgVW5rbm93biBzdGF0ZSBwcm9wZXJ0eTogJyR7SlNPTi5zdHJpbmdpZnkoZCl9J2ApO1xuXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3RhdGVfZGVjbDtcblxufVxuXG5cblxuXG5cbmNsYXNzIE1hY2hpbmU8bU5ULCBtRFQ+IHtcblxuXG4gIF9zdGF0ZSAgICAgICAgICAgICAgICAgIDogbU5UO1xuICBfc3RhdGVzICAgICAgICAgICAgICAgICA6IE1hcDxtTlQsIEpzc21HZW5lcmljU3RhdGU8bU5UPj47XG4gIF9lZGdlcyAgICAgICAgICAgICAgICAgIDogQXJyYXk8SnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+PjtcbiAgX2VkZ2VfbWFwICAgICAgICAgICAgICAgOiBNYXA8bU5ULCBNYXA8bU5ULCBudW1iZXI+PjtcbiAgX25hbWVkX3RyYW5zaXRpb25zICAgICAgOiBNYXA8bU5ULCBudW1iZXI+O1xuICBfYWN0aW9ucyAgICAgICAgICAgICAgICA6IE1hcDxtTlQsIE1hcDxtTlQsIG51bWJlcj4+O1xuICBfcmV2ZXJzZV9hY3Rpb25zICAgICAgICA6IE1hcDxtTlQsIE1hcDxtTlQsIG51bWJlcj4+O1xuICBfcmV2ZXJzZV9hY3Rpb25fdGFyZ2V0cyA6IE1hcDxtTlQsIE1hcDxtTlQsIG51bWJlcj4+O1xuXG4gIF9tYWNoaW5lX2F1dGhvciAgICAgICAgIDogP0FycmF5PHN0cmluZz47XG4gIF9tYWNoaW5lX2NvbW1lbnQgICAgICAgIDogP3N0cmluZztcbiAgX21hY2hpbmVfY29udHJpYnV0b3IgICAgOiA/QXJyYXk8c3RyaW5nPjtcbiAgX21hY2hpbmVfZGVmaW5pdGlvbiAgICAgOiA/c3RyaW5nO1xuICBfbWFjaGluZV9sYW5ndWFnZSAgICAgICA6ID9zdHJpbmc7XG4gIF9tYWNoaW5lX2xpY2Vuc2UgICAgICAgIDogP3N0cmluZztcbiAgX21hY2hpbmVfbmFtZSAgICAgICAgICAgOiA/c3RyaW5nO1xuICBfbWFjaGluZV92ZXJzaW9uICAgICAgICA6ID9zdHJpbmc7XG4gIF9mc2xfdmVyc2lvbiAgICAgICAgICAgIDogP3N0cmluZztcbiAgX3Jhd19zdGF0ZV9kZWNsYXJhdGlvbiAgOiA/QXJyYXk8T2JqZWN0PjsgICAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBmbG93dHlwZS9uby13ZWFrLXR5cGVzXG4gIF9zdGF0ZV9kZWNsYXJhdGlvbnMgICAgIDogTWFwPG1OVCwgSnNzbVN0YXRlRGVjbGFyYXRpb248bU5UPj47XG5cbiAgX2dyYXBoX2xheW91dCAgICAgICAgICAgOiBKc3NtTGF5b3V0O1xuXG5cbiAgLy8gd2hhcmdhcmJsIHRoaXMgYmFkbHkgbmVlZHMgdG8gYmUgYnJva2VuIHVwLCBtb25vbGl0aCBtYXN0ZXJcbiAgY29uc3RydWN0b3Ioe1xuICAgIHN0YXJ0X3N0YXRlcyxcbiAgICBjb21wbGV0ZSAgICAgICAgPSBbXSxcbiAgICB0cmFuc2l0aW9ucyxcbiAgICBtYWNoaW5lX2F1dGhvcixcbiAgICBtYWNoaW5lX2NvbW1lbnQsXG4gICAgbWFjaGluZV9jb250cmlidXRvcixcbiAgICBtYWNoaW5lX2RlZmluaXRpb24sXG4gICAgbWFjaGluZV9sYW5ndWFnZSxcbiAgICBtYWNoaW5lX2xpY2Vuc2UsXG4gICAgbWFjaGluZV9uYW1lLFxuICAgIG1hY2hpbmVfdmVyc2lvbixcbiAgICBzdGF0ZV9kZWNsYXJhdGlvbixcbiAgICBmc2xfdmVyc2lvbixcbiAgICBncmFwaF9sYXlvdXQgPSAnZG90J1xuICB9IDogSnNzbUdlbmVyaWNDb25maWc8bU5ULCBtRFQ+KSB7XG5cbiAgICB0aGlzLl9zdGF0ZSAgICAgICAgICAgICAgICAgID0gc3RhcnRfc3RhdGVzWzBdO1xuICAgIHRoaXMuX3N0YXRlcyAgICAgICAgICAgICAgICAgPSBuZXcgTWFwKCk7XG4gICAgdGhpcy5fc3RhdGVfZGVjbGFyYXRpb25zICAgICA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLl9lZGdlcyAgICAgICAgICAgICAgICAgID0gW107XG4gICAgdGhpcy5fZWRnZV9tYXAgICAgICAgICAgICAgICA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLl9uYW1lZF90cmFuc2l0aW9ucyAgICAgID0gbmV3IE1hcCgpO1xuICAgIHRoaXMuX2FjdGlvbnMgICAgICAgICAgICAgICAgPSBuZXcgTWFwKCk7XG4gICAgdGhpcy5fcmV2ZXJzZV9hY3Rpb25zICAgICAgICA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLl9yZXZlcnNlX2FjdGlvbl90YXJnZXRzID0gbmV3IE1hcCgpOyAgIC8vIHRvZG9cblxuICAgIHRoaXMuX21hY2hpbmVfYXV0aG9yICAgICAgICAgPSBtYWNoaW5lX2F1dGhvcjtcbiAgICB0aGlzLl9tYWNoaW5lX2NvbW1lbnQgICAgICAgID0gbWFjaGluZV9jb21tZW50O1xuICAgIHRoaXMuX21hY2hpbmVfY29udHJpYnV0b3IgICAgPSBtYWNoaW5lX2NvbnRyaWJ1dG9yO1xuICAgIHRoaXMuX21hY2hpbmVfZGVmaW5pdGlvbiAgICAgPSBtYWNoaW5lX2RlZmluaXRpb247XG4gICAgdGhpcy5fbWFjaGluZV9sYW5ndWFnZSAgICAgICA9IG1hY2hpbmVfbGFuZ3VhZ2U7XG4gICAgdGhpcy5fbWFjaGluZV9saWNlbnNlICAgICAgICA9IG1hY2hpbmVfbGljZW5zZTtcbiAgICB0aGlzLl9tYWNoaW5lX25hbWUgICAgICAgICAgID0gbWFjaGluZV9uYW1lO1xuICAgIHRoaXMuX21hY2hpbmVfdmVyc2lvbiAgICAgICAgPSBtYWNoaW5lX3ZlcnNpb247XG4gICAgdGhpcy5fcmF3X3N0YXRlX2RlY2xhcmF0aW9uICA9IHN0YXRlX2RlY2xhcmF0aW9uIHx8IFtdO1xuICAgIHRoaXMuX2ZzbF92ZXJzaW9uICAgICAgICAgICAgPSBmc2xfdmVyc2lvbjtcblxuICAgIHRoaXMuX2dyYXBoX2xheW91dCAgICAgICAgICAgPSBncmFwaF9sYXlvdXQ7XG5cblxuICAgIGlmIChzdGF0ZV9kZWNsYXJhdGlvbikge1xuICAgICAgc3RhdGVfZGVjbGFyYXRpb24ubWFwKCAoc3RhdGVfZGVjbDogSnNzbVN0YXRlRGVjbGFyYXRpb248bU5UPikgPT4ge1xuXG4gICAgICAgIGlmICh0aGlzLl9zdGF0ZV9kZWNsYXJhdGlvbnMuaGFzKHN0YXRlX2RlY2wuc3RhdGUpKSB7IC8vIG5vIHJlcGVhdHNcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEFkZGVkIHRoZSBzYW1lIHN0YXRlIGRlY2xhcmF0aW9uIHR3aWNlOiAke0pTT04uc3RyaW5naWZ5KHN0YXRlX2RlY2wuc3RhdGUpfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc3RhdGVfZGVjbGFyYXRpb25zLnNldCggc3RhdGVfZGVjbC5zdGF0ZSwgdHJhbnNmZXJfc3RhdGVfcHJvcGVydGllcyhzdGF0ZV9kZWNsKSApO1xuXG4gICAgICB9ICk7XG4gICAgfVxuXG5cbiAgICB0cmFuc2l0aW9ucy5tYXAoICh0cjpKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4pID0+IHtcblxuICAgICAgaWYgKHRyLmZyb20gPT09IHVuZGVmaW5lZCkgeyB0aHJvdyBuZXcgRXJyb3IoYHRyYW5zaXRpb24gbXVzdCBkZWZpbmUgJ2Zyb20nOiAke0pTT04uc3RyaW5naWZ5KHRyKX1gKTsgfVxuICAgICAgaWYgKHRyLnRvICAgPT09IHVuZGVmaW5lZCkgeyB0aHJvdyBuZXcgRXJyb3IoYHRyYW5zaXRpb24gbXVzdCBkZWZpbmUgJ3RvJzogJHsgIEpTT04uc3RyaW5naWZ5KHRyKX1gKTsgfVxuXG4gICAgICAvLyBnZXQgdGhlIGN1cnNvcnMuICB3aGF0IGEgbWVzc1xuICAgICAgY29uc3QgY3Vyc29yX2Zyb206IEpzc21HZW5lcmljU3RhdGU8bU5UPlxuICAgICAgICAgID0gdGhpcy5fc3RhdGVzLmdldCh0ci5mcm9tKVxuICAgICAgICAgfHwgeyBuYW1lOiB0ci5mcm9tLCBmcm9tOiBbXSwgdG86IFtdLCBjb21wbGV0ZTogY29tcGxldGUuaW5jbHVkZXModHIuZnJvbSkgfTtcblxuICAgICAgaWYgKCEodGhpcy5fc3RhdGVzLmhhcyh0ci5mcm9tKSkpIHtcbiAgICAgICAgdGhpcy5fbmV3X3N0YXRlKGN1cnNvcl9mcm9tKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY3Vyc29yX3RvOiBKc3NtR2VuZXJpY1N0YXRlPG1OVD5cbiAgICAgICAgICA9IHRoaXMuX3N0YXRlcy5nZXQodHIudG8pXG4gICAgICAgICB8fCB7bmFtZTogdHIudG8sIGZyb206IFtdLCB0bzogW10sIGNvbXBsZXRlOiBjb21wbGV0ZS5pbmNsdWRlcyh0ci50bykgfTtcblxuICAgICAgaWYgKCEodGhpcy5fc3RhdGVzLmhhcyh0ci50bykpKSB7XG4gICAgICAgIHRoaXMuX25ld19zdGF0ZShjdXJzb3JfdG8pO1xuICAgICAgfVxuXG4gICAgICAvLyBndWFyZCBhZ2FpbnN0IGV4aXN0aW5nIGNvbm5lY3Rpb25zIGJlaW5nIHJlLWFkZGVkXG4gICAgICBpZiAoY3Vyc29yX2Zyb20udG8uaW5jbHVkZXModHIudG8pKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgYWxyZWFkeSBoYXMgJHtKU09OLnN0cmluZ2lmeSh0ci5mcm9tKX0gdG8gJHtKU09OLnN0cmluZ2lmeSh0ci50byl9YCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjdXJzb3JfZnJvbS50by5wdXNoKHRyLnRvKTtcbiAgICAgICAgY3Vyc29yX3RvLmZyb20ucHVzaCh0ci5mcm9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gYWRkIHRoZSBlZGdlOyBub3RlIGl0cyBpZFxuICAgICAgdGhpcy5fZWRnZXMucHVzaCh0cik7XG4gICAgICBjb25zdCB0aGlzRWRnZUlkOiBudW1iZXIgPSB0aGlzLl9lZGdlcy5sZW5ndGggLSAxO1xuXG4gICAgICAvLyBndWFyZCBhZ2FpbnN0IHJlcGVhdGluZyBhIHRyYW5zaXRpb24gbmFtZVxuICAgICAgaWYgKHRyLm5hbWUpIHtcbiAgICAgICAgaWYgKHRoaXMuX25hbWVkX3RyYW5zaXRpb25zLmhhcyh0ci5uYW1lKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgbmFtZWQgdHJhbnNpdGlvbiBcIiR7SlNPTi5zdHJpbmdpZnkodHIubmFtZSl9XCIgYWxyZWFkeSBjcmVhdGVkYCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fbmFtZWRfdHJhbnNpdGlvbnMuc2V0KHRyLm5hbWUsIHRoaXNFZGdlSWQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIHNldCB1cCB0aGUgbWFwcGluZywgc28gdGhhdCBlZGdlcyBjYW4gYmUgbG9va2VkIHVwIGJ5IGVuZHBvaW50IHBhaXJzXG4gICAgICBjb25zdCBmcm9tX21hcHBpbmc6IE1hcDxtTlQsIG51bWJlcj4gPSB0aGlzLl9lZGdlX21hcC5nZXQodHIuZnJvbSkgfHwgbmV3IE1hcCgpO1xuICAgICAgaWYgKCEodGhpcy5fZWRnZV9tYXAuaGFzKHRyLmZyb20pKSkge1xuICAgICAgICB0aGlzLl9lZGdlX21hcC5zZXQodHIuZnJvbSwgZnJvbV9tYXBwaW5nKTtcbiAgICAgIH1cblxuLy8gICAgY29uc3QgdG9fbWFwcGluZyA9IGZyb21fbWFwcGluZy5nZXQodHIudG8pO1xuICAgICAgZnJvbV9tYXBwaW5nLnNldCh0ci50bywgdGhpc0VkZ2VJZCk7IC8vIGFscmVhZHkgY2hlY2tlZCB0aGF0IHRoaXMgbWFwcGluZyBkb2Vzbid0IGV4aXN0LCBhYm92ZVxuXG4gICAgICAvLyBzZXQgdXAgdGhlIGFjdGlvbiBtYXBwaW5nLCBzbyB0aGF0IGFjdGlvbnMgY2FuIGJlIGxvb2tlZCB1cCBieSBvcmlnaW5cbiAgICAgIGlmICh0ci5hY3Rpb24pIHtcblxuXG4gICAgICAgIC8vIGZvcndhcmQgbWFwcGluZyBmaXJzdCBieSBhY3Rpb24gbmFtZVxuICAgICAgICBsZXQgYWN0aW9uTWFwOiA/TWFwPG1OVCwgbnVtYmVyPiA9IHRoaXMuX2FjdGlvbnMuZ2V0KHRyLmFjdGlvbik7XG4gICAgICAgIGlmICghKGFjdGlvbk1hcCkpIHtcbiAgICAgICAgICBhY3Rpb25NYXAgPSBuZXcgTWFwKCk7XG4gICAgICAgICAgdGhpcy5fYWN0aW9ucy5zZXQodHIuYWN0aW9uLCBhY3Rpb25NYXApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFjdGlvbk1hcC5oYXModHIuZnJvbSkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGFjdGlvbiAke0pTT04uc3RyaW5naWZ5KHRyLmFjdGlvbil9IGFscmVhZHkgYXR0YWNoZWQgdG8gb3JpZ2luICR7SlNPTi5zdHJpbmdpZnkodHIuZnJvbSl9YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWN0aW9uTWFwLnNldCh0ci5mcm9tLCB0aGlzRWRnZUlkKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gcmV2ZXJzZSBtYXBwaW5nIGZpcnN0IGJ5IHN0YXRlIG9yaWdpbiBuYW1lXG4gICAgICAgIGxldCByQWN0aW9uTWFwOiA/TWFwPG1OVCwgbnVtYmVyPiA9IHRoaXMuX3JldmVyc2VfYWN0aW9ucy5nZXQodHIuZnJvbSk7XG4gICAgICAgIGlmICghKHJBY3Rpb25NYXApKSB7XG4gICAgICAgICAgckFjdGlvbk1hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgICB0aGlzLl9yZXZlcnNlX2FjdGlvbnMuc2V0KHRyLmZyb20sIHJBY3Rpb25NYXApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gbm8gbmVlZCB0byB0ZXN0IGZvciByZXZlcnNlIG1hcHBpbmcgcHJlLXByZXNlbmNlO1xuICAgICAgICAvLyBmb3J3YXJkIG1hcHBpbmcgYWxyZWFkeSBjb3ZlcnMgY29sbGlzaW9uc1xuICAgICAgICByQWN0aW9uTWFwLnNldCh0ci5hY3Rpb24sIHRoaXNFZGdlSWQpO1xuXG5cbiAgICAgICAgLy8gcmV2ZXJzZSBtYXBwaW5nIGZpcnN0IGJ5IHN0YXRlIHRhcmdldCBuYW1lXG4gICAgICAgIGlmICghKHRoaXMuX3JldmVyc2VfYWN0aW9uX3RhcmdldHMuaGFzKHRyLnRvKSkpIHtcbiAgICAgICAgICB0aGlzLl9yZXZlcnNlX2FjdGlvbl90YXJnZXRzLnNldCh0ci50bywgbmV3IE1hcCgpKTtcbiAgICAgICAgfVxuXG4vKiB0b2RvIGNvbWViYWNrXG4gICBmdW5kYW1lbnRhbCBwcm9ibGVtIGlzIHJvQWN0aW9uTWFwIG5lZWRzIHRvIGJlIGEgbXVsdGltYXBcbiAgICAgICAgY29uc3Qgcm9BY3Rpb25NYXAgPSB0aGlzLl9yZXZlcnNlX2FjdGlvbl90YXJnZXRzLmdldCh0ci50byk7ICAvLyB3YXN0ZWZ1bCAtIGFscmVhZHkgZGlkIGhhcyAtIHJlZmFjdG9yXG4gICAgICAgIGlmIChyb0FjdGlvbk1hcCkge1xuICAgICAgICAgIGlmIChyb0FjdGlvbk1hcC5oYXModHIuYWN0aW9uKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGByby1hY3Rpb24gJHt0ci50b30gYWxyZWFkeSBhdHRhY2hlZCB0byBhY3Rpb24gJHt0ci5hY3Rpb259YCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJvQWN0aW9uTWFwLnNldCh0ci5hY3Rpb24sIHRoaXNFZGdlSWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Nob3VsZCBiZSBpbXBvc3NpYmxlIC0gZmxvdyBkb2VzblxcJ3Qga25vdyAuc2V0IHByZWNlZGVzIC5nZXQgeWV0IGFnYWluLiAgc2V2ZXJlIGVycm9yPycpO1xuICAgICAgICB9XG4qL1xuICAgICAgfVxuXG4gICAgfSk7XG5cbiAgfVxuXG4gIF9uZXdfc3RhdGUoc3RhdGVfY29uZmlnOiBKc3NtR2VuZXJpY1N0YXRlPG1OVD4pOiBtTlQgeyAvLyB3aGFyZ2FyYmwgZ2V0IHRoYXQgc3RhdGVfY29uZmlnIGFueSB1bmRlciBjb250cm9sXG5cbiAgICBpZiAodGhpcy5fc3RhdGVzLmhhcyhzdGF0ZV9jb25maWcubmFtZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgc3RhdGUgJHtKU09OLnN0cmluZ2lmeShzdGF0ZV9jb25maWcubmFtZSl9IGFscmVhZHkgZXhpc3RzYCk7XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGVzLnNldChzdGF0ZV9jb25maWcubmFtZSwgc3RhdGVfY29uZmlnKTtcbiAgICByZXR1cm4gc3RhdGVfY29uZmlnLm5hbWU7XG5cbiAgfVxuXG5cblxuICBzdGF0ZSgpOiBtTlQge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgfVxuXG4vKiB3aGFyZ2FyYmwgdG9kbyBtYWpvclxuICAgd2hlbiB3ZSByZWltcGxlbWVudCB0aGlzLCByZWludHJvZHVjZSB0aGlzIGNoYW5nZSB0byB0aGUgaXNfZmluYWwgY2FsbFxuXG4gIGlzX2NoYW5naW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlOyAvLyB0b2RvIHdoYXJnYXJibFxuICB9XG4qL1xuXG5cbiAgc3RhdGVfaXNfZmluYWwod2hpY2hTdGF0ZTogbU5UKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICggKHRoaXMuc3RhdGVfaXNfdGVybWluYWwod2hpY2hTdGF0ZSkpICYmICh0aGlzLnN0YXRlX2lzX2NvbXBsZXRlKHdoaWNoU3RhdGUpKSApO1xuICB9XG5cbiAgaXNfZmluYWwoKTogYm9vbGVhbiB7XG4vLyAgcmV0dXJuICgoIXRoaXMuaXNfY2hhbmdpbmcoKSkgJiYgdGhpcy5zdGF0ZV9pc19maW5hbCh0aGlzLnN0YXRlKCkpKTtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZV9pc19maW5hbCh0aGlzLnN0YXRlKCkpO1xuICB9XG5cbiAgZ3JhcGhfbGF5b3V0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2dyYXBoX2xheW91dDtcbiAgfVxuXG5cblxuICBtYWNoaW5lX2F1dGhvcigpOiA/QXJyYXk8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX21hY2hpbmVfYXV0aG9yO1xuICB9XG5cbiAgbWFjaGluZV9jb21tZW50KCk6ID9zdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9tYWNoaW5lX2NvbW1lbnQ7XG4gIH1cblxuICBtYWNoaW5lX2NvbnRyaWJ1dG9yKCk6ID9BcnJheTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fbWFjaGluZV9jb250cmlidXRvcjtcbiAgfVxuXG4gIG1hY2hpbmVfZGVmaW5pdGlvbigpOiA/c3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbWFjaGluZV9kZWZpbml0aW9uO1xuICB9XG5cbiAgbWFjaGluZV9sYW5ndWFnZSgpOiA/c3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbWFjaGluZV9sYW5ndWFnZTtcbiAgfVxuXG4gIG1hY2hpbmVfbGljZW5zZSgpOiA/c3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbWFjaGluZV9saWNlbnNlO1xuICB9XG5cbiAgbWFjaGluZV9uYW1lKCk6ID9zdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9tYWNoaW5lX25hbWU7XG4gIH1cblxuICBtYWNoaW5lX3ZlcnNpb24oKTogP3N0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX21hY2hpbmVfdmVyc2lvbjtcbiAgfVxuXG4gIHJhd19zdGF0ZV9kZWNsYXJhdGlvbnMoKTogP0FycmF5PE9iamVjdD4geyAgICAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGZsb3d0eXBlL25vLXdlYWstdHlwZXNcbiAgICByZXR1cm4gdGhpcy5fcmF3X3N0YXRlX2RlY2xhcmF0aW9uO1xuICB9XG5cbiAgc3RhdGVfZGVjbGFyYXRpb24od2hpY2g6IG1OVCk6ID9Kc3NtU3RhdGVEZWNsYXJhdGlvbjxtTlQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGVfZGVjbGFyYXRpb25zLmdldCh3aGljaCk7XG4gIH1cblxuICBzdGF0ZV9kZWNsYXJhdGlvbnMoKTogTWFwPG1OVCwgT2JqZWN0PiB7ICAgIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgZmxvd3R5cGUvbm8td2Vhay10eXBlc1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZV9kZWNsYXJhdGlvbnM7XG4gIH1cblxuICBmc2xfdmVyc2lvbigpOiA/c3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZnNsX3ZlcnNpb247XG4gIH1cblxuXG5cbiAgbWFjaGluZV9zdGF0ZSgpOiBKc3NtTWFjaGluZUludGVybmFsU3RhdGU8bU5ULCBtRFQ+IHtcblxuICAgIHJldHVybiB7XG4gICAgICBpbnRlcm5hbF9zdGF0ZV9pbXBsX3ZlcnNpb24gOiAxLFxuXG4gICAgICBhY3Rpb25zICAgICAgICAgICAgICAgIDogdGhpcy5fYWN0aW9ucyxcbiAgICAgIGVkZ2VfbWFwICAgICAgICAgICAgICAgOiB0aGlzLl9lZGdlX21hcCxcbiAgICAgIGVkZ2VzICAgICAgICAgICAgICAgICAgOiB0aGlzLl9lZGdlcyxcbiAgICAgIG5hbWVkX3RyYW5zaXRpb25zICAgICAgOiB0aGlzLl9uYW1lZF90cmFuc2l0aW9ucyxcbiAgICAgIHJldmVyc2VfYWN0aW9ucyAgICAgICAgOiB0aGlzLl9yZXZlcnNlX2FjdGlvbnMsXG4vLyAgICByZXZlcnNlX2FjdGlvbl90YXJnZXRzIDogdGhpcy5fcmV2ZXJzZV9hY3Rpb25fdGFyZ2V0cyxcbiAgICAgIHN0YXRlICAgICAgICAgICAgICAgICAgOiB0aGlzLl9zdGF0ZSxcbiAgICAgIHN0YXRlcyAgICAgICAgICAgICAgICAgOiB0aGlzLl9zdGF0ZXNcbiAgICB9O1xuXG4gIH1cblxuLypcbiAgbG9hZF9tYWNoaW5lX3N0YXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTsgLy8gdG9kbyB3aGFyZ2FyYmxcbiAgfVxuKi9cblxuXG4gIHN0YXRlcygpOiBBcnJheTxtTlQ+IHtcbiAgICByZXR1cm4gWy4uLiB0aGlzLl9zdGF0ZXMua2V5cygpXTtcbiAgfVxuXG4gIHN0YXRlX2Zvcih3aGljaFN0YXRlOiBtTlQpOiBKc3NtR2VuZXJpY1N0YXRlPG1OVD4ge1xuICAgIGNvbnN0IHN0YXRlOiA/SnNzbUdlbmVyaWNTdGF0ZTxtTlQ+ID0gdGhpcy5fc3RhdGVzLmdldCh3aGljaFN0YXRlKTtcbiAgICBpZiAoc3RhdGUpIHsgcmV0dXJuIHN0YXRlOyB9XG4gICAgZWxzZSAgICAgICB7IHRocm93IG5ldyBFcnJvcihgbm8gc3VjaCBzdGF0ZSAke0pTT04uc3RyaW5naWZ5KHN0YXRlKX1gKTsgfVxuICB9XG5cblxuXG4gIGxpc3RfZWRnZXMoKTogQXJyYXk8IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA+IHtcbiAgICByZXR1cm4gdGhpcy5fZWRnZXM7XG4gIH1cblxuICBsaXN0X25hbWVkX3RyYW5zaXRpb25zKCk6IE1hcDxtTlQsIG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLl9uYW1lZF90cmFuc2l0aW9ucztcbiAgfVxuXG4gIGxpc3RfYWN0aW9ucygpOiBBcnJheTxtTlQ+IHtcbiAgICByZXR1cm4gWy4uLiB0aGlzLl9hY3Rpb25zLmtleXMoKV07XG4gIH1cblxuXG5cbiAgZ2V0X3RyYW5zaXRpb25fYnlfc3RhdGVfbmFtZXMoZnJvbTogbU5ULCB0bzogbU5UKTogP251bWJlciB7XG5cbiAgICBjb25zdCBlbWcgOiA/TWFwPG1OVCwgbnVtYmVyPiA9IHRoaXMuX2VkZ2VfbWFwLmdldChmcm9tKTtcblxuICAgIGlmIChlbWcpIHtcbiAgICAgIHJldHVybiBlbWcuZ2V0KHRvKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgfVxuXG5cblxuICBsb29rdXBfdHJhbnNpdGlvbl9mb3IoZnJvbTogbU5ULCB0bzogbU5UKTogP0pzc21UcmFuc2l0aW9uPG1OVCwgbURUPiB7XG4gICAgY29uc3QgaWQgOiA/bnVtYmVyID0gdGhpcy5nZXRfdHJhbnNpdGlvbl9ieV9zdGF0ZV9uYW1lcyhmcm9tLCB0byk7XG4gICAgcmV0dXJuICgoaWQgPT09IHVuZGVmaW5lZCkgfHwgKGlkID09PSBudWxsKSk/IHVuZGVmaW5lZCA6IHRoaXMuX2VkZ2VzW2lkXTtcbiAgfVxuXG5cblxuICBsaXN0X3RyYW5zaXRpb25zKHdoaWNoU3RhdGU6IG1OVCA9IHRoaXMuc3RhdGUoKSk6IEpzc21UcmFuc2l0aW9uTGlzdDxtTlQ+IHtcbiAgICByZXR1cm4ge2VudHJhbmNlczogdGhpcy5saXN0X2VudHJhbmNlcyh3aGljaFN0YXRlKSwgZXhpdHM6IHRoaXMubGlzdF9leGl0cyh3aGljaFN0YXRlKX07XG4gIH1cblxuICBsaXN0X2VudHJhbmNlcyh3aGljaFN0YXRlOiBtTlQgPSB0aGlzLnN0YXRlKCkpOiBBcnJheTxtTlQ+IHtcbiAgICByZXR1cm4gKHRoaXMuX3N0YXRlcy5nZXQod2hpY2hTdGF0ZSkgfHwge30pLmZyb20gfHwgW107XG4gIH1cblxuICBsaXN0X2V4aXRzKHdoaWNoU3RhdGU6IG1OVCA9IHRoaXMuc3RhdGUoKSk6IEFycmF5PG1OVD4ge1xuICAgIHJldHVybiAodGhpcy5fc3RhdGVzLmdldCh3aGljaFN0YXRlKSB8fCB7fSkudG8gICB8fCBbXTtcbiAgfVxuXG5cblxuICBwcm9iYWJsZV9leGl0c19mb3Iod2hpY2hTdGF0ZTogbU5UKTogQXJyYXk8IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA+IHtcblxuICAgIGNvbnN0IHdzdGF0ZTogP0pzc21HZW5lcmljU3RhdGU8bU5UPiA9IHRoaXMuX3N0YXRlcy5nZXQod2hpY2hTdGF0ZSk7XG4gICAgaWYgKCEod3N0YXRlKSkgeyB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggc3RhdGUgJHtKU09OLnN0cmluZ2lmeSh3aGljaFN0YXRlKX0gaW4gcHJvYmFibGVfZXhpdHNfZm9yYCk7IH1cblxuICAgIGNvbnN0IHdzdGF0ZV90byA6IEFycmF5PCBtTlQgPiA9IHdzdGF0ZS50byxcblxuICAgICAgICAgIHd0ZiAgICAgICA6IEFycmF5PCBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPiAvLyB3c3RhdGVfdG9fZmlsdGVyZWQgLT4gd3RmXG4gICAgICAgICAgICAgICAgICAgID0gd3N0YXRlX3RvXG4gICAgICAgICAgICAgICAgICAgICAgICAubWFwKCAod3MpIDogP0pzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA9PiB0aGlzLmxvb2t1cF90cmFuc2l0aW9uX2Zvcih0aGlzLnN0YXRlKCksIHdzKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICByZXR1cm4gd3RmO1xuXG4gIH1cblxuICBwcm9iYWJpbGlzdGljX3RyYW5zaXRpb24oKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgOiBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4gPSB3ZWlnaHRlZF9yYW5kX3NlbGVjdCh0aGlzLnByb2JhYmxlX2V4aXRzX2Zvcih0aGlzLnN0YXRlKCkpKTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2l0aW9uKCBzZWxlY3RlZC50byApO1xuICB9XG5cbiAgcHJvYmFiaWxpc3RpY193YWxrKG46IG51bWJlcik6IEFycmF5PG1OVD4ge1xuICAgIHJldHVybiBzZXEobilcbiAgICAgICAgICAubWFwKCgpIDogbU5UID0+IHtcbiAgICAgICAgICAgICBjb25zdCBzdGF0ZV93YXM6IG1OVCA9IHRoaXMuc3RhdGUoKTtcbiAgICAgICAgICAgICB0aGlzLnByb2JhYmlsaXN0aWNfdHJhbnNpdGlvbigpO1xuICAgICAgICAgICAgIHJldHVybiBzdGF0ZV93YXM7XG4gICAgICAgICAgIH0pXG4gICAgICAgICAgLmNvbmNhdChbdGhpcy5zdGF0ZSgpXSk7XG4gIH1cblxuICBwcm9iYWJpbGlzdGljX2hpc3RvX3dhbGsobjogbnVtYmVyKTogTWFwPG1OVCwgbnVtYmVyPiB7XG4gICAgcmV0dXJuIGhpc3RvZ3JhcGgodGhpcy5wcm9iYWJpbGlzdGljX3dhbGsobikpO1xuICB9XG5cblxuXG4gIGFjdGlvbnMod2hpY2hTdGF0ZTogbU5UID0gdGhpcy5zdGF0ZSgpICk6IEFycmF5PG1OVD4ge1xuICAgIGNvbnN0IHdzdGF0ZSA6ID9NYXA8bU5ULCBudW1iZXI+ID0gdGhpcy5fcmV2ZXJzZV9hY3Rpb25zLmdldCh3aGljaFN0YXRlKTtcbiAgICBpZiAod3N0YXRlKSB7IHJldHVybiBbLi4uIHdzdGF0ZS5rZXlzKCldOyB9XG4gICAgZWxzZSAgICAgICAgeyB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggc3RhdGUgJHtKU09OLnN0cmluZ2lmeSh3aGljaFN0YXRlKX1gKTsgfVxuICB9XG5cbiAgbGlzdF9zdGF0ZXNfaGF2aW5nX2FjdGlvbih3aGljaFN0YXRlOiBtTlQpOiBBcnJheTxtTlQ+IHtcbiAgICBjb25zdCB3c3RhdGUgOiA/TWFwPG1OVCwgbnVtYmVyPiA9IHRoaXMuX2FjdGlvbnMuZ2V0KHdoaWNoU3RhdGUpO1xuICAgIGlmICh3c3RhdGUpIHsgcmV0dXJuIFsuLi4gd3N0YXRlLmtleXMoKV07IH1cbiAgICBlbHNlICAgICAgICB7IHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBzdGF0ZSAke0pTT04uc3RyaW5naWZ5KHdoaWNoU3RhdGUpfWApOyB9XG4gIH1cblxuLy8gY29tZWJhY2tcbi8qXG4gIGxpc3RfZW50cmFuY2VfYWN0aW9ucyh3aGljaFN0YXRlOiBtTlQgPSB0aGlzLnN0YXRlKCkgKSA6IEFycmF5PG1OVD4ge1xuICAgIHJldHVybiBbLi4uICh0aGlzLl9yZXZlcnNlX2FjdGlvbl90YXJnZXRzLmdldCh3aGljaFN0YXRlKSB8fCBuZXcgTWFwKCkpLnZhbHVlcygpXSAvLyB3YXN0ZWZ1bFxuICAgICAgICAgICAubWFwKCAoZWRnZUlkOmFueSkgPT4gKHRoaXMuX2VkZ2VzW2VkZ2VJZF0gOiBhbnkpKSAvLyB3aGFyZ2FyYmwgYnVybiBvdXQgYW55XG4gICAgICAgICAgIC5maWx0ZXIoIChvOmFueSkgPT4gby50byA9PT0gd2hpY2hTdGF0ZSlcbiAgICAgICAgICAgLm1hcCggZmlsdGVyZWQgPT4gZmlsdGVyZWQuZnJvbSApO1xuICB9XG4qL1xuICBsaXN0X2V4aXRfYWN0aW9ucyh3aGljaFN0YXRlOiBtTlQgPSB0aGlzLnN0YXRlKCkgKTogQXJyYXk8P21OVD4geyAvLyB0aGVzZSBhcmUgbU5ULCBub3QgP21OVFxuICAgIGNvbnN0IHJhX2Jhc2U6ID9NYXA8bU5ULCBudW1iZXI+ID0gdGhpcy5fcmV2ZXJzZV9hY3Rpb25zLmdldCh3aGljaFN0YXRlKTtcbiAgICBpZiAoIShyYV9iYXNlKSkgeyB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggc3RhdGUgJHtKU09OLnN0cmluZ2lmeSh3aGljaFN0YXRlKX1gKTsgfVxuXG4gICAgcmV0dXJuIFsuLi4gcmFfYmFzZS52YWx1ZXMoKV1cbiAgICAgICAgICAgLm1hcCAgICAoIChlZGdlSWQ6IG51bWJlcikgICAgICAgICAgICAgIDogSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID0+IHRoaXMuX2VkZ2VzW2VkZ2VJZF0gICApXG4gICAgICAgICAgIC5maWx0ZXIgKCAobzogSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+KSA6IGJvb2xlYW4gICAgICAgICAgICAgICAgICA9PiBvLmZyb20gPT09IHdoaWNoU3RhdGUgKVxuICAgICAgICAgICAubWFwICAgICggKGZpbHRlcmVkOiBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4pIDogP21OVCAgICAgICAgICAgICAgPT4gZmlsdGVyZWQuYWN0aW9uICAgICAgICk7XG4gIH1cblxuICBwcm9iYWJsZV9hY3Rpb25fZXhpdHMod2hpY2hTdGF0ZTogbU5UID0gdGhpcy5zdGF0ZSgpICkgOiBBcnJheTxtaXhlZD4geyAvLyB0aGVzZSBhcmUgbU5UXG4gICAgY29uc3QgcmFfYmFzZTogP01hcDxtTlQsIG51bWJlcj4gPSB0aGlzLl9yZXZlcnNlX2FjdGlvbnMuZ2V0KHdoaWNoU3RhdGUpO1xuICAgIGlmICghKHJhX2Jhc2UpKSB7IHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBzdGF0ZSAke0pTT04uc3RyaW5naWZ5KHdoaWNoU3RhdGUpfWApOyB9XG5cbiAgICByZXR1cm4gWy4uLiByYV9iYXNlLnZhbHVlcygpXVxuICAgICAgICAgICAubWFwICAgICggKGVkZ2VJZDogbnVtYmVyKTogSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+ID0+IHRoaXMuX2VkZ2VzW2VkZ2VJZF0gICApXG4gICAgICAgICAgIC5maWx0ZXIgKCAobzogSnNzbVRyYW5zaXRpb248bU5ULCBtRFQ+KTogYm9vbGVhbiAgICAgPT4gby5mcm9tID09PSB3aGljaFN0YXRlIClcbiAgICAgICAgICAgLm1hcCAgICAoIChmaWx0ZXJlZCk6IG1peGVkICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAoIHsgYWN0aW9uICAgICAgOiBmaWx0ZXJlZC5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2JhYmlsaXR5IDogZmlsdGVyZWQucHJvYmFiaWxpdHkgfSApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgfVxuXG5cblxuICBpc191bmVudGVyYWJsZSh3aGljaFN0YXRlOiBtTlQpOiBib29sZWFuIHtcbiAgICAvLyB3aGFyZ2FyYmwgc2hvdWxkIHRocm93IG9uIHVua25vd24gc3RhdGVcbiAgICByZXR1cm4gdGhpcy5saXN0X2VudHJhbmNlcyh3aGljaFN0YXRlKS5sZW5ndGggPT09IDA7XG4gIH1cblxuICBoYXNfdW5lbnRlcmFibGVzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlcygpLnNvbWUoICh4KTogYm9vbGVhbiA9PiB0aGlzLmlzX3VuZW50ZXJhYmxlKHgpKTtcbiAgfVxuXG5cblxuICBpc190ZXJtaW5hbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZV9pc190ZXJtaW5hbCh0aGlzLnN0YXRlKCkpO1xuICB9XG5cbiAgc3RhdGVfaXNfdGVybWluYWwod2hpY2hTdGF0ZTogbU5UKTogYm9vbGVhbiB7XG4gICAgLy8gd2hhcmdhcmJsIHNob3VsZCB0aHJvdyBvbiB1bmtub3duIHN0YXRlXG4gICAgcmV0dXJuIHRoaXMubGlzdF9leGl0cyh3aGljaFN0YXRlKS5sZW5ndGggPT09IDA7XG4gIH1cblxuICBoYXNfdGVybWluYWxzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlcygpLnNvbWUoICh4KTogYm9vbGVhbiA9PiB0aGlzLnN0YXRlX2lzX3Rlcm1pbmFsKHgpKTtcbiAgfVxuXG5cblxuICBpc19jb21wbGV0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZV9pc19jb21wbGV0ZSh0aGlzLnN0YXRlKCkpO1xuICB9XG5cbiAgc3RhdGVfaXNfY29tcGxldGUod2hpY2hTdGF0ZTogbU5UKSA6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHdzdGF0ZTogP0pzc21HZW5lcmljU3RhdGU8bU5UPiA9IHRoaXMuX3N0YXRlcy5nZXQod2hpY2hTdGF0ZSk7XG4gICAgaWYgKHdzdGF0ZSkgeyByZXR1cm4gd3N0YXRlLmNvbXBsZXRlOyB9XG4gICAgZWxzZSAgICAgICAgeyB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggc3RhdGUgJHtKU09OLnN0cmluZ2lmeSh3aGljaFN0YXRlKX1gKTsgfVxuICB9XG5cbiAgaGFzX2NvbXBsZXRlcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZXMoKS5zb21lKCAoeCk6IGJvb2xlYW4gPT4gdGhpcy5zdGF0ZV9pc19jb21wbGV0ZSh4KSApO1xuICB9XG5cblxuXG4gIGFjdGlvbihuYW1lOiBtTlQsIG5ld0RhdGE/OiBtRFQpOiBib29sZWFuIHtcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgaG9va3NcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgZGF0YSBzdHVmZlxuICAgIC8vIHRvZG8gbWFqb3IgaW5jb21wbGV0ZSB3aGFyZ2FyYmwgY29tZWJhY2tcbiAgICBpZiAodGhpcy52YWxpZF9hY3Rpb24obmFtZSwgbmV3RGF0YSkpIHtcbiAgICAgIGNvbnN0IGVkZ2U6IEpzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA9IHRoaXMuY3VycmVudF9hY3Rpb25fZWRnZV9mb3IobmFtZSk7XG4gICAgICB0aGlzLl9zdGF0ZSA9IGVkZ2UudG87XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHRyYW5zaXRpb24obmV3U3RhdGU6IG1OVCwgbmV3RGF0YT86IG1EVCk6IGJvb2xlYW4ge1xuICAgIC8vIHRvZG8gd2hhcmdhcmJsIGltcGxlbWVudCBob29rc1xuICAgIC8vIHRvZG8gd2hhcmdhcmJsIGltcGxlbWVudCBkYXRhIHN0dWZmXG4gICAgLy8gdG9kbyBtYWpvciBpbmNvbXBsZXRlIHdoYXJnYXJibCBjb21lYmFja1xuICAgIGlmICh0aGlzLnZhbGlkX3RyYW5zaXRpb24obmV3U3RhdGUsIG5ld0RhdGEpKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvLyBjYW4gbGVhdmUgbWFjaGluZSBpbiBpbmNvbnNpc3RlbnQgc3RhdGUuICBnZW5lcmFsbHkgZG8gbm90IHVzZVxuICBmb3JjZV90cmFuc2l0aW9uKG5ld1N0YXRlOiBtTlQsIG5ld0RhdGE/OiBtRFQpOiBib29sZWFuIHtcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgaG9va3NcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgZGF0YSBzdHVmZlxuICAgIC8vIHRvZG8gbWFqb3IgaW5jb21wbGV0ZSB3aGFyZ2FyYmwgY29tZWJhY2tcbiAgICBpZiAodGhpcy52YWxpZF9mb3JjZV90cmFuc2l0aW9uKG5ld1N0YXRlLCBuZXdEYXRhKSkge1xuICAgICAgdGhpcy5fc3RhdGUgPSBuZXdTdGF0ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cblxuXG4gIGN1cnJlbnRfYWN0aW9uX2ZvcihhY3Rpb246IG1OVCk6IG51bWJlciB8IHZvaWQge1xuICAgIGNvbnN0IGFjdGlvbl9iYXNlOiA/TWFwPG1OVCwgbnVtYmVyPiA9IHRoaXMuX2FjdGlvbnMuZ2V0KGFjdGlvbik7XG4gICAgcmV0dXJuIGFjdGlvbl9iYXNlPyBhY3Rpb25fYmFzZS5nZXQodGhpcy5zdGF0ZSgpKTogdW5kZWZpbmVkO1xuICB9XG5cbiAgY3VycmVudF9hY3Rpb25fZWRnZV9mb3IoYWN0aW9uOiBtTlQpOiBKc3NtVHJhbnNpdGlvbjxtTlQsIG1EVD4ge1xuICAgIGNvbnN0IGlkeDogP251bWJlciA9IHRoaXMuY3VycmVudF9hY3Rpb25fZm9yKGFjdGlvbik7XG4gICAgaWYgKChpZHggPT09IHVuZGVmaW5lZCkgfHwgKGlkeCA9PT0gbnVsbCkpIHsgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIGFjdGlvbiAke0pTT04uc3RyaW5naWZ5KGFjdGlvbil9YCk7IH1cbiAgICByZXR1cm4gdGhpcy5fZWRnZXNbaWR4XTtcbiAgfVxuXG4gIHZhbGlkX2FjdGlvbihhY3Rpb246IG1OVCwgX25ld0RhdGE/OiBtRFQpOiBib29sZWFuIHsgIC8vIHRvZG8gY29tZWJhY2sgdW5pZ25vcmUgbmV3RGF0YVxuICAgIC8vIHRvZG8gd2hhcmdhcmJsIGltcGxlbWVudCBob29rc1xuICAgIC8vIHRvZG8gd2hhcmdhcmJsIGltcGxlbWVudCBkYXRhIHN0dWZmXG4gICAgLy8gdG9kbyBtYWpvciBpbmNvbXBsZXRlIHdoYXJnYXJibCBjb21lYmFja1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRfYWN0aW9uX2ZvcihhY3Rpb24pICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICB2YWxpZF90cmFuc2l0aW9uKG5ld1N0YXRlOiBtTlQsIF9uZXdEYXRhPzogbURUKTogYm9vbGVhbiB7ICAvLyB0b2RvIGNvbWViYWNrIHVuaWdub3JlIG5ld0RhdGFcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgaG9va3NcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgZGF0YSBzdHVmZlxuICAgIC8vIHRvZG8gbWFqb3IgaW5jb21wbGV0ZSB3aGFyZ2FyYmwgY29tZWJhY2tcbiAgICBjb25zdCB0cmFuc2l0aW9uX2ZvcjogP0pzc21UcmFuc2l0aW9uPG1OVCwgbURUPiA9IHRoaXMubG9va3VwX3RyYW5zaXRpb25fZm9yKHRoaXMuc3RhdGUoKSwgbmV3U3RhdGUpO1xuXG4gICAgaWYgKCEodHJhbnNpdGlvbl9mb3IpKSAgICAgICAgICB7IHJldHVybiBmYWxzZTsgfVxuICAgIGlmICh0cmFuc2l0aW9uX2Zvci5mb3JjZWRfb25seSkgeyByZXR1cm4gZmFsc2U7IH1cblxuICAgIHJldHVybiB0cnVlO1xuXG4gIH1cblxuICB2YWxpZF9mb3JjZV90cmFuc2l0aW9uKG5ld1N0YXRlOiBtTlQsIF9uZXdEYXRhPzogbURUKTogYm9vbGVhbiB7ICAvLyB0b2RvIGNvbWViYWNrIHVuaWdub3JlIG5ld0RhdGFcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgaG9va3NcbiAgICAvLyB0b2RvIHdoYXJnYXJibCBpbXBsZW1lbnQgZGF0YSBzdHVmZlxuICAgIC8vIHRvZG8gbWFqb3IgaW5jb21wbGV0ZSB3aGFyZ2FyYmwgY29tZWJhY2tcbiAgICByZXR1cm4gKHRoaXMubG9va3VwX3RyYW5zaXRpb25fZm9yKHRoaXMuc3RhdGUoKSwgbmV3U3RhdGUpICE9PSB1bmRlZmluZWQpO1xuICB9XG5cblxufVxuXG5cblxuXG5cbmZ1bmN0aW9uIHNtPG1OVCwgbURUPih0ZW1wbGF0ZV9zdHJpbmdzOiBBcnJheTxzdHJpbmc+IC8qICwgYXJndW1lbnRzICovKTogTWFjaGluZTxtTlQsIG1EVD4ge1xuXG4gICAgLy8gZm9vYGEkezF9YiR7Mn1jYCB3aWxsIGNvbWUgaW4gYXMgKFsnYScsJ2InLCdjJ10sMSwyKVxuICAgIC8vIHRoaXMgaW5jbHVkZXMgd2hlbiBhIGFuZCBjIGFyZSBlbXB0eSBzdHJpbmdzXG4gICAgLy8gdGhlcmVmb3JlIHRlbXBsYXRlX3N0cmluZ3Mgd2lsbCBhbHdheXMgaGF2ZSBvbmUgbW9yZSBlbCB0aGFuIHRlbXBsYXRlX2FyZ3NcbiAgICAvLyB0aGVyZWZvcmUgbWFwIHRoZSBzbWFsbGVyIGNvbnRhaW5lciBhbmQgdG9zcyB0aGUgbGFzdCBvbmUgb24gb24gdGhlIHdheSBvdXRcblxuICAgIHJldHVybiBuZXcgTWFjaGluZShtYWtlKHRlbXBsYXRlX3N0cmluZ3MucmVkdWNlKFxuXG4gICAgICAvLyBpbiBnZW5lcmFsIGF2b2lkaW5nIGBhcmd1bWVudHNgIGlzIHNtYXJ0LiAgaG93ZXZlciB3aXRoIHRoZSB0ZW1wbGF0ZVxuICAgICAgLy8gc3RyaW5nIG5vdGF0aW9uLCBhcyBkZXNpZ25lZCwgaXQncyBub3QgcmVhbGx5IHdvcnRoIHRoZSBoYXNzbGVcblxuICAgICAgLyogZXNsaW50LWRpc2FibGUgZnAvbm8tYXJndW1lbnRzICovXG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSBwcmVmZXItcmVzdC1wYXJhbXMgKi9cbiAgICAgIChhY2MsIHZhbCwgaWR4KTogc3RyaW5nID0+IGAke2FjY30ke2FyZ3VtZW50c1tpZHhdfSR7dmFsfWAgIC8vIGFyZ3VtZW50c1swXSBpcyBuZXZlciBsb2FkZWQsIHNvIGFyZ3MgZG9lc24ndCBuZWVkIHRvIGJlIGdhdGVkXG4gICAgICAvKiBlc2xpbnQtZW5hYmxlICBwcmVmZXItcmVzdC1wYXJhbXMgKi9cbiAgICAgIC8qIGVzbGludC1lbmFibGUgIGZwL25vLWFyZ3VtZW50cyAqL1xuXG4gICAgKSkpO1xuXG59XG5cblxuXG5cblxuZXhwb3J0IHtcblxuICB2ZXJzaW9uLFxuXG4gIHRyYW5zZmVyX3N0YXRlX3Byb3BlcnRpZXMsXG5cbiAgTWFjaGluZSxcblxuICBtYWtlLFxuICAgIHBhcnNlLFxuICAgIGNvbXBpbGUsXG5cbiAgc20sXG5cbiAgYXJyb3dfZGlyZWN0aW9uLFxuICBhcnJvd19sZWZ0X2tpbmQsXG4gIGFycm93X3JpZ2h0X2tpbmQsXG5cbiAgLy8gdG9kbyB3aGFyZ2FyYmwgdGhlc2Ugc2hvdWxkIGJlIGV4cG9ydGVkIHRvIGEgdXRpbGl0eSBsaWJyYXJ5XG4gIHNlcSwgd2VpZ2h0ZWRfcmFuZF9zZWxlY3QsIGhpc3RvZ3JhcGgsIHdlaWdodGVkX3NhbXBsZV9zZWxlY3QsIHdlaWdodGVkX2hpc3RvX2tleVxuXG59O1xuIl19 \ No newline at end of file diff --git a/build/tests/nominated states.js b/build/tests/nominated states.js index 671f248e..1bcc2514 100644 --- a/build/tests/nominated states.js +++ b/build/tests/nominated states.js @@ -94,7 +94,7 @@ var jssm = require('../../../build/jssm.es5.js'), (0, _avaSpec.describe)('properties', async function (it) { it('node_color', function (t) { - return t.deepEqual({ key: "node_color", value: "#ffa500ff" }, sm(_templateObject4).raw_state_declarations()[0]); + return t.deepEqual({ state: 'a', node_color: '#ffa500ff', declarations: [{ key: "node_color", value: "#ffa500ff" }] }, sm(_templateObject4).raw_state_declarations()[0]); }); }); @@ -102,4 +102,4 @@ var jssm = require('../../../build/jssm.es5.js'), // test state_delaration/1 for has // test state_delaration/1 for doesn't have // test that redeclaring a state throws -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qcy90ZXN0cy9ub21pbmF0ZWQgc3RhdGVzLmpzIl0sIm5hbWVzIjpbImpzc20iLCJyZXF1aXJlIiwic20iLCJqcCIsInBhcnNlIiwiX2l0IiwiaXQiLCJ0Iiwibm90VGhyb3dzIiwiZGVlcEVxdWFsIiwia2V5IiwidmFsdWUiLCJyYXdfc3RhdGVfZGVjbGFyYXRpb25zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxPQUFPQyxRQUFRLDRCQUFSLENBQWI7QUFBQSxJQUNNQyxLQUFPRixLQUFLRSxFQURsQjtBQUFBLElBRU1DLEtBQU9ILEtBQUtJLEtBRmxCOztBQVFBLHVCQUFTLGVBQVQsRUFBMEIsZ0JBQU1DLEdBQU4sRUFBYTs7QUFFckMseUJBQVMsT0FBVCxFQUFrQixnQkFBTUMsRUFBTixFQUFZOztBQUU1QkEsT0FBRyxpQkFBSCxFQUF1QjtBQUFBLGFBQUtDLEVBQUVDLFNBQUYsQ0FBWSxZQUFNO0FBQUVMLFdBQUcscUNBQUg7QUFBNEMsT0FBaEUsQ0FBTDtBQUFBLEtBQXZCO0FBQ0FHLE9BQUcsaUJBQUgsRUFBdUI7QUFBQSxhQUFLQyxFQUFFQyxTQUFGLENBQVksWUFBTTtBQUFFTCxXQUFHLHFDQUFIO0FBQTRDLE9BQWhFLENBQUw7QUFBQSxLQUF2QjtBQUNBRyxPQUFHLGtCQUFILEVBQXVCO0FBQUEsYUFBS0MsRUFBRUMsU0FBRixDQUFZLFlBQU07QUFBRUwsV0FBRyxvREFBSDtBQUEyRCxPQUEvRSxDQUFMO0FBQUEsS0FBdkI7O0FBRUFHLE9BQUcsZ0JBQUgsRUFBdUI7QUFBQSxhQUFLQyxFQUFFQyxTQUFGLENBQVksWUFBTTtBQUFFTCxXQUFHLHlEQUFIO0FBQWdFLE9BQXBGLENBQUw7QUFBQSxLQUF2QjtBQUVELEdBUkQ7O0FBVUEseUJBQVMsUUFBVCxFQUFtQixnQkFBTUcsRUFBTixFQUFZOztBQUU3QkEsT0FBRyxpQkFBSCxFQUF1QjtBQUFBLGFBQUtDLEVBQUVDLFNBQUYsQ0FBWSxZQUFNO0FBQUVOO0FBQTBDLE9BQTlELENBQUw7QUFBQSxLQUF2QjtBQUNBSSxPQUFHLGlCQUFILEVBQXVCO0FBQUEsYUFBS0MsRUFBRUMsU0FBRixDQUFZLFlBQU07QUFBRU47QUFBMEMsT0FBOUQsQ0FBTDtBQUFBLEtBQXZCO0FBQ0o7O0FBRUlJLE9BQUcsZ0JBQUgsRUFBdUI7QUFBQSxhQUFLQyxFQUFFQyxTQUFGLENBQVksWUFBTTtBQUFFTjtBQUE4RCxPQUFsRixDQUFMO0FBQUEsS0FBdkI7QUFFRCxHQVJEO0FBVUQsQ0F0QkQ7O0FBNEJBLHVCQUFTLGtCQUFULEVBQTZCLGdCQUFNSSxFQUFOLEVBQVk7O0FBRXZDQSxLQUFHLE9BQUgsRUFBZTtBQUFBLFdBQUtDLEVBQUVDLFNBQUYsQ0FBWSxZQUFNO0FBQUVMLFNBQUcsaUNBQUg7QUFBd0MsS0FBNUQsQ0FBTDtBQUFBLEdBQWY7QUFDQUcsS0FBRyxRQUFILEVBQWU7QUFBQSxXQUFLQyxFQUFFQyxTQUFGLENBQVksWUFBTTtBQUFFTCxTQUFHLG1DQUFIO0FBQTBDLEtBQTlELENBQUw7QUFBQSxHQUFmO0FBQ0FHLEtBQUcsVUFBSCxFQUFlO0FBQUEsV0FBS0MsRUFBRUMsU0FBRixDQUFZLFlBQU07QUFBRUwsU0FBRyxvQ0FBSDtBQUEyQyxLQUEvRCxDQUFMO0FBQUEsR0FBZjtBQUNBRyxLQUFHLE9BQUgsRUFBZTtBQUFBLFdBQUtDLEVBQUVDLFNBQUYsQ0FBWSxZQUFNO0FBQUVMLFNBQUcscUNBQUg7QUFBNEMsS0FBaEUsQ0FBTDtBQUFBLEdBQWY7QUFDQUcsS0FBRyxNQUFILEVBQWU7QUFBQSxXQUFLQyxFQUFFQyxTQUFGLENBQVksWUFBTTtBQUFFTCxTQUFHLG1DQUFIO0FBQTBDLEtBQTlELENBQUw7QUFBQSxHQUFmO0FBRUQsQ0FSRDs7QUFjQSx1QkFBUyxZQUFULEVBQXVCLGdCQUFNRyxFQUFOLEVBQVk7O0FBRWpDQSxLQUFHLFlBQUgsRUFBaUI7QUFBQSxXQUFLQyxFQUFFRSxTQUFGLENBQ3BCLEVBQUNDLEtBQUssWUFBTixFQUFvQkMsT0FBTyxXQUEzQixFQURvQixFQUVwQlQscUJBQW9DVSxzQkFBcEMsR0FBNkQsQ0FBN0QsQ0FGb0IsQ0FBTDtBQUFBLEdBQWpCO0FBS0QsQ0FQRDs7QUFTQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiJub21pbmF0ZWQgc3RhdGVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQge2Rlc2NyaWJlfSBmcm9tICdhdmEtc3BlYyc7XG5cbmNvbnN0IGpzc20gPSByZXF1aXJlKCcuLi8uLi8uLi9idWlsZC9qc3NtLmVzNS5qcycpLFxuICAgICAgc20gICA9IGpzc20uc20sXG4gICAgICBqcCAgID0ganNzbS5wYXJzZTtcblxuXG5cblxuXG5kZXNjcmliZSgnc2ltcGxlIG5hbWluZycsIGFzeW5jIF9pdCA9PiB7XG5cbiAgZGVzY3JpYmUoJ3BhcnNlJywgYXN5bmMgaXQgPT4ge1xuXG4gICAgaXQoJ3RyYW5zIHRoZW4gbm9kZScsICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsganAoJ2EgLT4gYjsgYTogeyBub2RlX2NvbG9yOiBvcmFuZ2U7IH07Jyk7IH0pICk7XG4gICAgaXQoJ25vZGUgdGhlbiB0cmFucycsICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsganAoJ2E6IHsgbm9kZV9jb2xvcjogb3JhbmdlOyB9OyBhIC0+IGI7Jyk7IH0pICk7XG4gICAgaXQoJ2N5Y2xlIG5vZGUgbmFtZWQnLCB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsganAoJ1thIGJdIC0+ICsxOyBhOiB7IG5vZGVfY29sb3I6IHJlZDsgfTsgJmI6IFthIGMgZV07Jyk7IH0pICk7XG5cbiAgICBpdCgndHdvIHByb3BlcnRpZXMnLCAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBqcCgnYSAtPiBiOyBhOiB7IG5vZGVfY29sb3I6IG9yYW5nZTsgbm9kZV9zaGFwZTogY2lyY2xlOyB9OycpOyB9KSApO1xuXG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzbSB0YWcnLCBhc3luYyBpdCA9PiB7XG5cbiAgICBpdCgndHJhbnMgdGhlbiBub2RlJywgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBzbWBhIC0+IGI7IGE6IHsgbm9kZV9jb2xvcjogb3JhbmdlOyB9O2A7IH0pICk7XG4gICAgaXQoJ25vZGUgdGhlbiB0cmFucycsICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgc21gYTogeyBub2RlX2NvbG9yOiBvcmFuZ2U7IH07IGEgLT4gYjtgOyB9KSApO1xuLy8gIGl0KCdjeWNsZSBub2RlIG5hbWVkJywgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IHNtYFthIGJdIC0+ICsxOyBhOiB7IG5vZGVfY29sb3I6IHJlZDsgfTsgJmI6IFthIGMgZV07YDsgfSkgKTtcblxuICAgIGl0KCd0d28gcHJvcGVydGllcycsICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IHNtYGEgLT4gYjsgYTogeyBub2RlX2NvbG9yOiBvcmFuZ2U7IG5vZGVfc2hhcGU6IGNpcmNsZTsgfTtgOyB9KSApO1xuXG4gIH0pO1xuXG59KTtcblxuXG5cblxuXG5kZXNjcmliZSgnc3BhY2luZyB2YXJpYW50cycsIGFzeW5jIGl0ID0+IHtcblxuICBpdCgndGlnaHQnLCAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsganAoJ2EgLT4gYjsgYTp7bm9kZV9jb2xvcjpvcmFuZ2U7fTsnKTsgfSkgKTtcbiAgaXQoJ2ZyYW1lZCcsICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGpwKCdhIC0+IGI7IGE6eyBub2RlX2NvbG9yOm9yYW5nZTsgfTsnKTsgfSkgKTtcbiAgaXQoJ3NlbnRlbmNlJywgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGpwKCdhIC0+IGI7IGE6eyBub2RlX2NvbG9yOiBvcmFuZ2U7IH07Jyk7IH0pICk7XG4gIGl0KCdmdWxseScsICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBqcCgnYSAtPiBiOyBhOnsgbm9kZV9jb2xvciA6IG9yYW5nZTsgfTsnKTsgfSkgKTtcbiAgaXQoJ21hcnMnLCAgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGpwKCdhIC0+IGI7IGE6e25vZGVfY29sb3IgOiBvcmFuZ2U7fTsnKTsgfSkgKTtcblxufSk7XG5cblxuXG5cblxuZGVzY3JpYmUoJ3Byb3BlcnRpZXMnLCBhc3luYyBpdCA9PiB7XG5cbiAgaXQoJ25vZGVfY29sb3InLCB0ID0+IHQuZGVlcEVxdWFsKFxuICAgIHtrZXk6IFwibm9kZV9jb2xvclwiLCB2YWx1ZTogXCIjZmZhNTAwZmZcIn0sXG4gICAgc21gYSAtPiBiOyBhOntub2RlX2NvbG9yOm9yYW5nZTt9O2AucmF3X3N0YXRlX2RlY2xhcmF0aW9ucygpWzBdXG4gICkpO1xuXG59KTtcblxuLy8gdGVzdCBzdGF0ZV9kZWxhcmF0aW9ucy8wXG4vLyB0ZXN0IHN0YXRlX2RlbGFyYXRpb24vMSBmb3IgaGFzXG4vLyB0ZXN0IHN0YXRlX2RlbGFyYXRpb24vMSBmb3IgZG9lc24ndCBoYXZlXG4vLyB0ZXN0IHRoYXQgcmVkZWNsYXJpbmcgYSBzdGF0ZSB0aHJvd3NcblxuXG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qcy90ZXN0cy9ub21pbmF0ZWQgc3RhdGVzLmpzIl0sIm5hbWVzIjpbImpzc20iLCJyZXF1aXJlIiwic20iLCJqcCIsInBhcnNlIiwiX2l0IiwiaXQiLCJ0Iiwibm90VGhyb3dzIiwiZGVlcEVxdWFsIiwic3RhdGUiLCJub2RlX2NvbG9yIiwiZGVjbGFyYXRpb25zIiwia2V5IiwidmFsdWUiLCJyYXdfc3RhdGVfZGVjbGFyYXRpb25zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxPQUFPQyxRQUFRLDRCQUFSLENBQWI7QUFBQSxJQUNNQyxLQUFPRixLQUFLRSxFQURsQjtBQUFBLElBRU1DLEtBQU9ILEtBQUtJLEtBRmxCOztBQVFBLHVCQUFTLGVBQVQsRUFBMEIsZ0JBQU1DLEdBQU4sRUFBYTs7QUFFckMseUJBQVMsT0FBVCxFQUFrQixnQkFBTUMsRUFBTixFQUFZOztBQUU1QkEsT0FBRyxpQkFBSCxFQUF1QjtBQUFBLGFBQUtDLEVBQUVDLFNBQUYsQ0FBWSxZQUFNO0FBQUVMLFdBQUcscUNBQUg7QUFBNEMsT0FBaEUsQ0FBTDtBQUFBLEtBQXZCO0FBQ0FHLE9BQUcsaUJBQUgsRUFBdUI7QUFBQSxhQUFLQyxFQUFFQyxTQUFGLENBQVksWUFBTTtBQUFFTCxXQUFHLHFDQUFIO0FBQTRDLE9BQWhFLENBQUw7QUFBQSxLQUF2QjtBQUNBRyxPQUFHLGtCQUFILEVBQXVCO0FBQUEsYUFBS0MsRUFBRUMsU0FBRixDQUFZLFlBQU07QUFBRUwsV0FBRyxvREFBSDtBQUEyRCxPQUEvRSxDQUFMO0FBQUEsS0FBdkI7O0FBRUFHLE9BQUcsZ0JBQUgsRUFBdUI7QUFBQSxhQUFLQyxFQUFFQyxTQUFGLENBQVksWUFBTTtBQUFFTCxXQUFHLHlEQUFIO0FBQWdFLE9BQXBGLENBQUw7QUFBQSxLQUF2QjtBQUVELEdBUkQ7O0FBVUEseUJBQVMsUUFBVCxFQUFtQixnQkFBTUcsRUFBTixFQUFZOztBQUU3QkEsT0FBRyxpQkFBSCxFQUF1QjtBQUFBLGFBQUtDLEVBQUVDLFNBQUYsQ0FBWSxZQUFNO0FBQUVOO0FBQTBDLE9BQTlELENBQUw7QUFBQSxLQUF2QjtBQUNBSSxPQUFHLGlCQUFILEVBQXVCO0FBQUEsYUFBS0MsRUFBRUMsU0FBRixDQUFZLFlBQU07QUFBRU47QUFBMEMsT0FBOUQsQ0FBTDtBQUFBLEtBQXZCO0FBQ0o7O0FBRUlJLE9BQUcsZ0JBQUgsRUFBdUI7QUFBQSxhQUFLQyxFQUFFQyxTQUFGLENBQVksWUFBTTtBQUFFTjtBQUE4RCxPQUFsRixDQUFMO0FBQUEsS0FBdkI7QUFFRCxHQVJEO0FBVUQsQ0F0QkQ7O0FBNEJBLHVCQUFTLGtCQUFULEVBQTZCLGdCQUFNSSxFQUFOLEVBQVk7O0FBRXZDQSxLQUFHLE9BQUgsRUFBZTtBQUFBLFdBQUtDLEVBQUVDLFNBQUYsQ0FBWSxZQUFNO0FBQUVMLFNBQUcsaUNBQUg7QUFBd0MsS0FBNUQsQ0FBTDtBQUFBLEdBQWY7QUFDQUcsS0FBRyxRQUFILEVBQWU7QUFBQSxXQUFLQyxFQUFFQyxTQUFGLENBQVksWUFBTTtBQUFFTCxTQUFHLG1DQUFIO0FBQTBDLEtBQTlELENBQUw7QUFBQSxHQUFmO0FBQ0FHLEtBQUcsVUFBSCxFQUFlO0FBQUEsV0FBS0MsRUFBRUMsU0FBRixDQUFZLFlBQU07QUFBRUwsU0FBRyxvQ0FBSDtBQUEyQyxLQUEvRCxDQUFMO0FBQUEsR0FBZjtBQUNBRyxLQUFHLE9BQUgsRUFBZTtBQUFBLFdBQUtDLEVBQUVDLFNBQUYsQ0FBWSxZQUFNO0FBQUVMLFNBQUcscUNBQUg7QUFBNEMsS0FBaEUsQ0FBTDtBQUFBLEdBQWY7QUFDQUcsS0FBRyxNQUFILEVBQWU7QUFBQSxXQUFLQyxFQUFFQyxTQUFGLENBQVksWUFBTTtBQUFFTCxTQUFHLG1DQUFIO0FBQTBDLEtBQTlELENBQUw7QUFBQSxHQUFmO0FBRUQsQ0FSRDs7QUFjQSx1QkFBUyxZQUFULEVBQXVCLGdCQUFNRyxFQUFOLEVBQVk7O0FBRWpDQSxLQUFHLFlBQUgsRUFBaUI7QUFBQSxXQUFLQyxFQUFFRSxTQUFGLENBQ3BCLEVBQUNDLE9BQU0sR0FBUCxFQUFZQyxZQUFXLFdBQXZCLEVBQW9DQyxjQUFhLENBQUMsRUFBQ0MsS0FBSyxZQUFOLEVBQW9CQyxPQUFPLFdBQTNCLEVBQUQsQ0FBakQsRUFEb0IsRUFFcEJaLHFCQUFvQ2Esc0JBQXBDLEdBQTZELENBQTdELENBRm9CLENBQUw7QUFBQSxHQUFqQjtBQUtELENBUEQ7O0FBU0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoibm9taW5hdGVkIHN0YXRlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtkZXNjcmliZX0gZnJvbSAnYXZhLXNwZWMnO1xuXG5jb25zdCBqc3NtID0gcmVxdWlyZSgnLi4vLi4vLi4vYnVpbGQvanNzbS5lczUuanMnKSxcbiAgICAgIHNtICAgPSBqc3NtLnNtLFxuICAgICAganAgICA9IGpzc20ucGFyc2U7XG5cblxuXG5cblxuZGVzY3JpYmUoJ3NpbXBsZSBuYW1pbmcnLCBhc3luYyBfaXQgPT4ge1xuXG4gIGRlc2NyaWJlKCdwYXJzZScsIGFzeW5jIGl0ID0+IHtcblxuICAgIGl0KCd0cmFucyB0aGVuIG5vZGUnLCAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGpwKCdhIC0+IGI7IGE6IHsgbm9kZV9jb2xvcjogb3JhbmdlOyB9OycpOyB9KSApO1xuICAgIGl0KCdub2RlIHRoZW4gdHJhbnMnLCAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGpwKCdhOiB7IG5vZGVfY29sb3I6IG9yYW5nZTsgfTsgYSAtPiBiOycpOyB9KSApO1xuICAgIGl0KCdjeWNsZSBub2RlIG5hbWVkJywgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGpwKCdbYSBiXSAtPiArMTsgYTogeyBub2RlX2NvbG9yOiByZWQ7IH07ICZiOiBbYSBjIGVdOycpOyB9KSApO1xuXG4gICAgaXQoJ3R3byBwcm9wZXJ0aWVzJywgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsganAoJ2EgLT4gYjsgYTogeyBub2RlX2NvbG9yOiBvcmFuZ2U7IG5vZGVfc2hhcGU6IGNpcmNsZTsgfTsnKTsgfSkgKTtcblxuICB9KTtcblxuICBkZXNjcmliZSgnc20gdGFnJywgYXN5bmMgaXQgPT4ge1xuXG4gICAgaXQoJ3RyYW5zIHRoZW4gbm9kZScsICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsgc21gYSAtPiBiOyBhOiB7IG5vZGVfY29sb3I6IG9yYW5nZTsgfTtgOyB9KSApO1xuICAgIGl0KCdub2RlIHRoZW4gdHJhbnMnLCAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IHNtYGE6IHsgbm9kZV9jb2xvcjogb3JhbmdlOyB9OyBhIC0+IGI7YDsgfSkgKTtcbi8vICBpdCgnY3ljbGUgbm9kZSBuYW1lZCcsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBzbWBbYSBiXSAtPiArMTsgYTogeyBub2RlX2NvbG9yOiByZWQ7IH07ICZiOiBbYSBjIGVdO2A7IH0pICk7XG5cbiAgICBpdCgndHdvIHByb3BlcnRpZXMnLCAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBzbWBhIC0+IGI7IGE6IHsgbm9kZV9jb2xvcjogb3JhbmdlOyBub2RlX3NoYXBlOiBjaXJjbGU7IH07YDsgfSkgKTtcblxuICB9KTtcblxufSk7XG5cblxuXG5cblxuZGVzY3JpYmUoJ3NwYWNpbmcgdmFyaWFudHMnLCBhc3luYyBpdCA9PiB7XG5cbiAgaXQoJ3RpZ2h0JywgICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGpwKCdhIC0+IGI7IGE6e25vZGVfY29sb3I6b3JhbmdlO307Jyk7IH0pICk7XG4gIGl0KCdmcmFtZWQnLCAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBqcCgnYSAtPiBiOyBhOnsgbm9kZV9jb2xvcjpvcmFuZ2U7IH07Jyk7IH0pICk7XG4gIGl0KCdzZW50ZW5jZScsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBqcCgnYSAtPiBiOyBhOnsgbm9kZV9jb2xvcjogb3JhbmdlOyB9OycpOyB9KSApO1xuICBpdCgnZnVsbHknLCAgICB0ID0+IHQubm90VGhyb3dzKCgpID0+IHsganAoJ2EgLT4gYjsgYTp7IG5vZGVfY29sb3IgOiBvcmFuZ2U7IH07Jyk7IH0pICk7XG4gIGl0KCdtYXJzJywgICAgIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBqcCgnYSAtPiBiOyBhOntub2RlX2NvbG9yIDogb3JhbmdlO307Jyk7IH0pICk7XG5cbn0pO1xuXG5cblxuXG5cbmRlc2NyaWJlKCdwcm9wZXJ0aWVzJywgYXN5bmMgaXQgPT4ge1xuXG4gIGl0KCdub2RlX2NvbG9yJywgdCA9PiB0LmRlZXBFcXVhbChcbiAgICB7c3RhdGU6J2EnLCBub2RlX2NvbG9yOicjZmZhNTAwZmYnLCBkZWNsYXJhdGlvbnM6W3trZXk6IFwibm9kZV9jb2xvclwiLCB2YWx1ZTogXCIjZmZhNTAwZmZcIn1dfSxcbiAgICBzbWBhIC0+IGI7IGE6e25vZGVfY29sb3I6b3JhbmdlO307YC5yYXdfc3RhdGVfZGVjbGFyYXRpb25zKClbMF1cbiAgKSk7XG5cbn0pO1xuXG4vLyB0ZXN0IHN0YXRlX2RlbGFyYXRpb25zLzBcbi8vIHRlc3Qgc3RhdGVfZGVsYXJhdGlvbi8xIGZvciBoYXNcbi8vIHRlc3Qgc3RhdGVfZGVsYXJhdGlvbi8xIGZvciBkb2Vzbid0IGhhdmVcbi8vIHRlc3QgdGhhdCByZWRlY2xhcmluZyBhIHN0YXRlIHRocm93c1xuXG5cbiJdfQ== \ No newline at end of file diff --git a/build/tests/state_declaration.js b/build/tests/state_declaration.js index 144028b2..b5a30870 100644 --- a/build/tests/state_declaration.js +++ b/build/tests/state_declaration.js @@ -6,8 +6,7 @@ var _templateObject = _taggedTemplateLiteral(['c: {}; a -> b;'], ['c: {}; a -> b _templateObject4 = _taggedTemplateLiteral(['c: { }; a -> b;'], ['c: { }; a -> b;']), _templateObject5 = _taggedTemplateLiteral(['c: { node_color: red; }; a -> b;'], ['c: { node_color: red; }; a -> b;']), _templateObject6 = _taggedTemplateLiteral(['c: { node_color: red; node_shape: circle; }; a -> b;'], ['c: { node_color: red; node_shape: circle; }; a -> b;']), - _templateObject7 = _taggedTemplateLiteral(['c: { node_color: red; }; d: { node_shape: circle; }; a -> b;'], ['c: { node_color: red; }; d: { node_shape: circle; }; a -> b;']), - _templateObject8 = _taggedTemplateLiteral(['\n c: { node_shape: circle; node_color: red; };\n d: { node_shape: circle; node_color: red; };\n a -> b;\n '], ['\n c: { node_shape: circle; node_color: red; };\n d: { node_shape: circle; node_color: red; };\n a -> b;\n ']); + _templateObject7 = _taggedTemplateLiteral(['c: { node_color: red; }; c: { node_color: red; }; a -> b;'], ['c: { node_color: red; }; c: { node_color: red; }; a -> b;']); var _avaSpec = require('ava-spec'); @@ -41,9 +40,13 @@ var jssm = require('../../../build/jssm.es5.js'), var mach0 = sm(_templateObject4); var mach1 = sm(_templateObject5); var mach2 = sm(_templateObject6); - var machT = sm(_templateObject7); + // const machT = sm`c: { node_color: red; }; d: { node_shape: circle; }; a -> b;`; - var machP = sm(_templateObject8); + // const machP = sm` + // c: { node_shape: circle; node_color: red; }; + // d: { node_shape: circle; node_color: red; }; + // a -> b; + // `; (0, _avaSpec.describe)('of w/ nothing', async function (_it2) { var decls = mach0.state_declarations(); @@ -51,60 +54,91 @@ var jssm = require('../../../build/jssm.es5.js'), it('yielding map', function (t) { return t.is(true, decls instanceof Map); }); - it('having size 0', function (t) { - return t.is(0, decls.size); + it('list having size 1', function (t) { + return t.is(1, decls.size); + }); + it('props having length 0', function (t) { + return t.is(0, decls.get('c').declarations.length); }); }); }); - (0, _avaSpec.describe)('of just w/ node_color', async function (it) { - var decls = mach0.state_declarations(); + (0, _avaSpec.describe)('of just w/ node_color', async function (_it1) { + var decls = mach1.state_declarations(); (0, _avaSpec.describe)('through .state_declarations/0', async function (it2) { it2('yielding map', function (t) { return t.is(true, decls instanceof Map); }); - it2('having size 1', function (t) { + it2('list having size 1', function (t) { return t.is(1, decls.size); }); + it2('props having length 1', function (t) { + return t.is(1, decls.get('c').declarations.length); + }); // todo whargarbl check the actual members comeback }); - it('through .state_declaration/1', function (t) { - return t.is('left', mach1.state_declaration('c')); - }); + // it('through .state_declaration/1', t => t.is('left', mach1.state_declaration('c') ) ); }); (0, _avaSpec.describe)('of w/ node_color, node_shape', async function (it) { it('through .state_declaration/1', function (t) { - return t.is('left', mach2.state_declaration('c')); - }); - it('through .state_declarations/0', function (t) { - return t.is('left', mach2.state_declarations()); + return t.is('#ff0000ff', mach2.state_declaration('c').declarations[0].value); }); - }); - - (0, _avaSpec.describe)('of w/ node_color on c, node_shape on d', async function (it) { it('through .state_declaration/1', function (t) { - return t.is('left', machT.state_declaration('c')); + return t.is('circle', mach2.state_declaration('c').declarations[1].value); }); - it('through .state_declaration/1', function (t) { - return t.is('left', machT.state_declaration('d')); + it('through .state_declarations/0', function (t) { + return t.is(1, mach2.state_declarations().size); }); it('through .state_declarations/0', function (t) { - return t.is('left', machT.state_declarations()); + return t.is(2, mach2.state_declarations().get('c').declarations.length); }); }); + /* + describe('of w/ node_color on c, node_shape on d', async it => { + it('through .state_declaration/1', t => t.is('left', machT.state_declaration('c') ) ); + it('through .state_declaration/1', t => t.is('left', machT.state_declaration('d') ) ); + it('through .state_declarations/0', t => t.is('left', machT.state_declarations() ) ); + }); + + describe('of w/ node_color, node_shape on each c and d', async it => { + it('through .state_declaration/1', t => t.is('left', machP.state_declaration('c') ) ); + it('through .state_declaration/1', t => t.is('left', machP.state_declaration('d') ) ); + it('through .state_declarations/0', t => t.is('left', machP.state_declarations() ) ); + }); + */ +}); - (0, _avaSpec.describe)('of w/ node_color, node_shape on each c and d', async function (it) { - it('through .state_declaration/1', function (t) { - return t.is('left', machP.state_declaration('c')); +(0, _avaSpec.describe)('error catchery', async function (_parse_it) { + + (0, _avaSpec.describe)('repeated declaration', async function (it) { + it('throws', function (t) { + return t.throws(function () { + var _mach1 = sm(_templateObject7); // eslint-disable-line no-unused-vars + }); }); - it('through .state_declaration/1', function (t) { - return t.is('left', machP.state_declaration('d')); + }); + + (0, _avaSpec.describe)('unknown state property', async function (it) { + var prestate = { + "start_states": ["b"], + "transitions": [{ "from": "b", "to": "c", "kind": "legal", "forced_only": false, "main_path": false }], + "state_declaration": [{ "state": "a", "declarations": [{ "key": "urgle bergle", "value": "circle" }] }] }; + + it('throws', function (t) { + return t.throws(function () { + var _m0 = jssm.Machine(prestate); + }); }); - it('through .state_declarations/0', function (t) { - return t.is('left', machP.state_declarations()); + }); + + (0, _avaSpec.describe)('transfer state properties throws on unknown key', async function (it) { + it('throws', function (t) { + return t.throws(function () { + jssm.transfer_state_properties({ declarations: [{ key: 'agsrhdtjfy', value: 'seven' }] }); + }); }); }); }); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qcy90ZXN0cy9zdGF0ZV9kZWNsYXJhdGlvbi5qcyJdLCJuYW1lcyI6WyJqc3NtIiwicmVxdWlyZSIsInNtIiwiaXQiLCJ0Iiwibm90VGhyb3dzIiwiX2ZvbyIsIl9pdCIsIm1hY2gwIiwibWFjaDEiLCJtYWNoMiIsIm1hY2hUIiwibWFjaFAiLCJfaXQyIiwiZGVjbHMiLCJzdGF0ZV9kZWNsYXJhdGlvbnMiLCJpcyIsIk1hcCIsInNpemUiLCJpdDIiLCJzdGF0ZV9kZWNsYXJhdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQTs7O0FBRkE7O0FBSUEsSUFBTUEsT0FBT0MsUUFBUSw0QkFBUixDQUFiO0FBQUEsSUFDTUMsS0FBT0YsS0FBS0UsRUFEbEI7O0FBT0EsdUJBQVMsZUFBVCxFQUEwQixnQkFBTUMsRUFBTixFQUFZOztBQUVwQ0EsS0FBRyxvQkFBSCxFQUEyQjtBQUFBLFdBQUtDLEVBQUVDLFNBQUYsQ0FBWSxZQUFNO0FBQUUsVUFBTUMsT0FBT0osRUFBUCxpQkFBTjtBQUFrQyxLQUF0RCxDQUFMO0FBQUEsR0FBM0I7QUFDQUMsS0FBRyxzQkFBSCxFQUEyQjtBQUFBLFdBQUtDLEVBQUVDLFNBQUYsQ0FBWSxZQUFNO0FBQUUsVUFBTUMsT0FBT0osRUFBUCxrQkFBTjtBQUFtQyxLQUF2RCxDQUFMO0FBQUEsR0FBM0I7QUFDQUMsS0FBRyxzQkFBSCxFQUEyQjtBQUFBLFdBQUtDLEVBQUVDLFNBQUYsQ0FBWSxZQUFNO0FBQUUsVUFBTUMsT0FBT0osRUFBUCxrQkFBTjtBQUFvRCxLQUF4RSxDQUFMO0FBQUEsR0FBM0I7QUFFRCxDQU5EOztBQVlBLHVCQUFTLHNCQUFULEVBQWlDLGdCQUFNSyxHQUFOLEVBQWE7O0FBRTVDLE1BQU1DLFFBQVFOLEVBQVIsa0JBQU47QUFDQSxNQUFNTyxRQUFRUCxFQUFSLGtCQUFOO0FBQ0EsTUFBTVEsUUFBUVIsRUFBUixrQkFBTjtBQUNBLE1BQU1TLFFBQVFULEVBQVIsa0JBQU47O0FBRUEsTUFB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IGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cblxuaW1wb3J0IHtkZXNjcmliZX0gZnJvbSAnYXZhLXNwZWMnO1xuXG5jb25zdCBqc3NtID0gcmVxdWlyZSgnLi4vLi4vLi4vYnVpbGQvanNzbS5lczUuanMnKSxcbiAgICAgIHNtICAgPSBqc3NtLnNtO1xuXG5cblxuXG5cbmRlc2NyaWJlKFwiZG9lc24ndCB0aHJvd1wiLCBhc3luYyBpdCA9PiB7XG5cbiAgaXQoJ3dpdGggbm8gYXR0cmlidXRlcycsICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF9mb28gPSBzbWBjOiB7fTsgYSAtPiBiO2A7IH0pICk7XG4gIGl0KCd3aXRoIGp1c3Qgd2hpdGVzcGFjZScsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZm9vID0gc21gYzogeyB9OyBhIC0+IGI7YDsgfSkgKTtcbiAgaXQoJ3dpdGgganVzdCBub2RlIGNvbG9yJywgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF9mb28gPSBzbWBjOiB7IG5vZGVfY29sb3I6IHJlZDsgfTsgYSAtPiBiO2A7IH0pICk7XG5cbn0pO1xuXG5cblxuXG5cbmRlc2NyaWJlKCdjYW4gcmVhZCBkZWNsYXJhdGlvbicsIGFzeW5jIF9pdCA9PiB7XG5cbiAgY29uc3QgbWFjaDAgPSBzbWBjOiB7IH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgLT4gYjtgO1xuICBjb25zdCBtYWNoMSA9IHNtYGM6IHsgbm9kZV9jb2xvcjogcmVkOyB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSAtPiBiO2A7XG4gIGNvbnN0IG1hY2gyID0gc21gYzogeyBub2RlX2NvbG9yOiByZWQ7IG5vZGVfc2hhcGU6IGNpcmNsZTsgfTsgICAgICAgICBhIC0+IGI7YDtcbiAgY29uc3QgbWFjaFQgPSBzbWBjOiB7IG5vZGVfY29sb3I6IHJlZDsgfTsgZDogeyBub2RlX3NoYXBlOiBjaXJjbGU7IH07IGEgLT4gYjtgO1xuXG4gIGNvbnN0IG1hY2hQID0gc21gXG4gICAgYzogeyBub2RlX3NoYXBlOiBjaXJjbGU7IG5vZGVfY29sb3I6IHJlZDsgfTtcbiAgICBkOiB7IG5vZGVfc2hhcGU6IGNpcmNsZTsgbm9kZV9jb2xvcjogcmVkOyB9O1xuICAgIGEgLT4gYjtcbiAgYDtcblxuICBkZXNjcmliZSgnb2Ygdy8gbm90aGluZycsIGFzeW5jIF9pdDIgPT4ge1xuICAgIGNvbnN0IGRlY2xzID0gbWFjaDAuc3RhdGVfZGVjbGFyYXRpb25zKCk7XG4gICAgZGVzY3JpYmUoJ3Rocm91Z2ggLnN0YXRlX2RlY2xhcmF0aW9ucy8wJywgYXN5bmMgaXQgPT4ge1xuICAgICAgaXQoJ3lpZWxkaW5nIG1hcCcsICB0ID0+IHQuaXModHJ1ZSwgZGVjbHMgaW5zdGFuY2VvZiBNYXApKTtcbiAgICAgIGl0KCdoYXZpbmcgc2l6ZSAwJywgdCA9PiB0LmlzKDAsICAgIGRlY2xzLnNpemUpKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ29mIGp1c3Qgdy8gbm9kZV9jb2xvcicsIGFzeW5jIGl0ID0+IHtcbiAgICBjb25zdCBkZWNscyA9IG1hY2gwLnN0YXRlX2RlY2xhcmF0aW9ucygpO1xuICAgIGRlc2NyaWJlKCd0aHJvdWdoIC5zdGF0ZV9kZWNsYXJhdGlvbnMvMCcsIGFzeW5jIGl0MiA9PiB7XG4gICAgICBpdDIoJ3lpZWxkaW5nIG1hcCcsICB0ID0+IHQuaXModHJ1ZSwgZGVjbHMgaW5zdGFuY2VvZiBNYXApKTtcbiAgICAgIGl0MignaGF2aW5nIHNpemUgMScsIHQgPT4gdC5pcygxLCAgICBkZWNscy5zaXplKSk7XG4gICAgICAvLyB0b2RvIHdoYXJnYXJibCBjaGVjayB0aGUgYWN0dWFsIG1lbWJlcnMgY29tZWJhY2tcbiAgICB9KTtcblxuICAgIGl0KCd0aHJvdWdoIC5zdGF0ZV9kZWNsYXJhdGlvbi8xJywgIHQgPT4gdC5pcygnbGVmdCcsIG1hY2gxLnN0YXRlX2RlY2xhcmF0aW9uKCdjJykgKSApO1xuICB9KTtcblxuICBkZXNjcmliZSgnb2Ygdy8gbm9kZV9jb2xvciwgbm9kZV9zaGFwZScsIGFzeW5jIGl0ID0+IHtcbiAgICBpdCgndGhyb3VnaCAuc3RhdGVfZGVjbGFyYXRpb24vMScsICB0ID0+IHQuaXMoJ2xlZnQnLCBtYWNoMi5zdGF0ZV9kZWNsYXJhdGlvbignYycpICkgKTtcbiAgICBpdCgndGhyb3VnaCAuc3RhdGVfZGVjbGFyYXRpb25zLzAnLCB0ID0+IHQuaXMoJ2xlZnQnLCBtYWNoMi5zdGF0ZV9kZWNsYXJhdGlvbnMoKSApICk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdvZiB3LyBub2RlX2NvbG9yIG9uIGMsIG5vZGVfc2hhcGUgb24gZCcsIGFzeW5jIGl0ID0+IHtcbiAgICBpdCgndGhyb3VnaCAuc3RhdGVfZGVjbGFyYXRpb24vMScsICB0ID0+IHQuaXMoJ2xlZnQnLCBtYWNoVC5zdGF0ZV9kZWNsYXJhdGlvbignYycpICkgKTtcbiAgICBpdCgndGhyb3VnaCAuc3RhdGVfZGVjbGFyYXRpb24vMScsICB0ID0+IHQuaXMoJ2xlZnQnLCBtYWNoVC5zdGF0ZV9kZWNsYXJhdGlvbignZCcpICkgKTtcbiAgICBpdCgndGhyb3VnaCAuc3RhdGVfZGVjbGFyYXRpb25zLzAnLCB0ID0+IHQuaXMoJ2xlZnQnLCBtYWNoVC5zdGF0ZV9kZWNsYXJhdGlvbnMoKSApICk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdvZiB3LyBub2RlX2NvbG9yLCBub2RlX3NoYXBlIG9uIGVhY2ggYyBhbmQgZCcsIGFzeW5jIGl0ID0+IHtcbiAgICBpdCgndGhyb3VnaCAuc3RhdGVfZGVjbGFyYXRpb24vMScsICB0ID0+IHQuaXMoJ2xlZnQnLCBtYWNoUC5zdGF0ZV9kZWNsYXJhdGlvbignYycpICkgKTtcbiAgICBpdCgndGhyb3VnaCAuc3RhdGVfZGVjbGFyYXRpb24vMScsICB0ID0+IHQuaXMoJ2xlZnQnLCBtYWNoUC5zdGF0ZV9kZWNsYXJhdGlvbignZCcpICkgKTtcbiAgICBpdCgndGhyb3VnaCAuc3RhdGVfZGVjbGFyYXRpb25zLzAnLCB0ID0+IHQuaXMoJ2xlZnQnLCBtYWNoUC5zdGF0ZV9kZWNsYXJhdGlvbnMoKSApICk7XG4gIH0pO1xuXG59KTtcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qcy90ZXN0cy9zdGF0ZV9kZWNsYXJhdGlvbi5qcyJdLCJuYW1lcyI6WyJqc3NtIiwicmVxdWlyZSIsInNtIiwiaXQiLCJ0Iiwibm90VGhyb3dzIiwiX2ZvbyIsIl9pdCIsIm1hY2gwIiwibWFjaDEiLCJtYWNoMiIsIl9pdDIiLCJkZWNscyIsInN0YXRlX2RlY2xhcmF0aW9ucyIsImlzIiwiTWFwIiwic2l6ZSIsImdldCIsImRlY2xhcmF0aW9ucyIsImxlbmd0aCIsIl9pdDEiLCJpdDIiLCJzdGF0ZV9kZWNsYXJhdGlvbiIsInZhbHVlIiwiX3BhcnNlX2l0IiwidGhyb3dzIiwiX21hY2gxIiwicHJlc3RhdGUiLCJfbTAiLCJNYWNoaW5lIiwidHJhbnNmZXJfc3RhdGVfcHJvcGVydGllcyIsImtleSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUdBOzs7QUFGQTs7QUFJQSxJQUFNQSxPQUFPQyxRQUFRLDRCQUFSLENBQWI7QUFBQSxJQUNNQyxLQUFPRixLQUFLRSxFQURsQjs7QUFPQSx1QkFBUyxlQUFULEVBQTBCLGdCQUFNQyxFQUFOLEVBQVk7O0FBRXBDQSxLQUFHLG9CQUFILEVBQTJCO0FBQUEsV0FBS0MsRUFBRUMsU0FBRixDQUFZLFlBQU07QUFBRSxVQUFNQyxPQUFPSixFQUFQLGlCQUFOO0FBQWtDLEtBQXRELENBQUw7QUFBQSxHQUEzQjtBQUNBQyxLQUFHLHNCQUFILEVBQTJCO0FBQUEsV0FBS0MsRUFBRUMsU0FBRixDQUFZLFlBQU07QUFBRSxVQUFNQyxPQUFPSixFQUFQLGtCQUFOO0FBQW1DLEtBQXZELENBQUw7QUFBQSxHQUEzQjtBQUNBQyxLQUFHLHNCQUFILEVBQTJCO0FBQUEsV0FBS0MsRUFBRUMsU0FBRixDQUFZLFlBQU07QUFBRSxVQUFNQyxPQUFPSixFQUFQLGtCQUFOO0FBQW9ELEtBQXhFLENBQUw7QUFBQSxHQUEzQjtBQUVELENBTkQ7O0FBWUEsdUJBQVMsc0JBQVQsRUFBaUMsZ0JBQU1LLEdBQU4sRUFBYTs7QUFF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LENBQUw7QUFBQSxLQUFiO0FBR0QsR0FKRDs7QUFNQSx5QkFBUyx3QkFBVCxFQUFtQyxnQkFBTUMsRUFBTixFQUFZO0FBQzdDLFFBQU13QixXQUFXO0FBQ2Ysc0JBQWUsQ0FBQyxHQUFELENBREE7QUFFZixxQkFBYyxDQUFDLEVBQUMsUUFBTyxHQUFSLEVBQVksTUFBSyxHQUFqQixFQUFxQixRQUFPLE9BQTVCLEVBQW9DLGVBQWMsS0FBbEQsRUFBd0QsYUFBWSxLQUFwRSxFQUFELENBRkM7QUFHZiwyQkFBb0IsQ0FBQyxFQUFDLFNBQVEsR0FBVCxFQUFhLGdCQUFlLENBQUMsRUFBQyxPQUFNLGNBQVAsRUFBc0IsU0FBUSxRQUE5QixFQUFELENBQTVCLEVBQUQsQ0FITCxFQUFqQjs7QUFLQXhCLE9BQUcsUUFBSCxFQUFhO0FBQUEsYUFBS0MsRUFBRXFCLE1BQUYsQ0FBVSxZQUFNO0FBQ2hDLFlBQU1HLE1BQU01QixLQUFLNkIsT0FBTCxDQUFhRixRQUFiLENBQVo7QUFDRCxPQUZpQixDQUFMO0FBQUEsS0FBYjtBQUdELEdBVEQ7O0FBV0EseUJBQVMsaURBQVQsRUFBNEQsZ0JBQU14QixFQUFOLEVBQVk7QUFDdEVBLE9BQUcsUUFBSCxFQUFhO0FBQUEsYUFBS0MsRUFBRXFCLE1BQUYsQ0FBVSxZQUFNO0FBQ2hDekIsYUFBSzhCLHlCQUFMLENBQStCLEVBQUNaLGNBQWMsQ0FBQyxFQUFDYSxLQUFLLFlBQU4sRUFBb0JSLE9BQU8sT0FBM0IsRUFBRCxDQUFmLEVBQS9CO0FBQ0QsT0FGaUIsQ0FBTDtBQUFBLEtBQWI7QUFHRCxHQUpEO0FBTUQsQ0F6QkQiLCJmaWxlIjoic3RhdGVfZGVjbGFyYXRpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cblxuaW1wb3J0IHtkZXNjcmliZX0gZnJvbSAnYXZhLXNwZWMnO1xuXG5jb25zdCBqc3NtID0gcmVxdWlyZSgnLi4vLi4vLi4vYnVpbGQvanNzbS5lczUuanMnKSxcbiAgICAgIHNtICAgPSBqc3NtLnNtO1xuXG5cblxuXG5cbmRlc2NyaWJlKFwiZG9lc24ndCB0aHJvd1wiLCBhc3luYyBpdCA9PiB7XG5cbiAgaXQoJ3dpdGggbm8gYXR0cmlidXRlcycsICAgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF9mb28gPSBzbWBjOiB7fTsgYSAtPiBiO2A7IH0pICk7XG4gIGl0KCd3aXRoIGp1c3Qgd2hpdGVzcGFjZScsIHQgPT4gdC5ub3RUaHJvd3MoKCkgPT4geyBjb25zdCBfZm9vID0gc21gYzogeyB9OyBhIC0+IGI7YDsgfSkgKTtcbiAgaXQoJ3dpdGgganVzdCBub2RlIGNvbG9yJywgdCA9PiB0Lm5vdFRocm93cygoKSA9PiB7IGNvbnN0IF9mb28gPSBzbWBjOiB7IG5vZGVfY29sb3I6IHJlZDsgfTsgYSAtPiBiO2A7IH0pICk7XG5cbn0pO1xuXG5cblxuXG5cbmRlc2NyaWJlKCdjYW4gcmVhZCBkZWNsYXJhdGlvbicsIGFzeW5jIF9pdCA9PiB7XG5cbiAgY29uc3QgbWFjaDAgPSBzbWBjOiB7IH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgLT4gYjtgO1xuICBjb25zdCBtYWNoMSA9IHNtYGM6IHsgbm9kZV9jb2xvcjogcmVkOyB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSAtPiBiO2A7XG4gIGNvbnN0IG1hY2gyID0gc21gYzogeyBub2RlX2NvbG9yOiByZWQ7IG5vZGVfc2hhcGU6IGNpcmNsZTsgfTsgICAgICAgICBhIC0+IGI7YDtcbi8vICBjb25zdCBtYWNoVCA9IHNtYGM6IHsgbm9kZV9jb2xvcjogcmVkOyB9OyBkOiB7IG5vZGVfc2hhcGU6IGNpcmNsZTsgfTsgYSAtPiBiO2A7XG5cbiAgLy8gY29uc3QgbWFjaFAgPSBzbWBcbiAgLy8gICBjOiB7IG5vZGVfc2hhcGU6IGNpcmNsZTsgbm9kZV9jb2xvcjogcmVkOyB9O1xuICAvLyAgIGQ6IHsgbm9kZV9zaGFwZTogY2lyY2xlOyBub2RlX2NvbG9yOiByZWQ7IH07XG4gIC8vICAgYSAtPiBiO1xuICAvLyBgO1xuXG4gIGRlc2NyaWJlKCdvZiB3LyBub3RoaW5nJywgYXN5bmMgX2l0MiA9PiB7XG4gICAgY29uc3QgZGVjbHMgPSBtYWNoMC5zdGF0ZV9kZWNsYXJhdGlvbnMoKTtcbiAgICBkZXNjcmliZSgndGhyb3VnaCAuc3RhdGVfZGVjbGFyYXRpb25zLzAnLCBhc3luYyBpdCA9PiB7XG4gICAgICBpdCgneWllbGRpbmcgbWFwJywgICAgICAgICAgdCA9PiB0LmlzKHRydWUsIGRlY2xzIGluc3RhbmNlb2YgTWFwKSk7XG4gICAgICBpdCgnbGlzdCBoYXZpbmcgc2l6ZSAxJywgICAgdCA9PiB0LmlzKDEsICAgIGRlY2xzLnNpemUpKTtcbiAgICAgIGl0KCdwcm9wcyBoYXZpbmcgbGVuZ3RoIDAnLCB0ID0+IHQuaXMoMCwgICAgZGVjbHMuZ2V0KCdjJykuZGVjbGFyYXRpb25zLmxlbmd0aCkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnb2YganVzdCB3LyBub2RlX2NvbG9yJywgYXN5bmMgX2l0MSA9PiB7XG4gICAgY29uc3QgZGVjbHMgPSBtYWNoMS5zdGF0ZV9kZWNsYXJhdGlvbnMoKTtcbiAgICBkZXNjcmliZSgndGhyb3VnaCAuc3RhdGVfZGVjbGFyYXRpb25zLzAnLCBhc3luYyBpdDIgPT4ge1xuICAgICAgaXQyKCd5aWVsZGluZyBtYXAnLCAgICAgICAgICB0ID0+IHQuaXModHJ1ZSwgZGVjbHMgaW5zdGFuY2VvZiBNYXApKTtcbiAgICAgIGl0MignbGlzdCBoYXZpbmcgc2l6ZSAxJywgICAgdCA9PiB0LmlzKDEsICAgIGRlY2xzLnNpemUpKTtcbiAgICAgIGl0MigncHJvcHMgaGF2aW5nIGxlbmd0aCAxJywgdCA9PiB0LmlzKDEsICAgIGRlY2xzLmdldCgnYycpLmRlY2xhcmF0aW9ucy5sZW5ndGgpKTtcbiAgICAgIC8vIHRvZG8gd2hhcmdhcmJsIGNoZWNrIHRoZSBhY3R1YWwgbWVtYmVycyBjb21lYmFja1xuICAgIH0pO1xuXG4vLyAgaXQoJ3Rocm91Z2ggLnN0YXRlX2RlY2xhcmF0aW9uLzEnLCAgdCA9PiB0LmlzKCdsZWZ0JywgbWFjaDEuc3RhdGVfZGVjbGFyYXRpb24oJ2MnKSApICk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdvZiB3LyBub2RlX2NvbG9yLCBub2RlX3NoYXBlJywgYXN5bmMgaXQgPT4ge1xuICAgIGl0KCd0aHJvdWdoIC5zdGF0ZV9kZWNsYXJhdGlvbi8xJywgIHQgPT4gdC5pcygnI2ZmMDAwMGZmJywgbWFjaDIuc3RhdGVfZGVjbGFyYXRpb24oJ2MnKS5kZWNsYXJhdGlvbnNbMF0udmFsdWUgKSApO1xuICAgIGl0KCd0aHJvdWdoIC5zdGF0ZV9kZWNsYXJhdGlvbi8xJywgIHQgPT4gdC5pcygnY2lyY2xlJywgbWFjaDIuc3RhdGVfZGVjbGFyYXRpb24oJ2MnKS5kZWNsYXJhdGlvbnNbMV0udmFsdWUgKSApO1xuICAgIGl0KCd0aHJvdWdoIC5zdGF0ZV9kZWNsYXJhdGlvbnMvMCcsIHQgPT4gdC5pcygxLCBtYWNoMi5zdGF0ZV9kZWNsYXJhdGlvbnMoKS5zaXplICkgKTtcbiAgICBpdCgndGhyb3VnaCAuc3RhdGVfZGVjbGFyYXRpb25zLzAnLCB0ID0+IHQuaXMoMiwgbWFjaDIuc3RhdGVfZGVjbGFyYXRpb25zKCkuZ2V0KCdjJykuZGVjbGFyYXRpb25zLmxlbmd0aCApICk7XG4gIH0pO1xuLypcbiAgZGVzY3JpYmUoJ29mIHcvIG5vZGVfY29sb3Igb24gYywgbm9kZV9zaGFwZSBvbiBkJywgYXN5bmMgaXQgPT4ge1xuICAgIGl0KCd0aHJvdWdoIC5zdGF0ZV9kZWNsYXJhdGlvbi8xJywgIHQgPT4gdC5pcygnbGVmdCcsIG1hY2hULnN0YXRlX2RlY2xhcmF0aW9uKCdjJykgKSApO1xuICAgIGl0KCd0aHJvdWdoIC5zdGF0ZV9kZWNsYXJhdGlvbi8xJywgIHQgPT4gdC5pcygnbGVmdCcsIG1hY2hULnN0YXRlX2RlY2xhcmF0aW9uKCdkJykgKSApO1xuICAgIGl0KCd0aHJvdWdoIC5zdGF0ZV9kZWNsYXJhdGlvbnMvMCcsIHQgPT4gdC5pcygnbGVmdCcsIG1hY2hULnN0YXRlX2RlY2xhcmF0aW9ucygpICkgKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ29mIHcvIG5vZGVfY29sb3IsIG5vZGVfc2hhcGUgb24gZWFjaCBjIGFuZCBkJywgYXN5bmMgaXQgPT4ge1xuICAgIGl0KCd0aHJvdWdoIC5zdGF0ZV9kZWNsYXJhdGlvbi8xJywgIHQgPT4gdC5pcygnbGVmdCcsIG1hY2hQLnN0YXRlX2RlY2xhcmF0aW9uKCdjJykgKSApO1xuICAgIGl0KCd0aHJvdWdoIC5zdGF0ZV9kZWNsYXJhdGlvbi8xJywgIHQgPT4gdC5pcygnbGVmdCcsIG1hY2hQLnN0YXRlX2RlY2xhcmF0aW9uKCdkJykgKSApO1xuICAgIGl0KCd0aHJvdWdoIC5zdGF0ZV9kZWNsYXJhdGlvbnMvMCcsIHQgPT4gdC5pcygnbGVmdCcsIG1hY2hQLnN0YXRlX2RlY2xhcmF0aW9ucygpICkgKTtcbiAgfSk7XG4qL1xufSk7XG5cblxuXG5cblxuZGVzY3JpYmUoJ2Vycm9yIGNhdGNoZXJ5JywgYXN5bmMgX3BhcnNlX2l0ID0+IHtcblxuICBkZXNjcmliZSgncmVwZWF0ZWQgZGVjbGFyYXRpb24nLCBhc3luYyBpdCA9PiB7XG4gICAgaXQoJ3Rocm93cycsIHQgPT4gdC50aHJvd3MoICgpID0+IHtcbiAgICAgIGNvbnN0IF9tYWNoMSA9IHNtYGM6IHsgbm9kZV9jb2xvcjogcmVkOyB9OyBjOiB7IG5vZGVfY29sb3I6IHJlZDsgfTsgYSAtPiBiO2A7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICB9ICkpO1xuICB9KTtcblxuICBkZXNjcmliZSgndW5rbm93biBzdGF0ZSBwcm9wZXJ0eScsIGFzeW5jIGl0ID0+IHtcbiAgICBjb25zdCBwcmVzdGF0ZSA9IHtcbiAgICAgIFwic3RhcnRfc3RhdGVzXCI6W1wiYlwiXSxcbiAgICAgIFwidHJhbnNpdGlvbnNcIjpbe1wiZnJvbVwiOlwiYlwiLFwidG9cIjpcImNcIixcImtpbmRcIjpcImxlZ2FsXCIsXCJmb3JjZWRfb25seVwiOmZhbHNlLFwibWFpbl9wYXRoXCI6ZmFsc2V9XSxcbiAgICAgIFwic3RhdGVfZGVjbGFyYXRpb25cIjpbe1wic3RhdGVcIjpcImFcIixcImRlY2xhcmF0aW9uc1wiOlt7XCJrZXlcIjpcInVyZ2xlIGJlcmdsZVwiLFwidmFsdWVcIjpcImNpcmNsZVwifV19XX07XG5cbiAgICBpdCgndGhyb3dzJywgdCA9PiB0LnRocm93cyggKCkgPT4ge1xuICAgICAgY29uc3QgX20wID0ganNzbS5NYWNoaW5lKHByZXN0YXRlKTtcbiAgICB9ICkpO1xuICB9KTtcblxuICBkZXNjcmliZSgndHJhbnNmZXIgc3RhdGUgcHJvcGVydGllcyB0aHJvd3Mgb24gdW5rbm93biBrZXknLCBhc3luYyBpdCA9PiB7XG4gICAgaXQoJ3Rocm93cycsIHQgPT4gdC50aHJvd3MoICgpID0+IHtcbiAgICAgIGpzc20udHJhbnNmZXJfc3RhdGVfcHJvcGVydGllcyh7ZGVjbGFyYXRpb25zOiBbe2tleTogJ2Fnc3JoZHRqZnknLCB2YWx1ZTogJ3NldmVuJ31dfSk7XG4gICAgfSApKTtcbiAgfSk7XG5cbn0pO1xuIl19 \ No newline at end of file diff --git a/dist/jssm.es5.cjs.js b/dist/jssm.es5.cjs.js index d46ded3d..78c20eef 100644 --- a/dist/jssm.es5.cjs.js +++ b/dist/jssm.es5.cjs.js @@ -113,7 +113,7 @@ module.exports={"abkhazian":"ab","аҧсуа бызшәа, аҧсшәа":"ab","a Object.defineProperty(exports, "__esModule", { value: true }); -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 = undefined; +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.transfer_state_properties = exports.version = undefined; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -400,6 +400,25 @@ function make(plan) { return compile(parse(plan)); } +function transfer_state_properties(state_decl) { + + state_decl.declarations.map(function (d) { + switch (d.key) { + + case 'node_shape': + state_decl.node_shape = d.value;break; + case 'node_color': + state_decl.node_color = d.value;break; + + default: + throw new Error('Unknown state property: \'' + JSON.stringify(d) + '\''); + + } + }); + + return state_decl; +} + var Machine = function () { // whargarbl this badly needs to be broken up, monolith master @@ -449,6 +468,18 @@ var Machine = function () { this._graph_layout = graph_layout; + if (state_declaration) { + state_declaration.map(function (state_decl) { + + if (_this._state_declarations.has(state_decl.state)) { + // no repeats + throw new Error('Added the same state declaration twice: ' + JSON.stringify(state_decl.state)); + } + + _this._state_declarations.set(state_decl.state, transfer_state_properties(state_decl)); + }); + } + transitions.map(function (tr) { if (tr.from === undefined) { @@ -548,7 +579,7 @@ var Machine = function () { */ } }); - } // eslint-disable-line flowtype/no-weak-types + } _createClass(Machine, [{ key: '_new_state', @@ -641,7 +672,6 @@ var Machine = function () { }, { key: 'state_declaration', value: function state_declaration(which) { - // eslint-disable-line flowtype/no-weak-types return this._state_declarations.get(which); } }, { @@ -1045,6 +1075,7 @@ function sm(template_strings /* , arguments */) { } exports.version = version; +exports.transfer_state_properties = transfer_state_properties; exports.Machine = Machine; exports.make = make; exports.parse = parse; diff --git a/dist/jssm.es5.cjs.min.js b/dist/jssm.es5.cjs.min.js index 470cf51b..d477fa49 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,3)===peg$c1?(s0=peg$c1,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c2)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c3?(s0=peg$c3,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c4)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c5?(s0=peg$c5,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c6)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c7?(s0=peg$c7,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c8)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c9?(s0=peg$c9,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c10)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c11?(s0=peg$c11,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c12)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c13?(s0=peg$c13,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c14)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c15?(s0=peg$c15,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c16)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c17?(s0=peg$c17,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c18)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c19?(s0=peg$c19,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c20)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c21?(s0=peg$c21,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c22)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c23?(s0=peg$c23,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c24)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c25?(s0=peg$c25,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c26)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c27?(s0=peg$c27,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c28)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c29?(s0=peg$c29,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c30)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c31?(s0=peg$c31,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c32)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c33?(s0=peg$c33,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c34)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c35?(s0=peg$c35,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c36)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c37?(s0=peg$c37,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c38)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c39?(s0=peg$c39,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c40)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c41?(s0=peg$c41,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c42)),s0===peg$FAILED&&(input.substr(peg$currPos,11)===peg$c43?(s0=peg$c43,peg$currPos+=11):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c44)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c45?(s0=peg$c45,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c46)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c47?(s0=peg$c47,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c48)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c49?(s0=peg$c49,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c50)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c51?(s0=peg$c51,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c52)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c53?(s0=peg$c53,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c54)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c55?(s0=peg$c55,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c56)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c57?(s0=peg$c57,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c58)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c59?(s0=peg$c59,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c60)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c61?(s0=peg$c61,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c62)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c63?(s0=peg$c63,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c64)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c65?(s0=peg$c65,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c66)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c67?(s0=peg$c67,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c68)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c69?(s0=peg$c69,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c70)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c71?(s0=peg$c71,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c72)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c73?(s0=peg$c73,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c74)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c75?(s0=peg$c75,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c76)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c77?(s0=peg$c77,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c78)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c79?(s0=peg$c79,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c80)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c81?(s0=peg$c81,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c82)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c83?(s0=peg$c83,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c84)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c85?(s0=peg$c85,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c86)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c87?(s0=peg$c87,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c88)),s0===peg$FAILED&&(input.substr(peg$currPos,15)===peg$c89?(s0=peg$c89,peg$currPos+=15):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c90)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c91?(s0=peg$c91,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c92)),s0===peg$FAILED&&(input.substr(peg$currPos,14)===peg$c93?(s0=peg$c93,peg$currPos+=14):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c94)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c95?(s0=peg$c95,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c96)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c97?(s0=peg$c97,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c98)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c99?(s0=peg$c99,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c100)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c101?(s0=peg$c101,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c102)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c103?(s0=peg$c103,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c104)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c105?(s0=peg$c105,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c106)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c107?(s0=peg$c107,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c108)),s0===peg$FAILED&&(input.substr(peg$currPos,11)===peg$c109?(s0=peg$c109,peg$currPos+=11):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c110)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c111?(s0=peg$c111,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c112)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c113?(s0=peg$c113,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c114)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c115?(s0=peg$c115,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c116)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c117?(s0=peg$c117,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c118)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c119?(s0=peg$c119,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c120))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s0}function peg$parseForwardLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c122?(s0=peg$c122,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c123)),s0===peg$FAILED&&(s0=peg$currPos,8594===input.charCodeAt(peg$currPos)?(s1=peg$c124,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c125)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c126()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c121)),s0}function peg$parseTwoWayLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c128?(s0=peg$c128,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c129)),s0===peg$FAILED&&(s0=peg$currPos,8596===input.charCodeAt(peg$currPos)?(s1=peg$c130,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c131)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c132()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c127)),s0}function peg$parseBackLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c134?(s0=peg$c134,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c135)),s0===peg$FAILED&&(s0=peg$currPos,8592===input.charCodeAt(peg$currPos)?(s1=peg$c136,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c137)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c138()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c133)),s0}function peg$parseForwardFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c140?(s0=peg$c140,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c141)),s0===peg$FAILED&&(s0=peg$currPos,8658===input.charCodeAt(peg$currPos)?(s1=peg$c142,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c143)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c144()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c139)),s0}function peg$parseTwoWayFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c146?(s0=peg$c146,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c147)),s0===peg$FAILED&&(s0=peg$currPos,8660===input.charCodeAt(peg$currPos)?(s1=peg$c148,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c149)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c150()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c145)),s0}function peg$parseBackFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c152?(s0=peg$c152,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c153)),s0===peg$FAILED&&(s0=peg$currPos,8656===input.charCodeAt(peg$currPos)?(s1=peg$c154,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c155)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c156()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c151)),s0}function peg$parseForwardTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c158?(s0=peg$c158,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c159)),s0===peg$FAILED&&(s0=peg$currPos,8603===input.charCodeAt(peg$currPos)?(s1=peg$c160,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c161)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c162()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c157)),s0}function peg$parseTwoWayTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c164?(s0=peg$c164,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c165)),s0===peg$FAILED&&(s0=peg$currPos,8622===input.charCodeAt(peg$currPos)?(s1=peg$c166,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c167)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c168()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c163)),s0}function peg$parseBackTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c170?(s0=peg$c170,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c171)),s0===peg$FAILED&&(s0=peg$currPos,8602===input.charCodeAt(peg$currPos)?(s1=peg$c172,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c173)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c174()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c169)),s0}function peg$parseLightFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c176?(s0=peg$c176,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c177)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c178?(s1=peg$c178,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c179)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c180()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c175)),s0}function peg$parseLightTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c182?(s0=peg$c182,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c183)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c184?(s1=peg$c184,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c185)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c186()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c181)),s0}function peg$parseFatLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c188?(s0=peg$c188,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c189)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c190?(s1=peg$c190,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c191)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c192()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c187)),s0}function peg$parseFatTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c194?(s0=peg$c194,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c195)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c196?(s1=peg$c196,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c197)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c198()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c193)),s0}function peg$parseTildeLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c200?(s0=peg$c200,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c201)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c202?(s1=peg$c202,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c203)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c204()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c199)),s0}function peg$parseTildeFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c206?(s0=peg$c206,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c207)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c208?(s1=peg$c208,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c209)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c210()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c205)),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$c211),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$c212),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$c213),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$c214),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$c215),s0}function peg$parseHexDigit(){var s0;return peg$c216.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c217)),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$c218,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c219)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c220,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c221)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c222,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c223)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c224,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c225)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c226()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c227,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c228)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c229()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c230,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c231)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c232()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c233,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c234)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c235()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c236,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c237)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c238()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c239,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c240)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c241()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c242,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c243)),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$c244(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c245(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$c220,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c221)),s0}function peg$parseQuoteMark(){var s0;return 34===input.charCodeAt(peg$currPos)?(s0=peg$c218,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c219)),s0}function peg$parseUnescaped(){var s0;return peg$c246.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c247)),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$c248,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c249)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c220,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c221)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c222,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c223)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c224,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c225)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c226()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c227,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c228)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c229()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c230,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c231)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c232()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c233,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c234)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c235()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c236,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c237)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c238()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c239,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c240)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c241()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c242,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c243)),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$c244(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c245(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$c248,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c249)),s0}function peg$parseActionLabelUnescaped(){var s0;return peg$c250.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c251)),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$c253(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$c252),s0}function peg$parseLineTerminator(){var s0;return peg$c254.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c255)),s0}function peg$parseBlockCommentTail(){var s0,s1,s2;return input.substr(peg$currPos,2)===peg$c258?(s0=peg$c258,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c259)),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$c260)),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 peg$silentFails++,s0=peg$currPos,input.substr(peg$currPos,2)===peg$c262?(s1=peg$c262,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c263)),s1!==peg$FAILED&&(s2=peg$parseBlockCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c261)),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$c260)),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$c260)),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 peg$silentFails++,s0=peg$currPos,input.substr(peg$currPos,2)===peg$c265?(s1=peg$c265,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c266)),s1!==peg$FAILED&&(s2=peg$parseLineCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c264)),s0}function peg$parseWS(){var s0,s1,s2;if(peg$silentFails++,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$c268.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c269)),s2!==peg$FAILED)for(;s2!==peg$FAILED;)s1.push(s2),peg$c268.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c269));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 peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c267)),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$c253(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$c270),s0}function peg$parseAtomFirstLetter(){var s0;return peg$c271.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c272)),s0}function peg$parseAtomLetter(){var s0;return peg$c273.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c274)),s0}function peg$parseAtom(){var s0,s1,s2,s3;if(peg$silentFails++,s0=peg$currPos,(s1=peg$parseAtomFirstLetter())!==peg$FAILED){for(s2=[],s3=peg$parseAtomLetter();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseAtomLetter();s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c276(s1,s2)):(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$c275)),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$c277),s0}function peg$parseIntegerLiteral(){var s0,s1,s2,s3;if(48===input.charCodeAt(peg$currPos)?(s0=peg$c278,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c279)),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$c280.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c281)),s0}function peg$parseNonZeroDigit(){var s0;return peg$c282.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c283)),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$c285,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c286)),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$c287()):(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$c287()):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c284),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$c285,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c286)),s2!==peg$FAILED&&(s3=peg$parseIntegerLiteral())!==peg$FAILED?(46===input.charCodeAt(peg$currPos)?(s4=peg$c285,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c286)),s4!==peg$FAILED&&(s5=peg$parseIntegerLiteral())!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c288(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$c299?(s0=peg$c299,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c300)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c301?(s0=peg$c301,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c302))),s0}function peg$parseURL(){var s0,s1,s2,s3;if(s0=peg$currPos,(s1=peg$parseUrlProtocol())!==peg$FAILED){if(s2=[],peg$c303.test(input.charAt(peg$currPos))?(s3=input.charAt(peg$currPos),peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c304)),s3!==peg$FAILED)for(;s3!==peg$FAILED;)s2.push(s3),peg$c303.test(input.charAt(peg$currPos))?(s3=input.charAt(peg$currPos),peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c304));else s2=peg$FAILED;s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c305(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$c306?(s1=peg$c306,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c307)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c308()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c309?(s1=peg$c309,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c310)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c308()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c311?(s1=peg$c311,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c312)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c313()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c314?(s1=peg$c314,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c315)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c313()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c316?(s1=peg$c316,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c317)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c318()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c319?(s1=peg$c319,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c320)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c318()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c321?(s1=peg$c321,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c322)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c323()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c324?(s1=peg$c324,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c325)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c323()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c326?(s1=peg$c326,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c327)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c328()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c329?(s1=peg$c329,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c330)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c328()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c331?(s1=peg$c331,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c332)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c333()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c334?(s1=peg$c334,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c335)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c333()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c336?(s1=peg$c336,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c337)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c338()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c339?(s1=peg$c339,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c340)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c338()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c341?(s1=peg$c341,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c342)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c343()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c344?(s1=peg$c344,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c345)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c343()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c346?(s1=peg$c346,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c347)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c348()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c349?(s1=peg$c349,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c350)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c348()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c351?(s1=peg$c351,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c352)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c353()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c354?(s1=peg$c354,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c355)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c353()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c356?(s1=peg$c356,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c357)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c358()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c359?(s1=peg$c359,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c360)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c358()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c361?(s1=peg$c361,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c362)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c363()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c364?(s1=peg$c364,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c365)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c363()),(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$c368()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c369?(s1=peg$c369,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c370)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c368()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c371?(s1=peg$c371,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c372)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c373()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c374?(s1=peg$c374,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c375)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c373()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c376?(s1=peg$c376,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c377)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c378()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c379?(s1=peg$c379,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c380)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c378()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c381?(s1=peg$c381,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c382)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c383()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c384?(s1=peg$c384,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c385)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c383()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c386?(s1=peg$c386,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c387)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c388()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c389?(s1=peg$c389,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c390)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c388()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c391?(s1=peg$c391,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c392)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c393()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c394?(s1=peg$c394,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c395)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c393()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c396?(s1=peg$c396,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c397)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c398()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c399?(s1=peg$c399,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c400)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c398()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c401?(s1=peg$c401,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c402)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c403()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c404?(s1=peg$c404,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c405)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c403()),(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$c318()),(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$c318()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c410?(s1=peg$c410,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c411)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c412()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c413?(s1=peg$c413,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c414)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c412()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c415?(s1=peg$c415,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c416)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c417()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c418?(s1=peg$c418,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c419)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c417()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c420?(s1=peg$c420,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c421)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c422()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c423?(s1=peg$c423,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c424)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c422()),(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$c427()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c428?(s1=peg$c428,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c429)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c427()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c430?(s1=peg$c430,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c431)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c427()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c432?(s1=peg$c432,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c433)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c427()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c434?(s1=peg$c434,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c435)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c436()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c437?(s1=peg$c437,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c438)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c436()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c439?(s1=peg$c439,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c440)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c441()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c442?(s1=peg$c442,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c443)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c441()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c444?(s1=peg$c444,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c445)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c446()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c447?(s1=peg$c447,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c448)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c446()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c449?(s1=peg$c449,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c450)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c451()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c452?(s1=peg$c452,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c453)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c451()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c454?(s1=peg$c454,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c455)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c456()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c457?(s1=peg$c457,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c458)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c456()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c459?(s1=peg$c459,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c460)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c461()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c462?(s1=peg$c462,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c463)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c461()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c464?(s1=peg$c464,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c465)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c466()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c467?(s1=peg$c467,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c468)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c466()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c469?(s1=peg$c469,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c470)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c471()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c472?(s1=peg$c472,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c473)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c471()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c474?(s1=peg$c474,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c475)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c476()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c477?(s1=peg$c477,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c478)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c476()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c479?(s1=peg$c479,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c480)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c481()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c482?(s1=peg$c482,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c483)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c481()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c484?(s1=peg$c484,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c485)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c486()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c487?(s1=peg$c487,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c488)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c486()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c489?(s1=peg$c489,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c490)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c486()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c491?(s1=peg$c491,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c492)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c486()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c493?(s1=peg$c493,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c494)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c495()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c496?(s1=peg$c496,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c497)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c495()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c498?(s1=peg$c498,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c499)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c500()),(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$c500()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c503?(s1=peg$c503,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c504)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c505()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c506?(s1=peg$c506,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c507)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c505()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c508?(s1=peg$c508,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c509)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c510()),(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$c510()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c513?(s1=peg$c513,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c514)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c515()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c516?(s1=peg$c516,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c517)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c515()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c518?(s1=peg$c518,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c519)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c515()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c520?(s1=peg$c520,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c521)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c515()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c522?(s1=peg$c522,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c523)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c524()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c525?(s1=peg$c525,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c526)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c524()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c527?(s1=peg$c527,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c528)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c529()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c530?(s1=peg$c530,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c531)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c529()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c532?(s1=peg$c532,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c533)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c534()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c535?(s1=peg$c535,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c536)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c534()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c537?(s1=peg$c537,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c538)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c539()),(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$c539()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c542?(s1=peg$c542,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c543)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c544()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c545?(s1=peg$c545,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c546)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c544()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c547?(s1=peg$c547,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c548)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c549()),(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$c549()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c552?(s1=peg$c552,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c553)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c554()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c555?(s1=peg$c555,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c556)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c554()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c557?(s1=peg$c557,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c558)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c559()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c560?(s1=peg$c560,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c561)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c559()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c562?(s1=peg$c562,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c563)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c564()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c565?(s1=peg$c565,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c566)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c564()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c567?(s1=peg$c567,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c568)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c569()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c570?(s1=peg$c570,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c571)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c569()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c572?(s1=peg$c572,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c573)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c569()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c574?(s1=peg$c574,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c575)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c569()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c576?(s1=peg$c576,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c577)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c578()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c579?(s1=peg$c579,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c580)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c578()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c581?(s1=peg$c581,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c582)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c583()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c584?(s1=peg$c584,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c585)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c583()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c586?(s1=peg$c586,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c587)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c588()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c589?(s1=peg$c589,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c590)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c588()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c591?(s1=peg$c591,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c592)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c593()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c594?(s1=peg$c594,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c595)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c593()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c596?(s1=peg$c596,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c597)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c598()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c599?(s1=peg$c599,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c600)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c598()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c601?(s1=peg$c601,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c602)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c603()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c604?(s1=peg$c604,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c605)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c603()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c606?(s1=peg$c606,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c607)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c608()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c609?(s1=peg$c609,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c610)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c608()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c611?(s1=peg$c611,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c612)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c613()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c614?(s1=peg$c614,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c615)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c613()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c616?(s1=peg$c616,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c617)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c618()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c619?(s1=peg$c619,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c620)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c618()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c621?(s1=peg$c621,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c622)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c623()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c624?(s1=peg$c624,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c625)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c623()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c626?(s1=peg$c626,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c627)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c628()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c629?(s1=peg$c629,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c630)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c628()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c631?(s1=peg$c631,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c632)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c633()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c634?(s1=peg$c634,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c635)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c633()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c636?(s1=peg$c636,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c637)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c638()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c639?(s1=peg$c639,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c640)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c638()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c641?(s1=peg$c641,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c642)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c643()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c644?(s1=peg$c644,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c645)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c643()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c646?(s1=peg$c646,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c647)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c648()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c649?(s1=peg$c649,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c650)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c648()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,20)===peg$c651?(s1=peg$c651,peg$currPos+=20):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c652)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c653()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,20)===peg$c654?(s1=peg$c654,peg$currPos+=20):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c655)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c653()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c656?(s1=peg$c656,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c657)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c658()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c659?(s1=peg$c659,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c660)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c658()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c661?(s1=peg$c661,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c662)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c658()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c663?(s1=peg$c663,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c664)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c658()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c665?(s1=peg$c665,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c666)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c667()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c668?(s1=peg$c668,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c669)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c667()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c670?(s1=peg$c670,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c671)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c672()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c673?(s1=peg$c673,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c674)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c672()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c675?(s1=peg$c675,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c676)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c677()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c678?(s1=peg$c678,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c679)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c677()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c680?(s1=peg$c680,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c681)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c682()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c683?(s1=peg$c683,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c684)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c682()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c685?(s1=peg$c685,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c686)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c687()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c688?(s1=peg$c688,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c689)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c687()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c690?(s1=peg$c690,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c691)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c692()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c693?(s1=peg$c693,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c694)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c692()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c695?(s1=peg$c695,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c696)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c692()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c697?(s1=peg$c697,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c698)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c692()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c699?(s1=peg$c699,peg$currPos+=14):(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,14)===peg$c702?(s1=peg$c702,peg$currPos+=14):(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,11)===peg$c704?(s1=peg$c704,peg$currPos+=11):(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,11)===peg$c707?(s1=peg$c707,peg$currPos+=11):(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,9)===peg$c714?(s1=peg$c714,peg$currPos+=9):(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,9)===peg$c717?(s1=peg$c717,peg$currPos+=9):(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,5)===peg$c719?(s1=peg$c719,peg$currPos+=5):(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,5)===peg$c722?(s1=peg$c722,peg$currPos+=5):(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,7)===peg$c724?(s1=peg$c724,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c725)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c544()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c726?(s1=peg$c726,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c727)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c544()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c728?(s1=peg$c728,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c729)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c730()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c731?(s1=peg$c731,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c732)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c730()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,16)===peg$c733?(s1=peg$c733,peg$currPos+=16):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c734)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c735()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,16)===peg$c736?(s1=peg$c736,peg$currPos+=16):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c737)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c735()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c738?(s1=peg$c738,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c739)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c740()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c741?(s1=peg$c741,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c742)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c740()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c743?(s1=peg$c743,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c744)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c745()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c746?(s1=peg$c746,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c747)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c745()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c748?(s1=peg$c748,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c749)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c750()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c751?(s1=peg$c751,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c752)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c750()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c753?(s1=peg$c753,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c754)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c755()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c756?(s1=peg$c756,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c757)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c755()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c758?(s1=peg$c758,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c759)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c760()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c761?(s1=peg$c761,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c762)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c760()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,17)===peg$c763?(s1=peg$c763,peg$currPos+=17):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c764)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c765()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,17)===peg$c766?(s1=peg$c766,peg$currPos+=17):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c767)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c765()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c768?(s1=peg$c768,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c769)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c770()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c771?(s1=peg$c771,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c772)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c770()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c773?(s1=peg$c773,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c774)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c775()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c776?(s1=peg$c776,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c777)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c775()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c778?(s1=peg$c778,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c779)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c780()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c781?(s1=peg$c781,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c782)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c780()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c783?(s1=peg$c783,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c784)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c785()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c786?(s1=peg$c786,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c787)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c785()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c788?(s1=peg$c788,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c789)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c790()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c791?(s1=peg$c791,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c792)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c790()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c793?(s1=peg$c793,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c794)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c795()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c796?(s1=peg$c796,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c797)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c795()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c798?(s1=peg$c798,peg$currPos+=11):(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,11)===peg$c801?(s1=peg$c801,peg$currPos+=11):(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,4)===peg$c803?(s1=peg$c803,peg$currPos+=4):(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,4)===peg$c806?(s1=peg$c806,peg$currPos+=4):(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,7)===peg$c808?(s1=peg$c808,peg$currPos+=7):(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,7)===peg$c811?(s1=peg$c811,peg$currPos+=7):(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,5)===peg$c813?(s1=peg$c813,peg$currPos+=5):(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,5)===peg$c816?(s1=peg$c816,peg$currPos+=5):(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,9)===peg$c818?(s1=peg$c818,peg$currPos+=9):(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,9)===peg$c821?(s1=peg$c821,peg$currPos+=9):(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,6)===peg$c823?(s1=peg$c823,peg$currPos+=6):(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,6)===peg$c826?(s1=peg$c826,peg$currPos+=6):(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,9)===peg$c828?(s1=peg$c828,peg$currPos+=9):(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,9)===peg$c831?(s1=peg$c831,peg$currPos+=9):(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,6)===peg$c833?(s1=peg$c833,peg$currPos+=6):(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,6)===peg$c836?(s1=peg$c836,peg$currPos+=6):(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,13)===peg$c838?(s1=peg$c838,peg$currPos+=13):(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,13)===peg$c841?(s1=peg$c841,peg$currPos+=13):(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,9)===peg$c843?(s1=peg$c843,peg$currPos+=9):(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,9)===peg$c846?(s1=peg$c846,peg$currPos+=9):(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,13)===peg$c848?(s1=peg$c848,peg$currPos+=13):(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,13)===peg$c851?(s1=peg$c851,peg$currPos+=13):(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,13)===peg$c853?(s1=peg$c853,peg$currPos+=13):(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,13)===peg$c856?(s1=peg$c856,peg$currPos+=13):(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,10)===peg$c858?(s1=peg$c858,peg$currPos+=10):(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,10)===peg$c861?(s1=peg$c861,peg$currPos+=10):(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,9)===peg$c863?(s1=peg$c863,peg$currPos+=9):(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,9)===peg$c866?(s1=peg$c866,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c867)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c865()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c868?(s1=peg$c868,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c870()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c871?(s1=peg$c871,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c872)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c870()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c873?(s1=peg$c873,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c874)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c875()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c876?(s1=peg$c876,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c877)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c875()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c878?(s1=peg$c878,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c879)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c880()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c881?(s1=peg$c881,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c880()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c883?(s1=peg$c883,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c885()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c886?(s1=peg$c886,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c887)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c885()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c888?(s1=peg$c888,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c889)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c890()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c891?(s1=peg$c891,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c892)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c890()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c893?(s1=peg$c893,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c894)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c895()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c896?(s1=peg$c896,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c897)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c895()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c898?(s1=peg$c898,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c899)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c900()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c901?(s1=peg$c901,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c902)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c900()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c903?(s1=peg$c903,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c904)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c905()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c906?(s1=peg$c906,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c907)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c905()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c908?(s1=peg$c908,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c909)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c910()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c911?(s1=peg$c911,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c912)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c910()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c913?(s1=peg$c913,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c914)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c915()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c916?(s1=peg$c916,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c917)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c915()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c918?(s1=peg$c918,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c919)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c920()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c921?(s1=peg$c921,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c922)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c920()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c923?(s1=peg$c923,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c924)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c925()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c926?(s1=peg$c926,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c927)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c925()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c928?(s1=peg$c928,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c929)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c930()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c931?(s1=peg$c931,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c932)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c930()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c933?(s1=peg$c933,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c934)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c935()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c936?(s1=peg$c936,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c937)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c935()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c938?(s1=peg$c938,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c939)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c940()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c941?(s1=peg$c941,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c942)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c940()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c943?(s1=peg$c943,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c944)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c945()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c946?(s1=peg$c946,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c947)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c945()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c948?(s1=peg$c948,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c949)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c950()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c951?(s1=peg$c951,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c952)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c950()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c953?(s1=peg$c953,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c954)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c955()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c956?(s1=peg$c956,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c957)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c955()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c958?(s1=peg$c958,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c959)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c955()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c960?(s1=peg$c960,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c961)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c955()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c962?(s1=peg$c962,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c963)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c964()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c965?(s1=peg$c965,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c966)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c964()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c967?(s1=peg$c967,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c968)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c969()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c970?(s1=peg$c970,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c971)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c969()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c972?(s1=peg$c972,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c973)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c974()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c975?(s1=peg$c975,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c976)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c974()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c977?(s1=peg$c977,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c978)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c979()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c980?(s1=peg$c980,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c981)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c979()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c982?(s1=peg$c982,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c983)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c984()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c985?(s1=peg$c985,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c986)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c984()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c987?(s1=peg$c987,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c988)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c989()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c990?(s1=peg$c990,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c991)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c989()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c992?(s1=peg$c992,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c993)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c994()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c995?(s1=peg$c995,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c996)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c994()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c997?(s1=peg$c997,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c998)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c999()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c1000?(s1=peg$c1000,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1001)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c999()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c1002?(s1=peg$c1002,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1003)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1004()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c1005?(s1=peg$c1005,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1006)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1004()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c1007?(s1=peg$c1007,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1008)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1009()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c1010?(s1=peg$c1010,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1011)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1009()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c1012?(s1=peg$c1012,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1013)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1014()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c1015?(s1=peg$c1015,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1016)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1014()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c1017?(s1=peg$c1017,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1018)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1019()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c1020?(s1=peg$c1020,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1021)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1019()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c1022?(s1=peg$c1022,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1023)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1024()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c1025?(s1=peg$c1025,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1026)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1024()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c1027?(s1=peg$c1027,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1028)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1029()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c1030?(s1=peg$c1030,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1031)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1029()),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?(peg$savedPos=s0,s0=s1=peg$c1032(s1)):(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$c1033,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1034)),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$c1035(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$c1033,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1034)),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$c1036(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$c1033,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1034)),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$c1037(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$c1033,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1034)),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$c1038(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$c1039),s0}function peg$parseArrowItemKey(){var s0;return input.substr(peg$currPos,9)===peg$c1040?(s0=peg$c1040,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1041)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c1042?(s0=peg$c1042,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1043)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c1044?(s0=peg$c1044,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1045)))),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$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1050(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$c1052?(s2=peg$c1052,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1053)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1054(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$c1051)),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$c1055,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1057,peg$currPos++):(s5=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1058)),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1059(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$c1060,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1061)),s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1062(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$c1063,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1064)),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$c1065,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1066)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1067(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$c1068(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$c1048,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1069(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$c1070?(s0=peg$c1070,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1071)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c1072?(s0=peg$c1072,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1073))),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$c1046,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c1048,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1074(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$c1075?(s2=peg$c1075,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1076)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c1055,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1077?(s10=peg$c1077,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1078)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1079(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$c1080?(s0=peg$c1080,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1081)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c1082?(s0=peg$c1082,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1083)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c1084?(s0=peg$c1084,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1085)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c1086?(s0=peg$c1086,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1087))))),s0}function peg$parseStateItemShapeKey(){var s0;return input.substr(peg$currPos,8)===peg$c1088?(s0=peg$c1088,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1089)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c1090?(s0=peg$c1090,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1091)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c1092?(s0=peg$c1092,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1093)))),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$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1050(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$c1094?(s2=peg$c1094,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1095)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c1055,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1077?(s10=peg$c1077,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1078)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1096(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$c1070?(s0=peg$c1070,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1071)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c1072?(s0=peg$c1072,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1073))),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$c1046,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c1048,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1097(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$c1098?(s2=peg$c1098,peg$currPos+=6):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1099)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c1055,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1077?(s10=peg$c1077,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1078)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1100(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$c1070?(s0=peg$c1070,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1071)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c1072?(s0=peg$c1072,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1073))),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$c1046,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c1048,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1101(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$c1052?(s2=peg$c1052,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1053)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1103(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$c1102)),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$c1104?(s2=peg$c1104,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1105)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c1055,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1077?(s10=peg$c1077,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1078)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1106(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$c1107?(s2=peg$c1107,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1108)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1109(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$c1110?(s2=peg$c1110,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1111)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1112(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$c1113?(s2=peg$c1113,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1114)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1115(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$c1116?(s2=peg$c1116,peg$currPos+=14):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1117)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1118(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$c1119),s0}function peg$parseLicenseOrLabelOrList(){var s0;return input.substr(peg$currPos,3)===peg$c1120?(s0=peg$c1120,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1121)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c1122?(s0=peg$c1122,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1123)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c1124?(s0=peg$c1124,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1125)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c1126?(s0=peg$c1126,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1127)),s0===peg$FAILED&&(input.substr(peg$currPos,11)===peg$c1128?(s0=peg$c1128,peg$currPos+=11):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1129)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c1130?(s0=peg$c1130,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1131)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c1132?(s0=peg$c1132,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1133)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c1134?(s0=peg$c1134,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1135)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c1136?(s0=peg$c1136,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1137)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c1138?(s0=peg$c1138,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1139)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c1140?(s0=peg$c1140,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1141)),s0===peg$FAILED&&(s0=peg$parseLabel())===peg$FAILED&&(s0=peg$parseLabelList()))))))))))),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$c1142?(s2=peg$c1142,peg$currPos+=14):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1143)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1144(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$c1145?(s2=peg$c1145,peg$currPos+=19):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1146)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1147(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$c1148?(s2=peg$c1148,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1149)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1150(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$c1151?(s2=peg$c1151,peg$currPos+=18):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1152)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1153(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$c1154?(s2=peg$c1154,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1155)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1156(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$c1160?(s2=peg$c1160,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1161)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1162(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$c1163?(s2=peg$c1163,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1164)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1165(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$parseMachineLanguage(){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,16)===peg$c1166?(s2=peg$c1166,peg$currPos+=16):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1167)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1168(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$c1169?(s2=peg$c1169,peg$currPos+=11):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1170)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1171(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$parseMachineAttribute(){var s0;return peg$silentFails++,(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$parseMachineLanguage()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c1172),s0}function peg$parseSdNodeColor(){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$c1174?(s2=peg$c1174,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1175)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1176(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$c1173)),s0}function peg$parseSdNodeShape(){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$c1092?(s2=peg$c1092,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1093)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1178(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$c1177)),s0}function peg$parseStateDeclarationItems(){var s0;return(s0=peg$parseSdNodeColor())===peg$FAILED&&(s0=peg$parseSdNodeShape()),s0}function peg$parseStateDeclarationDesc(){var s0,s1,s2,s3,s4,s5;if(s0=peg$currPos,123===input.charCodeAt(peg$currPos)?(s1=peg$c1055,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),s1!==peg$FAILED)if((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED){for(s3=[],s4=peg$parseStateDeclarationItems();s4!==peg$FAILED;)s3.push(s4),s4=peg$parseStateDeclarationItems();s3!==peg$FAILED?((s4=peg$parseWS())===peg$FAILED&&(s4=null),s4!==peg$FAILED?(125===input.charCodeAt(peg$currPos)?(s5=peg$c1057,peg$currPos++):(s5=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1058)),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1059(s3)):(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;return s0}function peg$parseStateDeclaration(){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$parseLabel())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseStateDeclarationDesc())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1179(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$parseNamedList(){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?(38===input.charCodeAt(peg$currPos)?(s2=peg$c1180,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1181)),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$c1046,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1182(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$parseStateDeclaration())===peg$FAILED&&(s0=peg$parseNamedList())===peg$FAILED&&(s0=peg$parseMachineAttribute())===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="box",peg$c2=peg$literalExpectation("box",!1),peg$c3="polygon",peg$c4=peg$literalExpectation("polygon",!1),peg$c5="ellipse",peg$c6=peg$literalExpectation("ellipse",!1),peg$c7="oval",peg$c8=peg$literalExpectation("oval",!1),peg$c9="circle",peg$c10=peg$literalExpectation("circle",!1),peg$c11="point",peg$c12=peg$literalExpectation("point",!1),peg$c13="egg",peg$c14=peg$literalExpectation("egg",!1),peg$c15="triangle",peg$c16=peg$literalExpectation("triangle",!1),peg$c17="plaintext",peg$c18=peg$literalExpectation("plaintext",!1),peg$c19="plain",peg$c20=peg$literalExpectation("plain",!1),peg$c21="diamond",peg$c22=peg$literalExpectation("diamond",!1),peg$c23="trapezium",peg$c24=peg$literalExpectation("trapezium",!1),peg$c25="parallelogram",peg$c26=peg$literalExpectation("parallelogram",!1),peg$c27="house",peg$c28=peg$literalExpectation("house",!1),peg$c29="pentagon",peg$c30=peg$literalExpectation("pentagon",!1),peg$c31="hexagon",peg$c32=peg$literalExpectation("hexagon",!1),peg$c33="septagon",peg$c34=peg$literalExpectation("septagon",!1),peg$c35="octagon",peg$c36=peg$literalExpectation("octagon",!1),peg$c37="doublecircle",peg$c38=peg$literalExpectation("doublecircle",!1),peg$c39="doubleoctagon",peg$c40=peg$literalExpectation("doubleoctagon",!1),peg$c41="tripleoctagon",peg$c42=peg$literalExpectation("tripleoctagon",!1),peg$c43="invtriangle",peg$c44=peg$literalExpectation("invtriangle",!1),peg$c45="invtrapezium",peg$c46=peg$literalExpectation("invtrapezium",!1),peg$c47="invhouse",peg$c48=peg$literalExpectation("invhouse",!1),peg$c49="Mdiamond",peg$c50=peg$literalExpectation("Mdiamond",!1),peg$c51="Msquare",peg$c52=peg$literalExpectation("Msquare",!1),peg$c53="Mcircle",peg$c54=peg$literalExpectation("Mcircle",!1),peg$c55="rect",peg$c56=peg$literalExpectation("rect",!1),peg$c57="rectangle",peg$c58=peg$literalExpectation("rectangle",!1),peg$c59="square",peg$c60=peg$literalExpectation("square",!1),peg$c61="star",peg$c62=peg$literalExpectation("star",!1),peg$c63="none",peg$c64=peg$literalExpectation("none",!1),peg$c65="underline",peg$c66=peg$literalExpectation("underline",!1),peg$c67="cylinder",peg$c68=peg$literalExpectation("cylinder",!1),peg$c69="note",peg$c70=peg$literalExpectation("note",!1),peg$c71="tab",peg$c72=peg$literalExpectation("tab",!1),peg$c73="folder",peg$c74=peg$literalExpectation("folder",!1),peg$c75="box3d",peg$c76=peg$literalExpectation("box3d",!1),peg$c77="component",peg$c78=peg$literalExpectation("component",!1),peg$c79="promoter",peg$c80=peg$literalExpectation("promoter",!1),peg$c81="cds",peg$c82=peg$literalExpectation("cds",!1),peg$c83="terminator",peg$c84=peg$literalExpectation("terminator",!1),peg$c85="utr",peg$c86=peg$literalExpectation("utr",!1),peg$c87="primersite",peg$c88=peg$literalExpectation("primersite",!1),peg$c89="restrictionsite",peg$c90=peg$literalExpectation("restrictionsite",!1),peg$c91="fivepoverhang",peg$c92=peg$literalExpectation("fivepoverhang",!1),peg$c93="threepoverhang",peg$c94=peg$literalExpectation("threepoverhang",!1),peg$c95="noverhang",peg$c96=peg$literalExpectation("noverhang",!1),peg$c97="assembly",peg$c98=peg$literalExpectation("assembly",!1),peg$c99="signature",peg$c100=peg$literalExpectation("signature",!1),peg$c101="insulator",peg$c102=peg$literalExpectation("insulator",!1),peg$c103="ribosite",peg$c104=peg$literalExpectation("ribosite",!1),peg$c105="rnastab",peg$c106=peg$literalExpectation("rnastab",!1),peg$c107="proteasesite",peg$c108=peg$literalExpectation("proteasesite",!1),peg$c109="proteinstab",peg$c110=peg$literalExpectation("proteinstab",!1),peg$c111="rpromoter",peg$c112=peg$literalExpectation("rpromoter",!1),peg$c113="rarrow",peg$c114=peg$literalExpectation("rarrow",!1),peg$c115="larrow",peg$c116=peg$literalExpectation("larrow",!1),peg$c117="lpromoter",peg$c118=peg$literalExpectation("lpromoter",!1),peg$c119="record",peg$c120=peg$literalExpectation("record",!1),peg$c121=peg$otherExpectation("forward light arrow ->"),peg$c122="->",peg$c123=peg$literalExpectation("->",!1),peg$c124="→",peg$c125=peg$literalExpectation("→",!1),peg$c126=function(){return"->"},peg$c127=peg$otherExpectation("two way light arrow <->"),peg$c128="<->",peg$c129=peg$literalExpectation("<->",!1),peg$c130="↔",peg$c131=peg$literalExpectation("↔",!1),peg$c132=function(){return"<->"},peg$c133=peg$otherExpectation("back light arrow <-"),peg$c134="<-",peg$c135=peg$literalExpectation("<-",!1),peg$c136="←",peg$c137=peg$literalExpectation("←",!1),peg$c138=function(){return"<-"},peg$c139=peg$otherExpectation("forward fat arrow =>"),peg$c140="=>",peg$c141=peg$literalExpectation("=>",!1),peg$c142="⇒",peg$c143=peg$literalExpectation("⇒",!1),peg$c144=function(){return"=>"},peg$c145=peg$otherExpectation("two way fat arrow <=>"),peg$c146="<=>",peg$c147=peg$literalExpectation("<=>",!1),peg$c148="⇔",peg$c149=peg$literalExpectation("⇔",!1),peg$c150=function(){return"<=>"},peg$c151=peg$otherExpectation("back fat arrow <="),peg$c152="<=",peg$c153=peg$literalExpectation("<=",!1),peg$c154="⇐",peg$c155=peg$literalExpectation("⇐",!1),peg$c156=function(){return"<="},peg$c157=peg$otherExpectation("forward tilde arrow ~>"),peg$c158="~>",peg$c159=peg$literalExpectation("~>",!1),peg$c160="↛",peg$c161=peg$literalExpectation("↛",!1),peg$c162=function(){return"~>"},peg$c163=peg$otherExpectation("two way tilde arrow <~>"),peg$c164="<~>",peg$c165=peg$literalExpectation("<~>",!1),peg$c166="↮",peg$c167=peg$literalExpectation("↮",!1),peg$c168=function(){return"<~>"},peg$c169=peg$otherExpectation("back tilde arrow <~"),peg$c170="<~",peg$c171=peg$literalExpectation("<~",!1),peg$c172="↚",peg$c173=peg$literalExpectation("↚",!1),peg$c174=function(){return"<~"},peg$c175=peg$otherExpectation("light fat arrow <-=>"),peg$c176="<-=>",peg$c177=peg$literalExpectation("<-=>",!1),peg$c178="←⇒",peg$c179=peg$literalExpectation("←⇒",!1),peg$c180=function(){return"<-=>"},peg$c181=peg$otherExpectation("light tilde arrow <-~>"),peg$c182="<-~>",peg$c183=peg$literalExpectation("<-~>",!1),peg$c184="←↛",peg$c185=peg$literalExpectation("←↛",!1),peg$c186=function(){return"<-~>"},peg$c187=peg$otherExpectation("fat light arrow <=->"),peg$c188="<=->",peg$c189=peg$literalExpectation("<=->",!1),peg$c190="⇐→",peg$c191=peg$literalExpectation("⇐→",!1),peg$c192=function(){return"<=->"},peg$c193=peg$otherExpectation("fat tilde arrow <=~>"),peg$c194="<=~>",peg$c195=peg$literalExpectation("<=~>",!1),peg$c196="⇐↛",peg$c197=peg$literalExpectation("⇐↛",!1),peg$c198=function(){return"<=~>"},peg$c199=peg$otherExpectation("tilde light arrow <~->"),peg$c200="<~->",peg$c201=peg$literalExpectation("<~->",!1),peg$c202="↚→",peg$c203=peg$literalExpectation("↚→",!1),peg$c204=function(){return"<~->"},peg$c205=peg$otherExpectation("tilde fat arrow <~=>"),peg$c206="<~=>",peg$c207=peg$literalExpectation("<~=>",!1),peg$c208="↚⇒",peg$c209=peg$literalExpectation("↚⇒",!1),peg$c210=function(){return"<~=>"},peg$c211=peg$otherExpectation("light arrow"),peg$c212=peg$otherExpectation("fat arrow"),peg$c213=peg$otherExpectation("tilde arrow"),peg$c214=peg$otherExpectation("mixed arrow"),peg$c215=peg$otherExpectation("arrow"),peg$c216=/^[0-9a-fA-F]/,peg$c217=peg$classExpectation([["0","9"],["a","f"],["A","F"]],!1,!1),peg$c218='"',peg$c219=peg$literalExpectation('"',!1),peg$c220="\\",peg$c221=peg$literalExpectation("\\",!1),peg$c222="/",peg$c223=peg$literalExpectation("/",!1),peg$c224="b",peg$c225=peg$literalExpectation("b",!1),peg$c226=function(){return"\b"},peg$c227="f",peg$c228=peg$literalExpectation("f",!1),peg$c229=function(){return"\f"},peg$c230="n",peg$c231=peg$literalExpectation("n",!1),peg$c232=function(){return"\n"},peg$c233="r",peg$c234=peg$literalExpectation("r",!1),peg$c235=function(){return"\r"},peg$c236="t",peg$c237=peg$literalExpectation("t",!1),peg$c238=function(){return"\t"},peg$c239="v",peg$c240=peg$literalExpectation("v",!1),peg$c241=function(){return"\v"},peg$c242="u",peg$c243=peg$literalExpectation("u",!1),peg$c244=function(digits){return String.fromCharCode(parseInt(digits,16))},peg$c245=function(Sequence){return Sequence},peg$c246=/^[ -!#-[\]-\u10FFFF]/,peg$c247=peg$classExpectation([[" ","!"],["#","["],["]","ჿ"],"F","F"],!1,!1),peg$c248="'",peg$c249=peg$literalExpectation("'",!1),peg$c250=/^[ -&(-[\]-\u10FFFF]/,peg$c251=peg$classExpectation([[" ","&"],["(","["],["]","ჿ"],"F","F"],!1,!1),peg$c252=peg$otherExpectation("action label"),peg$c253=function(chars){return chars.join("")},peg$c254=/^[\n\r\u2028\u2029]/,peg$c255=peg$classExpectation(["\n","\r","\u2028","\u2029"],!1,!1),peg$c258=(peg$classExpectation([" ","\t","\n","\r","\v"],!1,!1),"*/"),peg$c259=peg$literalExpectation("*/",!1),peg$c260={type:"any"},peg$c261=peg$otherExpectation("block comment"),peg$c262="/*",peg$c263=peg$literalExpectation("/*",!1),peg$c264=peg$otherExpectation("line comment"),peg$c265="//",peg$c266=peg$literalExpectation("//",!1),peg$c267=peg$otherExpectation("whitespace"),peg$c268=/^[ \t\r\n\x0B]/,peg$c269=peg$classExpectation([" ","\t","\r","\n","\v"],!1,!1),peg$c270=peg$otherExpectation("string"),peg$c271=/^[0-9a-zA-Z.+_!$\^*!?,\x80-\uFFFF]/,peg$c272=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","_","!","$","^","*","!","?",",",["€","￿"]],!1,!1),peg$c273=/^[0-9a-zA-Z.+=_\^()*&$#@!?,\x80-\uFFFF]/,peg$c274=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","=","_","^","(",")","*","&","$","#","@","!","?",",",["€","￿"]],!1,!1),peg$c275=peg$otherExpectation("atom"),peg$c276=function(firstletter,text){return firstletter+(text||[]).join("")},peg$c277=peg$otherExpectation("label"),peg$c278="0",peg$c279=peg$literalExpectation("0",!1),peg$c280=/^[0-9]/,peg$c281=peg$classExpectation([["0","9"]],!1,!1),peg$c282=/^[1-9]/,peg$c283=peg$classExpectation([["1","9"]],!1,!1),peg$c284=peg$otherExpectation("nonneg number"),peg$c285=".",peg$c286=peg$literalExpectation(".",!1),peg$c287=function(){return parseFloat(text())},peg$c288=function(major,minor,patch){return{major:parseInt(major,10),minor:parseInt(minor,10),patch:parseInt(patch,10),full:text()}},peg$c299=(peg$literalExpectation("^",!1),peg$literalExpectation("~",!1),peg$literalExpectation(">=",!1),peg$literalExpectation("<",!1),peg$literalExpectation(">",!1),"http://"),peg$c300=peg$literalExpectation("http://",!1),peg$c301="https://",peg$c302=peg$literalExpectation("https://",!1),peg$c303=/^[a-zA-Z0-9!*'():;@&=+$,\/?#[\]_.~\-]/,peg$c304=peg$classExpectation([["a","z"],["A","Z"],["0","9"],"!","*","'","(",")",":",";","@","&","=","+","$",",","/","?","#","[","]","_",".","~","-"],!1,!1),peg$c305=function(protocol){return text()},peg$c306="aliceblue",peg$c307=peg$literalExpectation("aliceblue",!1),peg$c308=function(){return"#f0f8ffff"},peg$c309="AliceBlue",peg$c310=peg$literalExpectation("AliceBlue",!1),peg$c311="antiquewhite",peg$c312=peg$literalExpectation("antiquewhite",!1),peg$c313=function(){return"#faebd7ff"},peg$c314="AntiqueWhite",peg$c315=peg$literalExpectation("AntiqueWhite",!1),peg$c316="aqua",peg$c317=peg$literalExpectation("aqua",!1),peg$c318=function(){return"#00ffffff"},peg$c319="Aqua",peg$c320=peg$literalExpectation("Aqua",!1),peg$c321="aquamarine",peg$c322=peg$literalExpectation("aquamarine",!1),peg$c323=function(){return"#7fffd4ff"},peg$c324="Aquamarine",peg$c325=peg$literalExpectation("Aquamarine",!1),peg$c326="azure",peg$c327=peg$literalExpectation("azure",!1),peg$c328=function(){return"#f0ffffff"},peg$c329="Azure",peg$c330=peg$literalExpectation("Azure",!1),peg$c331="beige",peg$c332=peg$literalExpectation("beige",!1),peg$c333=function(){return"#f5f5dcff"},peg$c334="Beige",peg$c335=peg$literalExpectation("Beige",!1),peg$c336="bisque",peg$c337=peg$literalExpectation("bisque",!1),peg$c338=function(){return"#ffe4c4ff"},peg$c339="Bisque",peg$c340=peg$literalExpectation("Bisque",!1),peg$c341="black",peg$c342=peg$literalExpectation("black",!1),peg$c343=function(){return"#000000ff"},peg$c344="Black",peg$c345=peg$literalExpectation("Black",!1),peg$c346="blanchedalmond",peg$c347=peg$literalExpectation("blanchedalmond",!1),peg$c348=function(){return"#ffebcdff"},peg$c349="BlanchedAlmond",peg$c350=peg$literalExpectation("BlanchedAlmond",!1),peg$c351="blue",peg$c352=peg$literalExpectation("blue",!1),peg$c353=function(){return"#0000ffff"},peg$c354="Blue",peg$c355=peg$literalExpectation("Blue",!1),peg$c356="blueviolet",peg$c357=peg$literalExpectation("blueviolet",!1),peg$c358=function(){return"#8a2be2ff"},peg$c359="BlueViolet",peg$c360=peg$literalExpectation("BlueViolet",!1),peg$c361="brown",peg$c362=peg$literalExpectation("brown",!1),peg$c363=function(){return"#a52a2aff"},peg$c364="Brown",peg$c365=peg$literalExpectation("Brown",!1),peg$c366="burlywood",peg$c367=peg$literalExpectation("burlywood",!1),peg$c368=function(){return"#deb887ff"},peg$c369="BurlyWood",peg$c370=peg$literalExpectation("BurlyWood",!1),peg$c371="cadetblue",peg$c372=peg$literalExpectation("cadetblue",!1),peg$c373=function(){return"#5f9ea0ff"},peg$c374="CadetBlue",peg$c375=peg$literalExpectation("CadetBlue",!1),peg$c376="chartreuse",peg$c377=peg$literalExpectation("chartreuse",!1),peg$c378=function(){return"#7fff00ff"},peg$c379="Chartreuse",peg$c380=peg$literalExpectation("Chartreuse",!1),peg$c381="chocolate",peg$c382=peg$literalExpectation("chocolate",!1),peg$c383=function(){return"#d2691eff"},peg$c384="Chocolate",peg$c385=peg$literalExpectation("Chocolate",!1),peg$c386="coral",peg$c387=peg$literalExpectation("coral",!1),peg$c388=function(){return"#ff7f50ff"},peg$c389="Coral",peg$c390=peg$literalExpectation("Coral",!1),peg$c391="cornflowerblue",peg$c392=peg$literalExpectation("cornflowerblue",!1),peg$c393=function(){return"#6495edff"},peg$c394="CornflowerBlue",peg$c395=peg$literalExpectation("CornflowerBlue",!1),peg$c396="cornsilk",peg$c397=peg$literalExpectation("cornsilk",!1),peg$c398=function(){return"#fff8dcff"},peg$c399="Cornsilk",peg$c400=peg$literalExpectation("Cornsilk",!1),peg$c401="crimson",peg$c402=peg$literalExpectation("crimson",!1),peg$c403=function(){return"#dc143cff"},peg$c404="Crimson",peg$c405=peg$literalExpectation("Crimson",!1),peg$c406="cyan",peg$c407=peg$literalExpectation("cyan",!1),peg$c408="Cyan",peg$c409=peg$literalExpectation("Cyan",!1),peg$c410="darkblue",peg$c411=peg$literalExpectation("darkblue",!1),peg$c412=function(){return"#00008bff"},peg$c413="DarkBlue",peg$c414=peg$literalExpectation("DarkBlue",!1),peg$c415="darkcyan",peg$c416=peg$literalExpectation("darkcyan",!1),peg$c417=function(){return"#008b8bff"},peg$c418="DarkCyan",peg$c419=peg$literalExpectation("DarkCyan",!1),peg$c420="darkgoldenrod",peg$c421=peg$literalExpectation("darkgoldenrod",!1),peg$c422=function(){return"#b8860bff"},peg$c423="DarkGoldenRod",peg$c424=peg$literalExpectation("DarkGoldenRod",!1),peg$c425="darkgray",peg$c426=peg$literalExpectation("darkgray",!1),peg$c427=function(){return"#a9a9a9ff"},peg$c428="DarkGray",peg$c429=peg$literalExpectation("DarkGray",!1),peg$c430="darkgrey",peg$c431=peg$literalExpectation("darkgrey",!1),peg$c432="DarkGrey",peg$c433=peg$literalExpectation("DarkGrey",!1),peg$c434="darkgreen",peg$c435=peg$literalExpectation("darkgreen",!1),peg$c436=function(){return"#006400ff"},peg$c437="DarkGreen",peg$c438=peg$literalExpectation("DarkGreen",!1),peg$c439="darkkhaki",peg$c440=peg$literalExpectation("darkkhaki",!1),peg$c441=function(){return"#bdb76bff"},peg$c442="DarkKhaki",peg$c443=peg$literalExpectation("DarkKhaki",!1),peg$c444="darkmagenta",peg$c445=peg$literalExpectation("darkmagenta",!1),peg$c446=function(){return"#8b008bff"},peg$c447="DarkMagenta",peg$c448=peg$literalExpectation("DarkMagenta",!1),peg$c449="darkolivegreen",peg$c450=peg$literalExpectation("darkolivegreen",!1),peg$c451=function(){return"#556b2fff"},peg$c452="DarkOliveGreen",peg$c453=peg$literalExpectation("DarkOliveGreen",!1),peg$c454="darkorange",peg$c455=peg$literalExpectation("darkorange",!1),peg$c456=function(){return"#ff8c00ff"},peg$c457="Darkorange",peg$c458=peg$literalExpectation("Darkorange",!1),peg$c459="darkorchid",peg$c460=peg$literalExpectation("darkorchid",!1),peg$c461=function(){return"#9932ccff"},peg$c462="DarkOrchid",peg$c463=peg$literalExpectation("DarkOrchid",!1),peg$c464="darkred",peg$c465=peg$literalExpectation("darkred",!1),peg$c466=function(){return"#8b0000ff"},peg$c467="DarkRed",peg$c468=peg$literalExpectation("DarkRed",!1),peg$c469="darksalmon",peg$c470=peg$literalExpectation("darksalmon",!1),peg$c471=function(){return"#e9967aff"},peg$c472="DarkSalmon",peg$c473=peg$literalExpectation("DarkSalmon",!1),peg$c474="darkseagreen",peg$c475=peg$literalExpectation("darkseagreen",!1),peg$c476=function(){return"#8fbc8fff"},peg$c477="DarkSeaGreen",peg$c478=peg$literalExpectation("DarkSeaGreen",!1),peg$c479="darkslateblue",peg$c480=peg$literalExpectation("darkslateblue",!1),peg$c481=function(){return"#483d8bff"},peg$c482="DarkSlateBlue",peg$c483=peg$literalExpectation("DarkSlateBlue",!1),peg$c484="darkslategray",peg$c485=peg$literalExpectation("darkslategray",!1),peg$c486=function(){return"#2f4f4fff"},peg$c487="DarkSlateGray",peg$c488=peg$literalExpectation("DarkSlateGray",!1),peg$c489="darkslategrey",peg$c490=peg$literalExpectation("darkslategrey",!1),peg$c491="DarkSlateGrey",peg$c492=peg$literalExpectation("DarkSlateGrey",!1),peg$c493="darkturquoise",peg$c494=peg$literalExpectation("darkturquoise",!1),peg$c495=function(){return"#00ced1ff"},peg$c496="DarkTurquoise",peg$c497=peg$literalExpectation("DarkTurquoise",!1),peg$c498="darkviolet",peg$c499=peg$literalExpectation("darkviolet",!1),peg$c500=function(){return"#9400d3ff"},peg$c501="DarkViolet",peg$c502=peg$literalExpectation("DarkViolet",!1),peg$c503="deeppink",peg$c504=peg$literalExpectation("deeppink",!1),peg$c505=function(){return"#ff1493ff"},peg$c506="DeepPink",peg$c507=peg$literalExpectation("DeepPink",!1),peg$c508="deepskyblue",peg$c509=peg$literalExpectation("deepskyblue",!1),peg$c510=function(){return"#00bfffff"},peg$c511="DeepSkyBlue",peg$c512=peg$literalExpectation("DeepSkyBlue",!1),peg$c513="dimgray",peg$c514=peg$literalExpectation("dimgray",!1),peg$c515=function(){return"#696969ff"},peg$c516="DimGray",peg$c517=peg$literalExpectation("DimGray",!1),peg$c518="dimgrey",peg$c519=peg$literalExpectation("dimgrey",!1),peg$c520="DimGrey",peg$c521=peg$literalExpectation("DimGrey",!1),peg$c522="dodgerblue",peg$c523=peg$literalExpectation("dodgerblue",!1),peg$c524=function(){return"#1e90ffff"},peg$c525="DodgerBlue",peg$c526=peg$literalExpectation("DodgerBlue",!1),peg$c527="firebrick",peg$c528=peg$literalExpectation("firebrick",!1),peg$c529=function(){return"#b22222ff"},peg$c530="FireBrick",peg$c531=peg$literalExpectation("FireBrick",!1),peg$c532="floralwhite",peg$c533=peg$literalExpectation("floralwhite",!1),peg$c534=function(){return"#fffaf0ff"},peg$c535="FloralWhite",peg$c536=peg$literalExpectation("FloralWhite",!1),peg$c537="forestgreen",peg$c538=peg$literalExpectation("forestgreen",!1),peg$c539=function(){return"#228b22ff"},peg$c540="ForestGreen",peg$c541=peg$literalExpectation("ForestGreen",!1),peg$c542="fuchsia",peg$c543=peg$literalExpectation("fuchsia",!1),peg$c544=function(){return"#ff00ffff"},peg$c545="Fuchsia",peg$c546=peg$literalExpectation("Fuchsia",!1),peg$c547="gainsboro",peg$c548=peg$literalExpectation("gainsboro",!1),peg$c549=function(){return"#dcdcdcff"},peg$c550="Gainsboro",peg$c551=peg$literalExpectation("Gainsboro",!1),peg$c552="ghostwhite",peg$c553=peg$literalExpectation("ghostwhite",!1),peg$c554=function(){return"#f8f8ffff"},peg$c555="GhostWhite",peg$c556=peg$literalExpectation("GhostWhite",!1),peg$c557="gold",peg$c558=peg$literalExpectation("gold",!1),peg$c559=function(){return"#ffd700ff"},peg$c560="Gold",peg$c561=peg$literalExpectation("Gold",!1),peg$c562="goldenrod",peg$c563=peg$literalExpectation("goldenrod",!1),peg$c564=function(){return"#daa520ff"},peg$c565="GoldenRod",peg$c566=peg$literalExpectation("GoldenRod",!1),peg$c567="gray",peg$c568=peg$literalExpectation("gray",!1),peg$c569=function(){return"#808080ff"},peg$c570="Gray",peg$c571=peg$literalExpectation("Gray",!1),peg$c572="grey",peg$c573=peg$literalExpectation("grey",!1),peg$c574="Grey",peg$c575=peg$literalExpectation("Grey",!1),peg$c576="green",peg$c577=peg$literalExpectation("green",!1),peg$c578=function(){return"#008000ff"},peg$c579="Green",peg$c580=peg$literalExpectation("Green",!1),peg$c581="greenyellow",peg$c582=peg$literalExpectation("greenyellow",!1),peg$c583=function(){return"#adff2fff"},peg$c584="GreenYellow",peg$c585=peg$literalExpectation("GreenYellow",!1),peg$c586="honeydew",peg$c587=peg$literalExpectation("honeydew",!1),peg$c588=function(){return"#f0fff0ff"},peg$c589="HoneyDew",peg$c590=peg$literalExpectation("HoneyDew",!1),peg$c591="hotpink",peg$c592=peg$literalExpectation("hotpink",!1),peg$c593=function(){return"#ff69b4ff"},peg$c594="HotPink",peg$c595=peg$literalExpectation("HotPink",!1),peg$c596="indianred",peg$c597=peg$literalExpectation("indianred",!1),peg$c598=function(){return"#cd5c5cff"},peg$c599="IndianRed",peg$c600=peg$literalExpectation("IndianRed",!1),peg$c601="indigo",peg$c602=peg$literalExpectation("indigo",!1),peg$c603=function(){return"#4b0082ff"},peg$c604="Indigo",peg$c605=peg$literalExpectation("Indigo",!1),peg$c606="ivory",peg$c607=peg$literalExpectation("ivory",!1),peg$c608=function(){return"#fffff0ff"},peg$c609="Ivory",peg$c610=peg$literalExpectation("Ivory",!1),peg$c611="khaki",peg$c612=peg$literalExpectation("khaki",!1),peg$c613=function(){return"#f0e68cff"},peg$c614="Khaki",peg$c615=peg$literalExpectation("Khaki",!1),peg$c616="lavender",peg$c617=peg$literalExpectation("lavender",!1),peg$c618=function(){return"#e6e6faff"},peg$c619="Lavender",peg$c620=peg$literalExpectation("Lavender",!1),peg$c621="lavenderblush",peg$c622=peg$literalExpectation("lavenderblush",!1),peg$c623=function(){return"#fff0f5ff"},peg$c624="LavenderBlush",peg$c625=peg$literalExpectation("LavenderBlush",!1),peg$c626="lawngreen",peg$c627=peg$literalExpectation("lawngreen",!1),peg$c628=function(){return"#7cfc00ff"},peg$c629="LawnGreen",peg$c630=peg$literalExpectation("LawnGreen",!1),peg$c631="lemonchiffon",peg$c632=peg$literalExpectation("lemonchiffon",!1),peg$c633=function(){return"#fffacdff"},peg$c634="LemonChiffon",peg$c635=peg$literalExpectation("LemonChiffon",!1),peg$c636="lightblue",peg$c637=peg$literalExpectation("lightblue",!1),peg$c638=function(){return"#add8e6ff"},peg$c639="LightBlue",peg$c640=peg$literalExpectation("LightBlue",!1),peg$c641="lightcoral",peg$c642=peg$literalExpectation("lightcoral",!1),peg$c643=function(){return"#f08080ff"},peg$c644="LightCoral",peg$c645=peg$literalExpectation("LightCoral",!1),peg$c646="lightcyan",peg$c647=peg$literalExpectation("lightcyan",!1),peg$c648=function(){return"#e0ffffff"},peg$c649="LightCyan",peg$c650=peg$literalExpectation("LightCyan",!1),peg$c651="lightgoldenrodyellow",peg$c652=peg$literalExpectation("lightgoldenrodyellow",!1),peg$c653=function(){return"#fafad2ff"},peg$c654="LightGoldenRodYellow",peg$c655=peg$literalExpectation("LightGoldenRodYellow",!1),peg$c656="lightgray",peg$c657=peg$literalExpectation("lightgray",!1),peg$c658=function(){return"#d3d3d3ff"},peg$c659="LightGray",peg$c660=peg$literalExpectation("LightGray",!1),peg$c661="lightgrey",peg$c662=peg$literalExpectation("lightgrey",!1),peg$c663="LightGrey",peg$c664=peg$literalExpectation("LightGrey",!1),peg$c665="lightgreen",peg$c666=peg$literalExpectation("lightgreen",!1),peg$c667=function(){return"#90ee90ff"},peg$c668="LightGreen",peg$c669=peg$literalExpectation("LightGreen",!1),peg$c670="lightpink",peg$c671=peg$literalExpectation("lightpink",!1),peg$c672=function(){return"#ffb6c1ff"},peg$c673="LightPink",peg$c674=peg$literalExpectation("LightPink",!1),peg$c675="lightsalmon",peg$c676=peg$literalExpectation("lightsalmon",!1),peg$c677=function(){return"#ffa07aff"},peg$c678="LightSalmon",peg$c679=peg$literalExpectation("LightSalmon",!1),peg$c680="lightseagreen",peg$c681=peg$literalExpectation("lightseagreen",!1),peg$c682=function(){return"#20b2aaff"},peg$c683="LightSeaGreen",peg$c684=peg$literalExpectation("LightSeaGreen",!1),peg$c685="lightskyblue",peg$c686=peg$literalExpectation("lightskyblue",!1),peg$c687=function(){return"#87cefaff"},peg$c688="LightSkyBlue",peg$c689=peg$literalExpectation("LightSkyBlue",!1),peg$c690="lightslategray",peg$c691=peg$literalExpectation("lightslategray",!1),peg$c692=function(){return"#778899ff"},peg$c693="LightSlateGray",peg$c694=peg$literalExpectation("LightSlateGray",!1),peg$c695="lightslategrey",peg$c696=peg$literalExpectation("lightslategrey",!1),peg$c697="LightSlateGrey",peg$c698=peg$literalExpectation("LightSlateGrey",!1),peg$c699="lightsteelblue",peg$c700=peg$literalExpectation("lightsteelblue",!1),peg$c701=function(){return"#b0c4deff"},peg$c702="LightSteelBlue",peg$c703=peg$literalExpectation("LightSteelBlue",!1),peg$c704="lightyellow",peg$c705=peg$literalExpectation("lightyellow",!1),peg$c706=function(){return"#ffffe0ff"},peg$c707="LightYellow",peg$c708=peg$literalExpectation("LightYellow",!1),peg$c709="lime",peg$c710=peg$literalExpectation("lime",!1),peg$c711=function(){return"#00ff00ff"},peg$c712="Lime",peg$c713=peg$literalExpectation("Lime",!1),peg$c714="limegreen",peg$c715=peg$literalExpectation("limegreen",!1),peg$c716=function(){return"#32cd32ff"},peg$c717="LimeGreen",peg$c718=peg$literalExpectation("LimeGreen",!1),peg$c719="linen",peg$c720=peg$literalExpectation("linen",!1),peg$c721=function(){return"#faf0e6ff"},peg$c722="Linen",peg$c723=peg$literalExpectation("Linen",!1),peg$c724="magenta",peg$c725=peg$literalExpectation("magenta",!1),peg$c726="Magenta",peg$c727=peg$literalExpectation("Magenta",!1),peg$c728="maroon",peg$c729=peg$literalExpectation("maroon",!1),peg$c730=function(){return"#800000ff"},peg$c731="Maroon",peg$c732=peg$literalExpectation("Maroon",!1),peg$c733="mediumaquamarine",peg$c734=peg$literalExpectation("mediumaquamarine",!1),peg$c735=function(){return"#66cdaaff"},peg$c736="MediumAquaMarine",peg$c737=peg$literalExpectation("MediumAquaMarine",!1),peg$c738="mediumblue",peg$c739=peg$literalExpectation("mediumblue",!1),peg$c740=function(){return"#0000cdff"},peg$c741="MediumBlue",peg$c742=peg$literalExpectation("MediumBlue",!1),peg$c743="mediumorchid",peg$c744=peg$literalExpectation("mediumorchid",!1),peg$c745=function(){return"#ba55d3ff"},peg$c746="MediumOrchid",peg$c747=peg$literalExpectation("MediumOrchid",!1),peg$c748="mediumpurple",peg$c749=peg$literalExpectation("mediumpurple",!1),peg$c750=function(){return"#9370d8ff"},peg$c751="MediumPurple",peg$c752=peg$literalExpectation("MediumPurple",!1),peg$c753="mediumseagreen",peg$c754=peg$literalExpectation("mediumseagreen",!1),peg$c755=function(){return"#3cb371ff"},peg$c756="MediumSeaGreen",peg$c757=peg$literalExpectation("MediumSeaGreen",!1),peg$c758="mediumslateblue",peg$c759=peg$literalExpectation("mediumslateblue",!1),peg$c760=function(){return"#7b68eeff"},peg$c761="MediumSlateBlue",peg$c762=peg$literalExpectation("MediumSlateBlue",!1),peg$c763="mediumspringgreen",peg$c764=peg$literalExpectation("mediumspringgreen",!1),peg$c765=function(){return"#00fa9aff"},peg$c766="MediumSpringGreen",peg$c767=peg$literalExpectation("MediumSpringGreen",!1),peg$c768="mediumturquoise",peg$c769=peg$literalExpectation("mediumturquoise",!1),peg$c770=function(){return"#48d1ccff"},peg$c771="MediumTurquoise",peg$c772=peg$literalExpectation("MediumTurquoise",!1),peg$c773="mediumvioletred",peg$c774=peg$literalExpectation("mediumvioletred",!1),peg$c775=function(){return"#c71585ff"},peg$c776="MediumVioletRed",peg$c777=peg$literalExpectation("MediumVioletRed",!1),peg$c778="midnightblue",peg$c779=peg$literalExpectation("midnightblue",!1),peg$c780=function(){return"#191970ff"},peg$c781="MidnightBlue",peg$c782=peg$literalExpectation("MidnightBlue",!1),peg$c783="mintcream",peg$c784=peg$literalExpectation("mintcream",!1),peg$c785=function(){return"#f5fffaff"},peg$c786="MintCream",peg$c787=peg$literalExpectation("MintCream",!1),peg$c788="mistyrose",peg$c789=peg$literalExpectation("mistyrose",!1),peg$c790=function(){return"#ffe4e1ff"},peg$c791="MistyRose",peg$c792=peg$literalExpectation("MistyRose",!1),peg$c793="moccasin",peg$c794=peg$literalExpectation("moccasin",!1),peg$c795=function(){return"#ffe4b5ff"},peg$c796="Moccasin",peg$c797=peg$literalExpectation("Moccasin",!1),peg$c798="navajowhite",peg$c799=peg$literalExpectation("navajowhite",!1),peg$c800=function(){return"#ffdeadff"},peg$c801="NavajoWhite",peg$c802=peg$literalExpectation("NavajoWhite",!1),peg$c803="navy",peg$c804=peg$literalExpectation("navy",!1),peg$c805=function(){return"#000080ff"},peg$c806="Navy",peg$c807=peg$literalExpectation("Navy",!1),peg$c808="oldlace",peg$c809=peg$literalExpectation("oldlace",!1),peg$c810=function(){return"#fdf5e6ff"},peg$c811="OldLace",peg$c812=peg$literalExpectation("OldLace",!1),peg$c813="olive",peg$c814=peg$literalExpectation("olive",!1),peg$c815=function(){return"#808000ff"},peg$c816="Olive",peg$c817=peg$literalExpectation("Olive",!1),peg$c818="olivedrab",peg$c819=peg$literalExpectation("olivedrab",!1),peg$c820=function(){return"#6b8e23ff"},peg$c821="OliveDrab",peg$c822=peg$literalExpectation("OliveDrab",!1),peg$c823="orange",peg$c824=peg$literalExpectation("orange",!1),peg$c825=function(){return"#ffa500ff"},peg$c826="Orange",peg$c827=peg$literalExpectation("Orange",!1),peg$c828="orangered",peg$c829=peg$literalExpectation("orangered",!1),peg$c830=function(){return"#ff4500ff"},peg$c831="OrangeRed",peg$c832=peg$literalExpectation("OrangeRed",!1),peg$c833="orchid",peg$c834=peg$literalExpectation("orchid",!1),peg$c835=function(){return"#da70d6ff"},peg$c836="Orchid",peg$c837=peg$literalExpectation("Orchid",!1),peg$c838="palegoldenrod",peg$c839=peg$literalExpectation("palegoldenrod",!1),peg$c840=function(){return"#eee8aaff"},peg$c841="PaleGoldenRod",peg$c842=peg$literalExpectation("PaleGoldenRod",!1),peg$c843="palegreen",peg$c844=peg$literalExpectation("palegreen",!1),peg$c845=function(){return"#98fb98ff"},peg$c846="PaleGreen",peg$c847=peg$literalExpectation("PaleGreen",!1),peg$c848="paleturquoise",peg$c849=peg$literalExpectation("paleturquoise",!1),peg$c850=function(){return"#afeeeeff"},peg$c851="PaleTurquoise",peg$c852=peg$literalExpectation("PaleTurquoise",!1),peg$c853="palevioletred",peg$c854=peg$literalExpectation("palevioletred",!1),peg$c855=function(){return"#d87093ff"},peg$c856="PaleVioletRed",peg$c857=peg$literalExpectation("PaleVioletRed",!1),peg$c858="papayawhip",peg$c859=peg$literalExpectation("papayawhip",!1),peg$c860=function(){return"#ffefd5ff"},peg$c861="PapayaWhip",peg$c862=peg$literalExpectation("PapayaWhip",!1),peg$c863="peachpuff",peg$c864=peg$literalExpectation("peachpuff",!1),peg$c865=function(){return"#ffdab9ff"},peg$c866="PeachPuff",peg$c867=peg$literalExpectation("PeachPuff",!1),peg$c868="peru",peg$c869=peg$literalExpectation("peru",!1),peg$c870=function(){return"#cd853fff"},peg$c871="Peru",peg$c872=peg$literalExpectation("Peru",!1),peg$c873="pink",peg$c874=peg$literalExpectation("pink",!1),peg$c875=function(){return"#ffc0cbff"},peg$c876="Pink",peg$c877=peg$literalExpectation("Pink",!1),peg$c878="plum",peg$c879=peg$literalExpectation("plum",!1),peg$c880=function(){return"#dda0ddff"},peg$c881="Plum",peg$c882=peg$literalExpectation("Plum",!1),peg$c883="powderblue",peg$c884=peg$literalExpectation("powderblue",!1),peg$c885=function(){return"#b0e0e6ff"},peg$c886="PowderBlue",peg$c887=peg$literalExpectation("PowderBlue",!1),peg$c888="purple",peg$c889=peg$literalExpectation("purple",!1),peg$c890=function(){return"#800080ff"},peg$c891="Purple",peg$c892=peg$literalExpectation("Purple",!1),peg$c893="red",peg$c894=peg$literalExpectation("red",!1),peg$c895=function(){return"#ff0000ff"},peg$c896="Red",peg$c897=peg$literalExpectation("Red",!1),peg$c898="rosybrown",peg$c899=peg$literalExpectation("rosybrown",!1),peg$c900=function(){return"#bc8f8fff"},peg$c901="RosyBrown",peg$c902=peg$literalExpectation("RosyBrown",!1),peg$c903="royalblue",peg$c904=peg$literalExpectation("royalblue",!1),peg$c905=function(){return"#4169e1ff"},peg$c906="RoyalBlue",peg$c907=peg$literalExpectation("RoyalBlue",!1),peg$c908="saddlebrown",peg$c909=peg$literalExpectation("saddlebrown",!1),peg$c910=function(){return"#8b4513ff"},peg$c911="SaddleBrown",peg$c912=peg$literalExpectation("SaddleBrown",!1),peg$c913="salmon",peg$c914=peg$literalExpectation("salmon",!1),peg$c915=function(){return"#fa8072ff"},peg$c916="Salmon",peg$c917=peg$literalExpectation("Salmon",!1),peg$c918="sandybrown",peg$c919=peg$literalExpectation("sandybrown",!1),peg$c920=function(){return"#f4a460ff"},peg$c921="SandyBrown",peg$c922=peg$literalExpectation("SandyBrown",!1),peg$c923="seagreen",peg$c924=peg$literalExpectation("seagreen",!1),peg$c925=function(){return"#2e8b57ff"},peg$c926="SeaGreen",peg$c927=peg$literalExpectation("SeaGreen",!1),peg$c928="seashell",peg$c929=peg$literalExpectation("seashell",!1),peg$c930=function(){return"#fff5eeff"},peg$c931="SeaShell",peg$c932=peg$literalExpectation("SeaShell",!1),peg$c933="sienna",peg$c934=peg$literalExpectation("sienna",!1),peg$c935=function(){return"#a0522dff"},peg$c936="Sienna",peg$c937=peg$literalExpectation("Sienna",!1),peg$c938="silver",peg$c939=peg$literalExpectation("silver",!1),peg$c940=function(){return"#c0c0c0ff"},peg$c941="Silver",peg$c942=peg$literalExpectation("Silver",!1),peg$c943="skyblue",peg$c944=peg$literalExpectation("skyblue",!1),peg$c945=function(){return"#87ceebff"},peg$c946="SkyBlue",peg$c947=peg$literalExpectation("SkyBlue",!1),peg$c948="slateblue",peg$c949=peg$literalExpectation("slateblue",!1),peg$c950=function(){return"#6a5acdff"},peg$c951="SlateBlue",peg$c952=peg$literalExpectation("SlateBlue",!1),peg$c953="slategray",peg$c954=peg$literalExpectation("slategray",!1),peg$c955=function(){return"#708090ff"},peg$c956="SlateGray",peg$c957=peg$literalExpectation("SlateGray",!1),peg$c958="slategrey",peg$c959=peg$literalExpectation("slategrey",!1),peg$c960="SlateGrey",peg$c961=peg$literalExpectation("SlateGrey",!1),peg$c962="snow",peg$c963=peg$literalExpectation("snow",!1),peg$c964=function(){return"#fffafaff"},peg$c965="Snow",peg$c966=peg$literalExpectation("Snow",!1),peg$c967="springgreen",peg$c968=peg$literalExpectation("springgreen",!1),peg$c969=function(){return"#00ff7fff"},peg$c970="SpringGreen",peg$c971=peg$literalExpectation("SpringGreen",!1),peg$c972="steelblue",peg$c973=peg$literalExpectation("steelblue",!1),peg$c974=function(){return"#4682b4ff"},peg$c975="SteelBlue",peg$c976=peg$literalExpectation("SteelBlue",!1),peg$c977="tan",peg$c978=peg$literalExpectation("tan",!1),peg$c979=function(){return"#d2b48cff"},peg$c980="Tan",peg$c981=peg$literalExpectation("Tan",!1),peg$c982="teal",peg$c983=peg$literalExpectation("teal",!1),peg$c984=function(){return"#008080ff"},peg$c985="Teal",peg$c986=peg$literalExpectation("Teal",!1),peg$c987="thistle",peg$c988=peg$literalExpectation("thistle",!1),peg$c989=function(){return"#d8bfd8ff"},peg$c990="Thistle",peg$c991=peg$literalExpectation("Thistle",!1),peg$c992="tomato",peg$c993=peg$literalExpectation("tomato",!1),peg$c994=function(){return"#ff6347ff"},peg$c995="Tomato",peg$c996=peg$literalExpectation("Tomato",!1),peg$c997="turquoise",peg$c998=peg$literalExpectation("turquoise",!1),peg$c999=function(){return"#40e0d0ff"},peg$c1000="Turquoise",peg$c1001=peg$literalExpectation("Turquoise",!1),peg$c1002="violet",peg$c1003=peg$literalExpectation("violet",!1),peg$c1004=function(){return"#ee82eeff"},peg$c1005="Violet",peg$c1006=peg$literalExpectation("Violet",!1),peg$c1007="wheat",peg$c1008=peg$literalExpectation("wheat",!1),peg$c1009=function(){return"#f5deb3ff"},peg$c1010="Wheat",peg$c1011=peg$literalExpectation("Wheat",!1),peg$c1012="white",peg$c1013=peg$literalExpectation("white",!1),peg$c1014=function(){return"#ffffffff"},peg$c1015="White",peg$c1016=peg$literalExpectation("White",!1),peg$c1017="whitesmoke",peg$c1018=peg$literalExpectation("whitesmoke",!1),peg$c1019=function(){return"#f5f5f5ff"},peg$c1020="WhiteSmoke",peg$c1021=peg$literalExpectation("WhiteSmoke",!1),peg$c1022="yellow",peg$c1023=peg$literalExpectation("yellow",!1),peg$c1024=function(){return"#ffff00ff"},peg$c1025="Yellow",peg$c1026=peg$literalExpectation("Yellow",!1),peg$c1027="yellowgreen",peg$c1028=peg$literalExpectation("yellowgreen",!1),peg$c1029=function(){return"#9acd32ff"},peg$c1030="YellowGreen",peg$c1031=peg$literalExpectation("YellowGreen",!1),peg$c1032=function(lab){return lab},peg$c1033="#",peg$c1034=peg$literalExpectation("#",!1),peg$c1035=function(r,g,b){return""+r+r+g+g+b+b+"ff"},peg$c1036=function(r1,r2,g1,g2,b1,b2){return""+r1+r2+g1+g2+b1+b2+"ff"},peg$c1037=function(r,g,b,a){return""+r+r+g+g+b+b+a+a},peg$c1038=function(r1,r2,g1,g2,b1,b2,a1,a2){return""+r1+r2+g1+g2+b1+b2+a1+a2},peg$c1039=peg$otherExpectation("color"),peg$c1040="arc_label",peg$c1041=peg$literalExpectation("arc_label",!1),peg$c1042="head_label",peg$c1043=peg$literalExpectation("head_label",!1),peg$c1044="tail_label",peg$c1045=peg$literalExpectation("tail_label",!1),peg$c1046=":",peg$c1047=peg$literalExpectation(":",!1),peg$c1048=";",peg$c1049=peg$literalExpectation(";",!1),peg$c1050=function(key,value){return{key:key,value:value}},peg$c1051=peg$otherExpectation("single edge color"),peg$c1052="edge_color",peg$c1053=peg$literalExpectation("edge_color",!1),peg$c1054=function(value){return{key:"single_edge_color",value:value}},peg$c1055="{",peg$c1056=peg$literalExpectation("{",!1),peg$c1057="}",peg$c1058=peg$literalExpectation("}",!1),peg$c1059=function(items){return items},peg$c1060="%",peg$c1061=peg$literalExpectation("%",!1),peg$c1062=function(value){return{key:"arrow probability",value:value}},peg$c1063="[",peg$c1064=peg$literalExpectation("[",!1),peg$c1065="]",peg$c1066=peg$literalExpectation("]",!1),peg$c1067=function(names){return names.map(function(i){return i[0]})},peg$c1068=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$c1069=function(label,se){var base={key:"transition",from:label};return se&&se!==[]&&(base.se=se),base},peg$c1070="whargarbl",peg$c1071=peg$literalExpectation("whargarbl",!1),peg$c1072="todo",peg$c1073=peg$literalExpectation("todo",!1),peg$c1074=function(validationkey,value){return{key:validationkey,value:value}},peg$c1075="validation",peg$c1076=peg$literalExpectation("validation",!1),peg$c1077="};",peg$c1078=peg$literalExpectation("};",!1),peg$c1079=function(validation_items){return{config_kind:"validation",config_items:validation_items||[]}},peg$c1080="dot",peg$c1081=peg$literalExpectation("dot",!1),peg$c1082="circo",peg$c1083=peg$literalExpectation("circo",!1),peg$c1084="fdp",peg$c1085=peg$literalExpectation("fdp",!1),peg$c1086="neato",peg$c1087=peg$literalExpectation("neato",!1),peg$c1088="in_shape",peg$c1089=peg$literalExpectation("in_shape",!1),peg$c1090="out_shape",peg$c1091=peg$literalExpectation("out_shape",!1),peg$c1092="node_shape",peg$c1093=peg$literalExpectation("node_shape",!1),peg$c1094="state",peg$c1095=peg$literalExpectation("state",!1),peg$c1096=function(state_items){return{config_kind:"state",config_items:state_items||[]}},peg$c1097=function(actionkey,value){return{key:actionkey,value:value}},peg$c1098="action",peg$c1099=peg$literalExpectation("action",!1),peg$c1100=function(action_items){return{config_kind:"action",config_items:action_items||[]}},peg$c1101=function(transitionkey,value){return{key:transitionkey,value:value}},peg$c1102=peg$otherExpectation("graph default edge color"),peg$c1103=function(value){return{key:"graph_default_edge_color",value:value}},peg$c1104="transition",peg$c1105=peg$literalExpectation("transition",!1),peg$c1106=function(transition_items){return{config_kind:"transition",config_items:transition_items||[]}},peg$c1107="graph_layout",peg$c1108=peg$literalExpectation("graph_layout",!1),peg$c1109=function(value){return{key:"graph_layout",value:value}},peg$c1110="start_states",peg$c1111=peg$literalExpectation("start_states",!1),peg$c1112=function(value){return{key:"start_states",value:value}},peg$c1113="end_states",peg$c1114=peg$literalExpectation("end_states",!1),peg$c1115=function(value){return{key:"end_states",value:value}},peg$c1116="graph_bg_color",peg$c1117=peg$literalExpectation("graph_bg_color",!1),peg$c1118=function(value){return{key:"graph_bg_color",value:value}},peg$c1119=peg$otherExpectation("configuration"),peg$c1120="MIT",peg$c1121=peg$literalExpectation("MIT",!1),peg$c1122="BSD 2-clause",peg$c1123=peg$literalExpectation("BSD 2-clause",!1),peg$c1124="BSD 3-clause",peg$c1125=peg$literalExpectation("BSD 3-clause",!1),peg$c1126="Apache 2.0",peg$c1127=peg$literalExpectation("Apache 2.0",!1),peg$c1128="Mozilla 2.0",peg$c1129=peg$literalExpectation("Mozilla 2.0",!1),peg$c1130="Public domain",peg$c1131=peg$literalExpectation("Public domain",!1),peg$c1132="GPL v2",peg$c1133=peg$literalExpectation("GPL v2",!1),peg$c1134="GPL v3",peg$c1135=peg$literalExpectation("GPL v3",!1),peg$c1136="LGPL v2.1",peg$c1137=peg$literalExpectation("LGPL v2.1",!1),peg$c1138="LGPL v3.0",peg$c1139=peg$literalExpectation("LGPL v3.0",!1),peg$c1140="Unknown",peg$c1141=peg$literalExpectation("Unknown",!1),peg$c1142="machine_author",peg$c1143=peg$literalExpectation("machine_author",!1),peg$c1144=function(author){return{key:"machine_author",value:author}},peg$c1145="machine_contributor",peg$c1146=peg$literalExpectation("machine_contributor",!1),peg$c1147=function(contributor){return{key:"machine_contributor",value:contributor}},peg$c1148="machine_comment",peg$c1149=peg$literalExpectation("machine_comment",!1),peg$c1150=function(comment){return{key:"machine_comment",value:comment}},peg$c1151="machine_definition",peg$c1152=peg$literalExpectation("machine_definition",!1),peg$c1153=function(definition){return{key:"machine_definition",value:definition}},peg$c1154="machine_name",peg$c1155=peg$literalExpectation("machine_name",!1),peg$c1156=function(name){return{key:"machine_name",value:name}},peg$c1160=(peg$literalExpectation("machine_reference",!1),"machine_version"),peg$c1161=peg$literalExpectation("machine_version",!1),peg$c1162=function(version){return{key:"machine_version",value:version}},peg$c1163="machine_license",peg$c1164=peg$literalExpectation("machine_license",!1),peg$c1165=function(license){return{key:"machine_license",value:license}},peg$c1166="machine_language",peg$c1167=peg$literalExpectation("machine_language",!1),peg$c1168=function(language){return{key:"machine_language",value:language}},peg$c1169="fsl_version",peg$c1170=peg$literalExpectation("fsl_version",!1),peg$c1171=function(fsl_version){return{key:"fsl_version",value:fsl_version}},peg$c1172=peg$otherExpectation("machine attribute"),peg$c1173=peg$otherExpectation("node color"),peg$c1174="node_color",peg$c1175=peg$literalExpectation("node_color",!1),peg$c1176=function(value){return{key:"node_color",value:value}},peg$c1177=peg$otherExpectation("node shape"),peg$c1178=function(value){return{key:"node_shape",value:value}},peg$c1179=function(state_name,decl_desc){return{key:"state_declaration",name:state_name,value:decl_desc}},peg$c1180="&",peg$c1181=peg$literalExpectation("&",!1),peg$c1182=function(list_name,contents){return{key:"named_list",name:list_name,value:contents}},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,opts,prob_prop,extract){return histograph(weighted_sample_select(n,opts,prob_prop).map(function(s){return s[extract]}))},exports.weighted_rand_select=weighted_rand_select,exports.weighted_sample_select=weighted_sample_select},{}],3:[function(require,module,exports){var reductions=require("./reductions.json");module.exports={reduce:function(from){return reductions[(from||"").toLowerCase()]},reductions:reductions}},{"./reductions.json":4}],4:[function(require,module,exports){module.exports={abkhazian:"ab","аҧсуа бызшәа, аҧсшәа":"ab",ab:"ab",abk:"ab","аҧсуа бызшәа":"ab","аҧсшәа":"ab",afar:"aa",afaraf:"aa",aa:"aa",aar:"aa",afrikaans:"af",af:"af",afr:"af",akan:"ak",ak:"ak",aka:"ak","aka + 2":"ak",albanian:"sq",shqip:"sq",sq:"sq",sqi:"sq",alb:"sq","sqi + 4":"sq",amharic:"am","አማርኛ":"am",am:"am",amh:"am",arabic:"ar","العربية":"ar",ar:"ar",ara:"ar","ara + 30":"ar",aragonese:"an","aragonés":"an",an:"an",arg:"an",armenian:"hy","հայերեն":"hy",hy:"hy",hye:"hy",arm:"hy",assamese:"as","অসমীয়া":"as",as:"as",asm:"as",avaric:"av","авар мацӏ, магӏарул мацӏ":"av",av:"av",ava:"av","авар мацӏ":"av","магӏарул мацӏ":"av",avestan:"ae",avesta:"ae",ae:"ae",ave:"ae",aymara:"ay","aymar aru":"ay",ay:"ay",aym:"ay","aym + 2":"ay",azerbaijani:"az","azərbaycan dili":"az",az:"az",aze:"az","aze + 2":"az",bambara:"bm",bamanankan:"bm",bm:"bm",bam:"bm",bashkir:"ba","башҡорт теле":"ba",ba:"ba",bak:"ba",basque:"eu","euskara, euskera":"eu",eu:"eu",eus:"eu",baq:"eu",euskara:"eu",euskera:"eu",belarusian:"be","беларуская мова":"be",be:"be",bel:"be",bengali:"bn","বাংলা":"bn",bn:"bn",ben:"bn","bihari languages":"bh","भोजपुरी":"bh",bh:"bh",bih:"bh","":"bh",bislama:"bi",bi:"bi",bis:"bi",bosnian:"bs","bosanski jezik":"bs",bs:"bs",bos:"bs",breton:"br",brezhoneg:"br",br:"br",bre:"br",bulgarian:"bg","български език":"bg",bg:"bg",bul:"bg",burmese:"my","ဗမာစာ":"my",my:"my",mya:"my",bur:"my","catalan, valencian":"ca","català, valencià":"ca",ca:"ca",cat:"ca","català":"ca","valencià":"ca",chamorro:"ch",chamoru:"ch",ch:"ch",cha:"ch",chechen:"ce","нохчийн мотт":"ce",ce:"ce",che:"ce","chichewa, chewa, nyanja":"ny","chicheŵa, chinyanja":"ny",ny:"ny",nya:"ny","chicheŵa":"ny",chinyanja:"ny",chinese:"zh","中文 (zhōngwén), 汉语, 漢語":"zh",zh:"zh",zho:"zh",chi:"zh","zho + 13":"zh","中文 (zhōngwén)":"zh","汉语":"zh","漢語":"zh",chuvash:"cv","чӑваш чӗлхи":"cv",cv:"cv",chv:"cv",cornish:"kw",kernewek:"kw",kw:"kw",cor:"kw",corsican:"co","corsu, lingua corsa":"co",co:"co",cos:"co",corsu:"co","lingua corsa":"co",cree:"cr","ᓀᐦᐃᔭᐍᐏᐣ":"cr",cr:"cr",cre:"cr","cre + 6":"cr",croatian:"hr","hrvatski jezik":"hr",hr:"hr",hrv:"hr",czech:"cs","čeština, český jazyk":"cs",cs:"cs",ces:"cs",cze:"cs","čeština":"cs","český jazyk":"cs",danish:"da",dansk:"da",da:"da",dan:"da","divehi, dhivehi, maldivian":"dv","ދިވެހި":"dv",dv:"dv",div:"dv","dutch, flemish":"nl","nederlands, vlaams":"nl",nl:"nl",nld:"nl",dut:"nl",nederlands:"nl",vlaams:"nl",dzongkha:"dz","རྫོང་ཁ":"dz",dz:"dz",dzo:"dz",english:"en",en:"en",eng:"en",esperanto:"eo",eo:"eo",epo:"eo",estonian:"et","eesti, eesti keel":"et",et:"et",est:"et","est + 2":"et",eesti:"et","eesti keel":"et",ewe:"ee","eʋegbe":"ee",ee:"ee",faroese:"fo","føroyskt":"fo",fo:"fo",fao:"fo",fijian:"fj","vosa vakaviti":"fj",fj:"fj",fij:"fj",finnish:"fi","suomi, suomen kieli":"fi",fi:"fi",fin:"fi",suomi:"fi","suomen kieli":"fi",french:"fr","français, langue française":"fr",fr:"fr",fra:"fr",fre:"fr","français":"fr","langue française":"fr",fulah:"ff","fulfulde, pulaar, pular":"ff",ff:"ff",ful:"ff","ful + 9":"ff",fulfulde:"ff",pulaar:"ff",pular:"ff",galician:"gl",galego:"gl",gl:"gl",glg:"gl",georgian:"ka","ქართული":"ka",ka:"ka",kat:"ka",geo:"ka",german:"de",deutsch:"de",de:"de",deu:"de",ger:"de","greek (modern)":"el","ελληνικά":"el",el:"el",ell:"el",gre:"el","guaraní":"gn","avañe'ẽ":"gn",gn:"gn",grn:"gn","grn + 5":"gn",gujarati:"gu","ગુજરાતી":"gu",gu:"gu",guj:"gu","haitian, haitian creole":"ht","kreyòl ayisyen":"ht",ht:"ht",hat:"ht",hausa:"ha","(hausa) هَوُسَ":"ha",ha:"ha",hau:"ha","hebrew (modern)":"he","עברית":"he",he:"he",heb:"he",herero:"hz",otjiherero:"hz",hz:"hz",her:"hz",hindi:"hi","हिन्दी, हिंदी":"hi",hi:"hi",hin:"hi","हिन्दी":"hi","हिंदी":"hi","hiri motu":"ho",ho:"ho",hmo:"ho",hungarian:"hu",magyar:"hu",hu:"hu",hun:"hu",interlingua:"ia",ia:"ia",ina:"ia",indonesian:"id","bahasa indonesia":"id",id:"id",ind:"id",interlingue:"ie","originally called occidental; then interlingue after wwii":"ie",ie:"ie",ile:"ie",irish:"ga",gaeilge:"ga",ga:"ga",gle:"ga",igbo:"ig","asụsụ igbo":"ig",ig:"ig",ibo:"ig",inupiaq:"ik","iñupiaq, iñupiatun":"ik",ik:"ik",ipk:"ik","ipk + 2":"ik","iñupiaq":"ik","iñupiatun":"ik",ido:"io",io:"io",icelandic:"is","íslenska":"is",is:"is",isl:"is",ice:"is",italian:"it",italiano:"it",it:"it",ita:"it",inuktitut:"iu","ᐃᓄᒃᑎᑐᑦ":"iu",iu:"iu",iku:"iu","iku + 2":"iu",japanese:"ja","日本語 (にほんご)":"ja",ja:"ja",jpn:"ja",javanese:"jv","ꦧꦱꦗꦮ, basa jawa":"jv",jv:"jv",jav:"jv","ꦧꦱꦗꦮ":"jv","basa jawa":"jv","kalaallisut, greenlandic":"kl","kalaallisut, kalaallit oqaasii":"kl",kl:"kl",kal:"kl",kalaallisut:"kl","kalaallit oqaasii":"kl",kannada:"kn","ಕನ್ನಡ":"kn",kn:"kn",kan:"kn",kanuri:"kr",kr:"kr",kau:"kr","kau + 3":"kr",kashmiri:"ks","कश्मीरी, كشميري‎":"ks",ks:"ks",kas:"ks","कश्मीरी":"ks","كشميري‎":"ks",kazakh:"kk","қазақ тілі":"kk",kk:"kk",kaz:"kk","central khmer":"km","ខ្មែរ, ខេមរភាសា, ភាសាខ្មែរ":"km",km:"km",khm:"km","ខ្មែរ":"km","ខេមរភាសា":"km","ភាសាខ្មែរ":"km","kikuyu, gikuyu":"ki","gĩkũyũ":"ki",ki:"ki",kik:"ki",kinyarwanda:"rw",ikinyarwanda:"rw",rw:"rw",kin:"rw","kirghiz, kyrgyz":"ky","кыргызча, кыргыз тили":"ky",ky:"ky",kir:"ky","кыргызча":"ky","кыргыз тили":"ky",komi:"kv","коми кыв":"kv",kv:"kv",kom:"kv","kom + 2":"kv",kongo:"kg",kikongo:"kg",kg:"kg",kon:"kg","kon + 3":"kg",korean:"ko","한국어":"ko",ko:"ko",kor:"ko",kurdish:"ku","kurdî, كوردی‎":"ku",ku:"ku",kur:"ku","kur + 3":"ku","kurdî":"ku","كوردی‎":"ku","kuanyama, kwanyama":"kj",kuanyama:"kj",kj:"kj",kua:"kj",latin:"la","latine, lingua latina":"la",la:"la",lat:"la",latine:"la","lingua latina":"la","luxembourgish, letzeburgesch":"lb","lëtzebuergesch":"lb",lb:"lb",ltz:"lb",ganda:"lg",luganda:"lg",lg:"lg",lug:"lg","limburgan, limburger, limburgish":"li",limburgs:"li",li:"li",lim:"li",lingala:"ln","lingála":"ln",ln:"ln",lin:"ln",lao:"lo","ພາສາລາວ":"lo",lo:"lo",lithuanian:"lt","lietuvių kalba":"lt",lt:"lt",lit:"lt","luba-katanga":"lu",kiluba:"lu",lu:"lu",lub:"lu",latvian:"lv","latviešu valoda":"lv",lv:"lv",lav:"lv","lav + 2":"lv",manx:"gv","gaelg, gailck":"gv",gv:"gv",glv:"gv",gaelg:"gv",gailck:"gv",macedonian:"mk","македонски јазик":"mk",mk:"mk",mkd:"mk",mac:"mk",malagasy:"mg","fiteny malagasy":"mg",mg:"mg",mlg:"mg","mlg + 10":"mg",malay:"ms","bahasa melayu, بهاس ملايو‎":"ms",ms:"ms",msa:"ms",may:"ms","msa + 13":"ms","bahasa melayu":"ms","بهاس ملايو‎":"ms",malayalam:"ml","മലയാളം":"ml",ml:"ml",mal:"ml",maltese:"mt",malti:"mt",mt:"mt",mlt:"mt",maori:"mi","te reo māori":"mi",mi:"mi",mri:"mi",mao:"mi",marathi:"mr","मराठी":"mr",mr:"mr",mar:"mr",marshallese:"mh","kajin m̧ajeļ":"mh",mh:"mh",mah:"mh",mongolian:"mn","монгол хэл":"mn",mn:"mn",mon:"mn","mon + 2":"mn",nauru:"na","dorerin naoero":"na",na:"na",nau:"na","navajo, navaho":"nv","diné bizaad":"nv",nv:"nv",nav:"nv","north ndebele":"nd",isindebele:"nr",nd:"nd",nde:"nd",nepali:"ne","नेपाली":"ne",ne:"ne",nep:"ne",ndonga:"ng",owambo:"ng",ng:"ng",ndo:"ng","norwegian bokmål":"nb","norsk bokmål":"nb",nb:"nb",nob:"nb","norwegian nynorsk":"nn","norsk nynorsk":"nn",nn:"nn",nno:"nn",norwegian:"no",norsk:"no",no:"no",nor:"no","nor + 2":"no","sichuan yi, nuosu":"ii","ꆈꌠ꒿ nuosuhxop":"ii",ii:"ii",iii:"ii","south ndebele":"nr",nr:"nr",nbl:"nr",occitan:"oc","occitan, lenga d'òc":"oc",oc:"oc",oci:"oc","lenga d'òc":"oc",ojibwa:"oj","ᐊᓂᔑᓈᐯᒧᐎᓐ":"oj",oj:"oj",oji:"oj","oji + 7":"oj","church slavic, church slavonic, old church slavonic, old slavonic, old bulgarian":"cu","ѩзыкъ словѣньскъ":"cu",cu:"cu",chu:"cu",oromo:"om","afaan oromoo":"om",om:"om",orm:"om","orm + 4":"om",oriya:"or","ଓଡ଼ିଆ":"or",or:"or",ori:"or","ossetian, ossetic":"os","ирон æвзаг":"os",os:"os",oss:"os","panjabi, punjabi":"pa","ਪੰਜਾਬੀ":"pa",pa:"pa",pan:"pa",pali:"pi","पाऴि":"pi",pi:"pi",pli:"pi",persian:"fa","فارسی":"fa",fa:"fa",fas:"fa",per:"fa","fas + 2":"fa",polish:"pl","język polski, polszczyzna":"pl",pl:"pl",pol:"pl","język polski":"pl",polszczyzna:"pl","pashto, pushto":"ps","پښتو":"ps",ps:"ps",pus:"ps","pus + 3":"ps",portuguese:"pt","português":"pt",pt:"pt",por:"pt",quechua:"qu","runa simi, kichwa":"qu",qu:"qu",que:"qu","que + 44":"qu","runa simi":"qu",kichwa:"qu",romansh:"rm","rumantsch grischun":"rm",rm:"rm",roh:"rm",rundi:"rn",ikirundi:"rn",rn:"rn",run:"rn","romanian, moldavian, moldovan":"ro","română":"ro",ro:"ro",ron:"ro",rum:"ro",russian:"ru","русский":"ru",ru:"ru",rus:"ru",sanskrit:"sa","संस्कृतम्":"sa",sa:"sa",san:"sa",sardinian:"sc",sardu:"sc",sc:"sc",srd:"sc","srd + 4":"sc",sindhi:"sd","सिन्धी, سنڌي، سندھی‎":"sd",sd:"sd",snd:"sd","सिन्धी":"sd","سنڌي، سندھی‎":"sd","northern sami":"se","davvisámegiella":"se",se:"se",sme:"se",samoan:"sm","gagana fa'a samoa":"sm",sm:"sm",smo:"sm",sango:"sg","yângâ tî sängö":"sg",sg:"sg",sag:"sg",serbian:"sr","српски језик":"sr",sr:"sr",srp:"sr","gaelic, scottish gaelic":"gd","gàidhlig":"gd",gd:"gd",gla:"gd",shona:"sn",chishona:"sn",sn:"sn",sna:"sn","sinhala, sinhalese":"si","සිංහල":"si",si:"si",sin:"si",slovak:"sk","slovenčina, slovenský jazyk":"sk",sk:"sk",slk:"sk",slo:"sk","slovenčina":"sk","slovenský jazyk":"sk",slovenian:"sl","slovenski jezik, slovenščina":"sl",sl:"sl",slv:"sl","slovenski jezik":"sl","slovenščina":"sl",somali:"so","soomaaliga, af soomaali":"so",so:"so",som:"so",soomaaliga:"so","af soomaali":"so","southern sotho":"st",sesotho:"st",st:"st",sot:"st","spanish, castilian":"es","español":"es",es:"es",spa:"es",sundanese:"su","basa sunda":"su",su:"su",sun:"su",swahili:"sw",kiswahili:"sw",sw:"sw",swa:"sw","swa + 2":"sw",swati:"ss",siswati:"ss",ss:"ss",ssw:"ss",swedish:"sv",svenska:"sv",sv:"sv",swe:"sv",tamil:"ta","தமிழ்":"ta",ta:"ta",tam:"ta",telugu:"te","తెలుగు":"te",te:"te",tel:"te",tajik:"tg","тоҷикӣ, toçikī, تاجیکی‎":"tg",tg:"tg",tgk:"tg","тоҷикӣ":"tg","toçikī":"tg","تاجیکی‎":"tg",thai:"th","ไทย":"th",th:"th",tha:"th",tigrinya:"ti","ትግርኛ":"ti",ti:"ti",tir:"ti",tibetan:"bo","བོད་ཡིག":"bo",bo:"bo",bod:"bo",tib:"bo",turkmen:"tk","türkmen, түркмен":"tk",tk:"tk",tuk:"tk","türkmen":"tk","түркмен":"tk",tagalog:"tl","wikang tagalog":"tl",tl:"tl",tgl:"tl",tswana:"tn",setswana:"tn",tn:"tn",tsn:"tn","tonga (tonga islands)":"to","faka tonga":"to",to:"to",ton:"to",turkish:"tr","türkçe":"tr",tr:"tr",tur:"tr",tsonga:"ts",xitsonga:"ts",ts:"ts",tso:"ts",tatar:"tt","татар теле, tatar tele":"tt",tt:"tt",tat:"tt","татар теле":"tt","tatar tele":"tt",twi:"tw",tw:"tw",tahitian:"ty","reo tahiti":"ty",ty:"ty",tah:"ty","uighur, uyghur":"ug","ئۇيغۇرچە‎, uyghurche":"ug",ug:"ug",uig:"ug","ئۇيغۇرچە‎":"ug",uyghurche:"ug",ukrainian:"uk","українська":"uk",uk:"uk",ukr:"uk",urdu:"ur","اردو":"ur",ur:"ur",urd:"ur",uzbek:"uz","oʻzbek, ўзбек, أۇزبېك‎":"uz",uz:"uz",uzb:"uz","uzb + 2":"uz","oʻzbek":"uz","ўзбек":"uz","أۇزبېك‎":"uz",venda:"ve","tshivenḓa":"ve",ve:"ve",ven:"ve",vietnamese:"vi","tiếng việt":"vi",vi:"vi",vie:"vi","volapük":"vo",vo:"vo",vol:"vo",walloon:"wa",walon:"wa",wa:"wa",wln:"wa",welsh:"cy",cymraeg:"cy",cy:"cy",cym:"cy",wel:"cy",wolof:"wo",wollof:"wo",wo:"wo",wol:"wo","western frisian":"fy",frysk:"fy",fy:"fy",fry:"fy",xhosa:"xh",isixhosa:"xh",xh:"xh",xho:"xh",yiddish:"yi","ייִדיש":"yi",yi:"yi",yid:"yi","yid + 2":"yi",yoruba:"yo","yorùbá":"yo",yo:"yo",yor:"yo","zhuang, chuang":"za","saɯ cueŋƅ, saw cuengh":"za",za:"za",zha:"za","zha + 16":"za","saɯ cueŋƅ":"za","saw cuengh":"za",zulu:"zu",isizulu:"zu",zu:"zu",zul:"zu"}},{}],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"=>":case"⇒":case"~>":case"↛":return"none";case"<-":case"←":case"<->":case"↔":case"<-=>":case"←⇒":case"<-~>":case"←↛":return"legal";case"<=":case"⇐":case"<=>":case"⇔":case"<=->":case"⇐→":case"<=~>":case"⇐↛":return"main";case"<~":case"↚":case"<~>":case"↮":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"<=":case"⇐":case"<~":case"↚":return"none";case"->":case"→":case"<->":case"↔":case"<=->":case"⇐→":case"<~->":case"↚→":return"legal";case"=>":case"⇒":case"<=>":case"⇔":case"<-=>":case"←⇒":case"<~=>":case"↚⇒":return"main";case"~>":case"↛":case"<~>":case"↮":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("machine_language"===rule.key)return{agg_as:"machine_language",val:reduce_to_639(rule.value)};if("state_declaration"===rule.key){if(!rule.name)throw new Error("State declarations must have a name");return{agg_as:"state_declaration",val:{state:rule.name,declarations:rule.value}}}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:[],state_declaration:[],fsl_version:[],machine_author:[],machine_comment:[],machine_contributor:[],machine_definition:[],machine_language:[],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","machine_language"].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","state_declaration"].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.12.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"=>":case"⇒":case"~>":case"↛":return"right";case"<-":case"←":case"<=":case"⇐":case"<~":case"↚":return"left";case"<->":case"↔":case"<-=>":case"←⇒":case"<-~>":case"←↛":case"<=>":case"⇔":case"<=->":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,"reduce-to-639-1":3}]},{},[]); \ 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,3)===peg$c1?(s0=peg$c1,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c2)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c3?(s0=peg$c3,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c4)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c5?(s0=peg$c5,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c6)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c7?(s0=peg$c7,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c8)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c9?(s0=peg$c9,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c10)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c11?(s0=peg$c11,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c12)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c13?(s0=peg$c13,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c14)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c15?(s0=peg$c15,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c16)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c17?(s0=peg$c17,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c18)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c19?(s0=peg$c19,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c20)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c21?(s0=peg$c21,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c22)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c23?(s0=peg$c23,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c24)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c25?(s0=peg$c25,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c26)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c27?(s0=peg$c27,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c28)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c29?(s0=peg$c29,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c30)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c31?(s0=peg$c31,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c32)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c33?(s0=peg$c33,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c34)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c35?(s0=peg$c35,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c36)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c37?(s0=peg$c37,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c38)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c39?(s0=peg$c39,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c40)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c41?(s0=peg$c41,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c42)),s0===peg$FAILED&&(input.substr(peg$currPos,11)===peg$c43?(s0=peg$c43,peg$currPos+=11):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c44)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c45?(s0=peg$c45,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c46)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c47?(s0=peg$c47,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c48)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c49?(s0=peg$c49,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c50)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c51?(s0=peg$c51,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c52)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c53?(s0=peg$c53,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c54)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c55?(s0=peg$c55,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c56)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c57?(s0=peg$c57,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c58)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c59?(s0=peg$c59,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c60)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c61?(s0=peg$c61,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c62)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c63?(s0=peg$c63,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c64)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c65?(s0=peg$c65,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c66)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c67?(s0=peg$c67,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c68)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c69?(s0=peg$c69,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c70)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c71?(s0=peg$c71,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c72)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c73?(s0=peg$c73,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c74)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c75?(s0=peg$c75,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c76)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c77?(s0=peg$c77,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c78)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c79?(s0=peg$c79,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c80)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c81?(s0=peg$c81,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c82)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c83?(s0=peg$c83,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c84)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c85?(s0=peg$c85,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c86)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c87?(s0=peg$c87,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c88)),s0===peg$FAILED&&(input.substr(peg$currPos,15)===peg$c89?(s0=peg$c89,peg$currPos+=15):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c90)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c91?(s0=peg$c91,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c92)),s0===peg$FAILED&&(input.substr(peg$currPos,14)===peg$c93?(s0=peg$c93,peg$currPos+=14):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c94)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c95?(s0=peg$c95,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c96)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c97?(s0=peg$c97,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c98)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c99?(s0=peg$c99,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c100)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c101?(s0=peg$c101,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c102)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c103?(s0=peg$c103,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c104)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c105?(s0=peg$c105,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c106)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c107?(s0=peg$c107,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c108)),s0===peg$FAILED&&(input.substr(peg$currPos,11)===peg$c109?(s0=peg$c109,peg$currPos+=11):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c110)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c111?(s0=peg$c111,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c112)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c113?(s0=peg$c113,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c114)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c115?(s0=peg$c115,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c116)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c117?(s0=peg$c117,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c118)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c119?(s0=peg$c119,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c120))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),s0}function peg$parseForwardLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c122?(s0=peg$c122,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c123)),s0===peg$FAILED&&(s0=peg$currPos,8594===input.charCodeAt(peg$currPos)?(s1=peg$c124,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c125)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c126()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c121)),s0}function peg$parseTwoWayLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c128?(s0=peg$c128,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c129)),s0===peg$FAILED&&(s0=peg$currPos,8596===input.charCodeAt(peg$currPos)?(s1=peg$c130,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c131)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c132()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c127)),s0}function peg$parseBackLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c134?(s0=peg$c134,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c135)),s0===peg$FAILED&&(s0=peg$currPos,8592===input.charCodeAt(peg$currPos)?(s1=peg$c136,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c137)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c138()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c133)),s0}function peg$parseForwardFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c140?(s0=peg$c140,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c141)),s0===peg$FAILED&&(s0=peg$currPos,8658===input.charCodeAt(peg$currPos)?(s1=peg$c142,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c143)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c144()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c139)),s0}function peg$parseTwoWayFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c146?(s0=peg$c146,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c147)),s0===peg$FAILED&&(s0=peg$currPos,8660===input.charCodeAt(peg$currPos)?(s1=peg$c148,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c149)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c150()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c145)),s0}function peg$parseBackFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c152?(s0=peg$c152,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c153)),s0===peg$FAILED&&(s0=peg$currPos,8656===input.charCodeAt(peg$currPos)?(s1=peg$c154,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c155)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c156()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c151)),s0}function peg$parseForwardTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c158?(s0=peg$c158,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c159)),s0===peg$FAILED&&(s0=peg$currPos,8603===input.charCodeAt(peg$currPos)?(s1=peg$c160,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c161)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c162()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c157)),s0}function peg$parseTwoWayTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c164?(s0=peg$c164,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c165)),s0===peg$FAILED&&(s0=peg$currPos,8622===input.charCodeAt(peg$currPos)?(s1=peg$c166,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c167)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c168()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c163)),s0}function peg$parseBackTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c170?(s0=peg$c170,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c171)),s0===peg$FAILED&&(s0=peg$currPos,8602===input.charCodeAt(peg$currPos)?(s1=peg$c172,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c173)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c174()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c169)),s0}function peg$parseLightFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c176?(s0=peg$c176,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c177)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c178?(s1=peg$c178,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c179)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c180()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c175)),s0}function peg$parseLightTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c182?(s0=peg$c182,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c183)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c184?(s1=peg$c184,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c185)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c186()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c181)),s0}function peg$parseFatLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c188?(s0=peg$c188,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c189)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c190?(s1=peg$c190,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c191)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c192()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c187)),s0}function peg$parseFatTildeArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c194?(s0=peg$c194,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c195)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c196?(s1=peg$c196,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c197)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c198()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c193)),s0}function peg$parseTildeLightArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c200?(s0=peg$c200,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c201)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c202?(s1=peg$c202,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c203)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c204()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c199)),s0}function peg$parseTildeFatArrow(){var s0,s1;return peg$silentFails++,input.substr(peg$currPos,4)===peg$c206?(s0=peg$c206,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c207)),s0===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,2)===peg$c208?(s1=peg$c208,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c209)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c210()),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c205)),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$c211),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$c212),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$c213),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$c214),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$c215),s0}function peg$parseHexDigit(){var s0;return peg$c216.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c217)),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$c218,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c219)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c220,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c221)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c222,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c223)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c224,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c225)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c226()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c227,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c228)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c229()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c230,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c231)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c232()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c233,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c234)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c235()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c236,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c237)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c238()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c239,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c240)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c241()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c242,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c243)),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$c244(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c245(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$c220,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c221)),s0}function peg$parseQuoteMark(){var s0;return 34===input.charCodeAt(peg$currPos)?(s0=peg$c218,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c219)),s0}function peg$parseUnescaped(){var s0;return peg$c246.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c247)),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$c248,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c249)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c220,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c221)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c222,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c223)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c224,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c225)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c226()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c227,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c228)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c229()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c230,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c231)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c232()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c233,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c234)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c235()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c236,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c237)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c238()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c239,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c240)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c241()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c242,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c243)),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$c244(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c245(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$c248,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c249)),s0}function peg$parseActionLabelUnescaped(){var s0;return peg$c250.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c251)),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$c253(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$c252),s0}function peg$parseLineTerminator(){var s0;return peg$c254.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c255)),s0}function peg$parseBlockCommentTail(){var s0,s1,s2;return input.substr(peg$currPos,2)===peg$c258?(s0=peg$c258,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c259)),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$c260)),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 peg$silentFails++,s0=peg$currPos,input.substr(peg$currPos,2)===peg$c262?(s1=peg$c262,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c263)),s1!==peg$FAILED&&(s2=peg$parseBlockCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c261)),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$c260)),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$c260)),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 peg$silentFails++,s0=peg$currPos,input.substr(peg$currPos,2)===peg$c265?(s1=peg$c265,peg$currPos+=2):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c266)),s1!==peg$FAILED&&(s2=peg$parseLineCommentTail())!==peg$FAILED?s0=s1=[s1,s2]:(peg$currPos=s0,s0=peg$FAILED),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c264)),s0}function peg$parseWS(){var s0,s1,s2;if(peg$silentFails++,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$c268.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c269)),s2!==peg$FAILED)for(;s2!==peg$FAILED;)s1.push(s2),peg$c268.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c269));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 peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c267)),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$c253(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$c270),s0}function peg$parseAtomFirstLetter(){var s0;return peg$c271.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c272)),s0}function peg$parseAtomLetter(){var s0;return peg$c273.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c274)),s0}function peg$parseAtom(){var s0,s1,s2,s3;if(peg$silentFails++,s0=peg$currPos,(s1=peg$parseAtomFirstLetter())!==peg$FAILED){for(s2=[],s3=peg$parseAtomLetter();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseAtomLetter();s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c276(s1,s2)):(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$c275)),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$c277),s0}function peg$parseIntegerLiteral(){var s0,s1,s2,s3;if(48===input.charCodeAt(peg$currPos)?(s0=peg$c278,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c279)),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$c280.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c281)),s0}function peg$parseNonZeroDigit(){var s0;return peg$c282.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c283)),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$c285,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c286)),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$c287()):(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$c287()):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c284),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$c285,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c286)),s2!==peg$FAILED&&(s3=peg$parseIntegerLiteral())!==peg$FAILED?(46===input.charCodeAt(peg$currPos)?(s4=peg$c285,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c286)),s4!==peg$FAILED&&(s5=peg$parseIntegerLiteral())!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c288(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$c299?(s0=peg$c299,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c300)),s0===peg$FAILED&&(input.substr(peg$currPos,8)===peg$c301?(s0=peg$c301,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c302))),s0}function peg$parseURL(){var s0,s1,s2,s3;if(s0=peg$currPos,(s1=peg$parseUrlProtocol())!==peg$FAILED){if(s2=[],peg$c303.test(input.charAt(peg$currPos))?(s3=input.charAt(peg$currPos),peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c304)),s3!==peg$FAILED)for(;s3!==peg$FAILED;)s2.push(s3),peg$c303.test(input.charAt(peg$currPos))?(s3=input.charAt(peg$currPos),peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c304));else s2=peg$FAILED;s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c305(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$c306?(s1=peg$c306,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c307)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c308()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c309?(s1=peg$c309,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c310)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c308()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c311?(s1=peg$c311,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c312)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c313()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c314?(s1=peg$c314,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c315)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c313()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c316?(s1=peg$c316,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c317)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c318()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c319?(s1=peg$c319,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c320)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c318()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c321?(s1=peg$c321,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c322)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c323()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c324?(s1=peg$c324,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c325)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c323()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c326?(s1=peg$c326,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c327)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c328()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c329?(s1=peg$c329,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c330)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c328()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c331?(s1=peg$c331,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c332)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c333()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c334?(s1=peg$c334,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c335)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c333()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c336?(s1=peg$c336,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c337)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c338()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c339?(s1=peg$c339,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c340)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c338()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c341?(s1=peg$c341,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c342)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c343()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c344?(s1=peg$c344,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c345)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c343()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c346?(s1=peg$c346,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c347)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c348()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c349?(s1=peg$c349,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c350)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c348()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c351?(s1=peg$c351,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c352)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c353()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c354?(s1=peg$c354,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c355)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c353()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c356?(s1=peg$c356,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c357)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c358()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c359?(s1=peg$c359,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c360)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c358()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c361?(s1=peg$c361,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c362)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c363()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c364?(s1=peg$c364,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c365)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c363()),(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$c368()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c369?(s1=peg$c369,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c370)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c368()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c371?(s1=peg$c371,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c372)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c373()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c374?(s1=peg$c374,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c375)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c373()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c376?(s1=peg$c376,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c377)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c378()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c379?(s1=peg$c379,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c380)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c378()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c381?(s1=peg$c381,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c382)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c383()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c384?(s1=peg$c384,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c385)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c383()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c386?(s1=peg$c386,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c387)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c388()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c389?(s1=peg$c389,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c390)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c388()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c391?(s1=peg$c391,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c392)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c393()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c394?(s1=peg$c394,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c395)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c393()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c396?(s1=peg$c396,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c397)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c398()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c399?(s1=peg$c399,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c400)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c398()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c401?(s1=peg$c401,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c402)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c403()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c404?(s1=peg$c404,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c405)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c403()),(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$c318()),(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$c318()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c410?(s1=peg$c410,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c411)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c412()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c413?(s1=peg$c413,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c414)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c412()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c415?(s1=peg$c415,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c416)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c417()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c418?(s1=peg$c418,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c419)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c417()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c420?(s1=peg$c420,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c421)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c422()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c423?(s1=peg$c423,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c424)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c422()),(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$c427()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c428?(s1=peg$c428,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c429)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c427()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c430?(s1=peg$c430,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c431)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c427()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c432?(s1=peg$c432,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c433)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c427()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c434?(s1=peg$c434,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c435)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c436()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c437?(s1=peg$c437,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c438)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c436()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c439?(s1=peg$c439,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c440)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c441()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c442?(s1=peg$c442,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c443)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c441()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c444?(s1=peg$c444,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c445)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c446()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c447?(s1=peg$c447,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c448)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c446()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c449?(s1=peg$c449,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c450)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c451()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c452?(s1=peg$c452,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c453)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c451()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c454?(s1=peg$c454,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c455)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c456()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c457?(s1=peg$c457,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c458)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c456()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c459?(s1=peg$c459,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c460)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c461()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c462?(s1=peg$c462,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c463)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c461()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c464?(s1=peg$c464,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c465)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c466()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c467?(s1=peg$c467,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c468)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c466()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c469?(s1=peg$c469,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c470)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c471()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c472?(s1=peg$c472,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c473)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c471()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c474?(s1=peg$c474,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c475)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c476()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c477?(s1=peg$c477,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c478)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c476()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c479?(s1=peg$c479,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c480)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c481()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c482?(s1=peg$c482,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c483)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c481()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c484?(s1=peg$c484,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c485)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c486()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c487?(s1=peg$c487,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c488)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c486()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c489?(s1=peg$c489,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c490)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c486()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c491?(s1=peg$c491,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c492)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c486()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c493?(s1=peg$c493,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c494)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c495()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c496?(s1=peg$c496,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c497)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c495()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c498?(s1=peg$c498,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c499)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c500()),(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$c500()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c503?(s1=peg$c503,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c504)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c505()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c506?(s1=peg$c506,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c507)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c505()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c508?(s1=peg$c508,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c509)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c510()),(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$c510()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c513?(s1=peg$c513,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c514)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c515()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c516?(s1=peg$c516,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c517)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c515()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c518?(s1=peg$c518,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c519)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c515()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c520?(s1=peg$c520,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c521)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c515()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c522?(s1=peg$c522,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c523)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c524()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c525?(s1=peg$c525,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c526)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c524()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c527?(s1=peg$c527,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c528)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c529()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c530?(s1=peg$c530,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c531)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c529()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c532?(s1=peg$c532,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c533)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c534()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c535?(s1=peg$c535,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c536)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c534()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c537?(s1=peg$c537,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c538)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c539()),(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$c539()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c542?(s1=peg$c542,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c543)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c544()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c545?(s1=peg$c545,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c546)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c544()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c547?(s1=peg$c547,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c548)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c549()),(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$c549()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c552?(s1=peg$c552,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c553)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c554()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c555?(s1=peg$c555,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c556)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c554()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c557?(s1=peg$c557,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c558)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c559()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c560?(s1=peg$c560,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c561)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c559()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c562?(s1=peg$c562,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c563)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c564()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c565?(s1=peg$c565,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c566)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c564()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c567?(s1=peg$c567,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c568)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c569()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c570?(s1=peg$c570,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c571)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c569()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c572?(s1=peg$c572,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c573)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c569()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c574?(s1=peg$c574,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c575)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c569()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c576?(s1=peg$c576,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c577)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c578()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c579?(s1=peg$c579,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c580)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c578()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c581?(s1=peg$c581,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c582)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c583()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c584?(s1=peg$c584,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c585)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c583()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c586?(s1=peg$c586,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c587)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c588()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c589?(s1=peg$c589,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c590)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c588()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c591?(s1=peg$c591,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c592)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c593()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c594?(s1=peg$c594,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c595)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c593()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c596?(s1=peg$c596,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c597)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c598()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c599?(s1=peg$c599,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c600)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c598()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c601?(s1=peg$c601,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c602)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c603()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c604?(s1=peg$c604,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c605)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c603()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c606?(s1=peg$c606,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c607)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c608()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c609?(s1=peg$c609,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c610)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c608()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c611?(s1=peg$c611,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c612)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c613()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c614?(s1=peg$c614,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c615)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c613()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c616?(s1=peg$c616,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c617)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c618()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c619?(s1=peg$c619,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c620)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c618()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c621?(s1=peg$c621,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c622)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c623()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c624?(s1=peg$c624,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c625)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c623()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c626?(s1=peg$c626,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c627)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c628()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c629?(s1=peg$c629,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c630)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c628()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c631?(s1=peg$c631,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c632)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c633()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c634?(s1=peg$c634,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c635)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c633()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c636?(s1=peg$c636,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c637)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c638()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c639?(s1=peg$c639,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c640)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c638()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c641?(s1=peg$c641,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c642)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c643()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c644?(s1=peg$c644,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c645)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c643()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c646?(s1=peg$c646,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c647)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c648()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c649?(s1=peg$c649,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c650)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c648()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,20)===peg$c651?(s1=peg$c651,peg$currPos+=20):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c652)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c653()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,20)===peg$c654?(s1=peg$c654,peg$currPos+=20):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c655)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c653()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c656?(s1=peg$c656,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c657)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c658()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c659?(s1=peg$c659,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c660)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c658()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c661?(s1=peg$c661,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c662)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c658()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c663?(s1=peg$c663,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c664)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c658()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c665?(s1=peg$c665,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c666)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c667()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c668?(s1=peg$c668,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c669)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c667()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c670?(s1=peg$c670,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c671)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c672()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c673?(s1=peg$c673,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c674)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c672()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c675?(s1=peg$c675,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c676)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c677()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c678?(s1=peg$c678,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c679)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c677()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c680?(s1=peg$c680,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c681)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c682()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,13)===peg$c683?(s1=peg$c683,peg$currPos+=13):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c684)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c682()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c685?(s1=peg$c685,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c686)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c687()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c688?(s1=peg$c688,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c689)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c687()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c690?(s1=peg$c690,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c691)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c692()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c693?(s1=peg$c693,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c694)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c692()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c695?(s1=peg$c695,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c696)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c692()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c697?(s1=peg$c697,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c698)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c692()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c699?(s1=peg$c699,peg$currPos+=14):(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,14)===peg$c702?(s1=peg$c702,peg$currPos+=14):(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,11)===peg$c704?(s1=peg$c704,peg$currPos+=11):(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,11)===peg$c707?(s1=peg$c707,peg$currPos+=11):(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,9)===peg$c714?(s1=peg$c714,peg$currPos+=9):(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,9)===peg$c717?(s1=peg$c717,peg$currPos+=9):(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,5)===peg$c719?(s1=peg$c719,peg$currPos+=5):(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,5)===peg$c722?(s1=peg$c722,peg$currPos+=5):(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,7)===peg$c724?(s1=peg$c724,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c725)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c544()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c726?(s1=peg$c726,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c727)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c544()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c728?(s1=peg$c728,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c729)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c730()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c731?(s1=peg$c731,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c732)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c730()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,16)===peg$c733?(s1=peg$c733,peg$currPos+=16):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c734)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c735()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,16)===peg$c736?(s1=peg$c736,peg$currPos+=16):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c737)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c735()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c738?(s1=peg$c738,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c739)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c740()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c741?(s1=peg$c741,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c742)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c740()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c743?(s1=peg$c743,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c744)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c745()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c746?(s1=peg$c746,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c747)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c745()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c748?(s1=peg$c748,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c749)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c750()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c751?(s1=peg$c751,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c752)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c750()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c753?(s1=peg$c753,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c754)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c755()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,14)===peg$c756?(s1=peg$c756,peg$currPos+=14):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c757)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c755()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c758?(s1=peg$c758,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c759)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c760()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c761?(s1=peg$c761,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c762)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c760()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,17)===peg$c763?(s1=peg$c763,peg$currPos+=17):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c764)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c765()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,17)===peg$c766?(s1=peg$c766,peg$currPos+=17):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c767)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c765()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c768?(s1=peg$c768,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c769)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c770()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c771?(s1=peg$c771,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c772)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c770()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c773?(s1=peg$c773,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c774)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c775()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,15)===peg$c776?(s1=peg$c776,peg$currPos+=15):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c777)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c775()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c778?(s1=peg$c778,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c779)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c780()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,12)===peg$c781?(s1=peg$c781,peg$currPos+=12):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c782)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c780()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c783?(s1=peg$c783,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c784)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c785()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c786?(s1=peg$c786,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c787)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c785()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c788?(s1=peg$c788,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c789)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c790()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c791?(s1=peg$c791,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c792)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c790()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c793?(s1=peg$c793,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c794)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c795()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c796?(s1=peg$c796,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c797)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c795()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c798?(s1=peg$c798,peg$currPos+=11):(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,11)===peg$c801?(s1=peg$c801,peg$currPos+=11):(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,4)===peg$c803?(s1=peg$c803,peg$currPos+=4):(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,4)===peg$c806?(s1=peg$c806,peg$currPos+=4):(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,7)===peg$c808?(s1=peg$c808,peg$currPos+=7):(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,7)===peg$c811?(s1=peg$c811,peg$currPos+=7):(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,5)===peg$c813?(s1=peg$c813,peg$currPos+=5):(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,5)===peg$c816?(s1=peg$c816,peg$currPos+=5):(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,9)===peg$c818?(s1=peg$c818,peg$currPos+=9):(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,9)===peg$c821?(s1=peg$c821,peg$currPos+=9):(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,6)===peg$c823?(s1=peg$c823,peg$currPos+=6):(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,6)===peg$c826?(s1=peg$c826,peg$currPos+=6):(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,9)===peg$c828?(s1=peg$c828,peg$currPos+=9):(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,9)===peg$c831?(s1=peg$c831,peg$currPos+=9):(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,6)===peg$c833?(s1=peg$c833,peg$currPos+=6):(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,6)===peg$c836?(s1=peg$c836,peg$currPos+=6):(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,13)===peg$c838?(s1=peg$c838,peg$currPos+=13):(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,13)===peg$c841?(s1=peg$c841,peg$currPos+=13):(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,9)===peg$c843?(s1=peg$c843,peg$currPos+=9):(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,9)===peg$c846?(s1=peg$c846,peg$currPos+=9):(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,13)===peg$c848?(s1=peg$c848,peg$currPos+=13):(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,13)===peg$c851?(s1=peg$c851,peg$currPos+=13):(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,13)===peg$c853?(s1=peg$c853,peg$currPos+=13):(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,13)===peg$c856?(s1=peg$c856,peg$currPos+=13):(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,10)===peg$c858?(s1=peg$c858,peg$currPos+=10):(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,10)===peg$c861?(s1=peg$c861,peg$currPos+=10):(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,9)===peg$c863?(s1=peg$c863,peg$currPos+=9):(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,9)===peg$c866?(s1=peg$c866,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c867)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c865()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c868?(s1=peg$c868,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c869)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c870()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c871?(s1=peg$c871,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c872)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c870()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c873?(s1=peg$c873,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c874)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c875()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c876?(s1=peg$c876,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c877)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c875()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c878?(s1=peg$c878,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c879)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c880()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c881?(s1=peg$c881,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c882)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c880()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c883?(s1=peg$c883,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c884)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c885()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c886?(s1=peg$c886,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c887)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c885()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c888?(s1=peg$c888,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c889)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c890()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c891?(s1=peg$c891,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c892)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c890()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c893?(s1=peg$c893,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c894)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c895()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c896?(s1=peg$c896,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c897)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c895()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c898?(s1=peg$c898,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c899)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c900()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c901?(s1=peg$c901,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c902)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c900()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c903?(s1=peg$c903,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c904)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c905()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c906?(s1=peg$c906,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c907)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c905()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c908?(s1=peg$c908,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c909)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c910()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c911?(s1=peg$c911,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c912)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c910()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c913?(s1=peg$c913,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c914)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c915()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c916?(s1=peg$c916,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c917)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c915()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c918?(s1=peg$c918,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c919)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c920()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c921?(s1=peg$c921,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c922)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c920()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c923?(s1=peg$c923,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c924)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c925()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c926?(s1=peg$c926,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c927)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c925()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c928?(s1=peg$c928,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c929)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c930()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,8)===peg$c931?(s1=peg$c931,peg$currPos+=8):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c932)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c930()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c933?(s1=peg$c933,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c934)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c935()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c936?(s1=peg$c936,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c937)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c935()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c938?(s1=peg$c938,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c939)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c940()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c941?(s1=peg$c941,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c942)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c940()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c943?(s1=peg$c943,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c944)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c945()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c946?(s1=peg$c946,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c947)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c945()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c948?(s1=peg$c948,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c949)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c950()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c951?(s1=peg$c951,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c952)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c950()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c953?(s1=peg$c953,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c954)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c955()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c956?(s1=peg$c956,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c957)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c955()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c958?(s1=peg$c958,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c959)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c955()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c960?(s1=peg$c960,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c961)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c955()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c962?(s1=peg$c962,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c963)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c964()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c965?(s1=peg$c965,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c966)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c964()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c967?(s1=peg$c967,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c968)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c969()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c970?(s1=peg$c970,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c971)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c969()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c972?(s1=peg$c972,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c973)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c974()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c975?(s1=peg$c975,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c976)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c974()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c977?(s1=peg$c977,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c978)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c979()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,3)===peg$c980?(s1=peg$c980,peg$currPos+=3):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c981)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c979()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c982?(s1=peg$c982,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c983)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c984()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,4)===peg$c985?(s1=peg$c985,peg$currPos+=4):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c986)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c984()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c987?(s1=peg$c987,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c988)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c989()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,7)===peg$c990?(s1=peg$c990,peg$currPos+=7):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c991)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c989()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c992?(s1=peg$c992,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c993)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c994()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c995?(s1=peg$c995,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c996)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c994()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c997?(s1=peg$c997,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c998)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c999()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,9)===peg$c1000?(s1=peg$c1000,peg$currPos+=9):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1001)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c999()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c1002?(s1=peg$c1002,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1003)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1004()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c1005?(s1=peg$c1005,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1006)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1004()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c1007?(s1=peg$c1007,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1008)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1009()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c1010?(s1=peg$c1010,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1011)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1009()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c1012?(s1=peg$c1012,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1013)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1014()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,5)===peg$c1015?(s1=peg$c1015,peg$currPos+=5):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1016)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1014()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c1017?(s1=peg$c1017,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1018)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1019()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,10)===peg$c1020?(s1=peg$c1020,peg$currPos+=10):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1021)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1019()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c1022?(s1=peg$c1022,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1023)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1024()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,6)===peg$c1025?(s1=peg$c1025,peg$currPos+=6):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1026)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1024()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c1027?(s1=peg$c1027,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1028)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1029()),(s0=s1)===peg$FAILED&&(s0=peg$currPos,input.substr(peg$currPos,11)===peg$c1030?(s1=peg$c1030,peg$currPos+=11):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1031)),s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c1029()),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?(peg$savedPos=s0,s0=s1=peg$c1032(s1)):(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$c1033,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1034)),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$c1035(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$c1033,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1034)),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$c1036(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$c1033,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1034)),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$c1037(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$c1033,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1034)),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$c1038(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$c1039),s0}function peg$parseArrowItemKey(){var s0;return input.substr(peg$currPos,9)===peg$c1040?(s0=peg$c1040,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1041)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c1042?(s0=peg$c1042,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1043)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c1044?(s0=peg$c1044,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1045)))),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$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1050(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$c1052?(s2=peg$c1052,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1053)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1054(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$c1051)),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$c1055,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1057,peg$currPos++):(s5=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1058)),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1059(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$c1060,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1061)),s2!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1062(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$c1063,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1064)),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$c1065,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1066)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1067(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$c1068(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$c1048,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1069(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$c1070?(s0=peg$c1070,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1071)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c1072?(s0=peg$c1072,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1073))),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$c1046,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c1048,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1074(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$c1075?(s2=peg$c1075,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1076)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c1055,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1077?(s10=peg$c1077,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1078)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1079(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$c1080?(s0=peg$c1080,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1081)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c1082?(s0=peg$c1082,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1083)),s0===peg$FAILED&&(input.substr(peg$currPos,3)===peg$c1084?(s0=peg$c1084,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1085)),s0===peg$FAILED&&(input.substr(peg$currPos,5)===peg$c1086?(s0=peg$c1086,peg$currPos+=5):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1087))))),s0}function peg$parseStateItemShapeKey(){var s0;return input.substr(peg$currPos,8)===peg$c1088?(s0=peg$c1088,peg$currPos+=8):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1089)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c1090?(s0=peg$c1090,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1091)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c1092?(s0=peg$c1092,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1093)))),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$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1050(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$c1094?(s2=peg$c1094,peg$currPos+=5):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1095)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c1055,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1077?(s10=peg$c1077,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1078)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1096(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$c1070?(s0=peg$c1070,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1071)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c1072?(s0=peg$c1072,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1073))),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$c1046,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c1048,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1097(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$c1098?(s2=peg$c1098,peg$currPos+=6):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1099)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c1055,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1077?(s10=peg$c1077,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1078)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1100(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$c1070?(s0=peg$c1070,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1071)),s0===peg$FAILED&&(input.substr(peg$currPos,4)===peg$c1072?(s0=peg$c1072,peg$currPos+=4):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1073))),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$c1046,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s2!==peg$FAILED&&(s3=peg$parseLabel())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c1048,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s4!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1101(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$c1052?(s2=peg$c1052,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1053)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1103(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$c1102)),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$c1104?(s2=peg$c1104,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1105)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED?(123===input.charCodeAt(peg$currPos)?(s6=peg$c1055,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),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$c1077?(s10=peg$c1077,peg$currPos+=2):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1078)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1106(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$c1107?(s2=peg$c1107,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1108)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1109(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$c1110?(s2=peg$c1110,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1111)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1112(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$c1113?(s2=peg$c1113,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1114)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1115(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$c1116?(s2=peg$c1116,peg$currPos+=14):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1117)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1118(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$c1119),s0}function peg$parseLicenseOrLabelOrList(){var s0;return input.substr(peg$currPos,3)===peg$c1120?(s0=peg$c1120,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1121)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c1122?(s0=peg$c1122,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1123)),s0===peg$FAILED&&(input.substr(peg$currPos,12)===peg$c1124?(s0=peg$c1124,peg$currPos+=12):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1125)),s0===peg$FAILED&&(input.substr(peg$currPos,10)===peg$c1126?(s0=peg$c1126,peg$currPos+=10):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1127)),s0===peg$FAILED&&(input.substr(peg$currPos,11)===peg$c1128?(s0=peg$c1128,peg$currPos+=11):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1129)),s0===peg$FAILED&&(input.substr(peg$currPos,13)===peg$c1130?(s0=peg$c1130,peg$currPos+=13):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1131)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c1132?(s0=peg$c1132,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1133)),s0===peg$FAILED&&(input.substr(peg$currPos,6)===peg$c1134?(s0=peg$c1134,peg$currPos+=6):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1135)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c1136?(s0=peg$c1136,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1137)),s0===peg$FAILED&&(input.substr(peg$currPos,9)===peg$c1138?(s0=peg$c1138,peg$currPos+=9):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1139)),s0===peg$FAILED&&(input.substr(peg$currPos,7)===peg$c1140?(s0=peg$c1140,peg$currPos+=7):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1141)),s0===peg$FAILED&&(s0=peg$parseLabel())===peg$FAILED&&(s0=peg$parseLabelList()))))))))))),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$c1142?(s2=peg$c1142,peg$currPos+=14):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1143)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1144(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$c1145?(s2=peg$c1145,peg$currPos+=19):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1146)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1147(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$c1148?(s2=peg$c1148,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1149)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1150(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$c1151?(s2=peg$c1151,peg$currPos+=18):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1152)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1153(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$c1154?(s2=peg$c1154,peg$currPos+=12):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1155)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1156(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$c1160?(s2=peg$c1160,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1161)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1162(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$c1163?(s2=peg$c1163,peg$currPos+=15):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1164)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1165(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$parseMachineLanguage(){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,16)===peg$c1166?(s2=peg$c1166,peg$currPos+=16):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1167)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1168(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$c1169?(s2=peg$c1169,peg$currPos+=11):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1170)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1171(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$parseMachineAttribute(){var s0;return peg$silentFails++,(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$parseMachineLanguage()),peg$silentFails--,s0===peg$FAILED&&0===peg$silentFails&&peg$fail(peg$c1172),s0}function peg$parseSdNodeColor(){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$c1174?(s2=peg$c1174,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1175)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1176(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$c1173)),s0}function peg$parseSdNodeShape(){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$c1092?(s2=peg$c1092,peg$currPos+=10):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1093)),s2!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1178(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$c1177)),s0}function peg$parseStateDeclarationItems(){var s0;return(s0=peg$parseSdNodeColor())===peg$FAILED&&(s0=peg$parseSdNodeShape()),s0}function peg$parseStateDeclarationDesc(){var s0,s1,s2,s3,s4,s5;if(s0=peg$currPos,123===input.charCodeAt(peg$currPos)?(s1=peg$c1055,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1056)),s1!==peg$FAILED)if((s2=peg$parseWS())===peg$FAILED&&(s2=null),s2!==peg$FAILED){for(s3=[],s4=peg$parseStateDeclarationItems();s4!==peg$FAILED;)s3.push(s4),s4=peg$parseStateDeclarationItems();s3!==peg$FAILED?((s4=peg$parseWS())===peg$FAILED&&(s4=null),s4!==peg$FAILED?(125===input.charCodeAt(peg$currPos)?(s5=peg$c1057,peg$currPos++):(s5=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1058)),s5!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1059(s3)):(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;return s0}function peg$parseStateDeclaration(){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$parseLabel())!==peg$FAILED?((s3=peg$parseWS())===peg$FAILED&&(s3=null),s3!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s4=peg$c1046,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),s4!==peg$FAILED?((s5=peg$parseWS())===peg$FAILED&&(s5=null),s5!==peg$FAILED&&(s6=peg$parseStateDeclarationDesc())!==peg$FAILED?((s7=peg$parseWS())===peg$FAILED&&(s7=null),s7!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s8=peg$c1048,peg$currPos++):(s8=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s8!==peg$FAILED?((s9=peg$parseWS())===peg$FAILED&&(s9=null),s9!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1179(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$parseNamedList(){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?(38===input.charCodeAt(peg$currPos)?(s2=peg$c1180,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1181)),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$c1046,peg$currPos++):(s6=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1047)),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$c1048,peg$currPos++):(s10=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1049)),s10!==peg$FAILED?((s11=peg$parseWS())===peg$FAILED&&(s11=null),s11!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c1182(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$parseStateDeclaration())===peg$FAILED&&(s0=peg$parseNamedList())===peg$FAILED&&(s0=peg$parseMachineAttribute())===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="box",peg$c2=peg$literalExpectation("box",!1),peg$c3="polygon",peg$c4=peg$literalExpectation("polygon",!1),peg$c5="ellipse",peg$c6=peg$literalExpectation("ellipse",!1),peg$c7="oval",peg$c8=peg$literalExpectation("oval",!1),peg$c9="circle",peg$c10=peg$literalExpectation("circle",!1),peg$c11="point",peg$c12=peg$literalExpectation("point",!1),peg$c13="egg",peg$c14=peg$literalExpectation("egg",!1),peg$c15="triangle",peg$c16=peg$literalExpectation("triangle",!1),peg$c17="plaintext",peg$c18=peg$literalExpectation("plaintext",!1),peg$c19="plain",peg$c20=peg$literalExpectation("plain",!1),peg$c21="diamond",peg$c22=peg$literalExpectation("diamond",!1),peg$c23="trapezium",peg$c24=peg$literalExpectation("trapezium",!1),peg$c25="parallelogram",peg$c26=peg$literalExpectation("parallelogram",!1),peg$c27="house",peg$c28=peg$literalExpectation("house",!1),peg$c29="pentagon",peg$c30=peg$literalExpectation("pentagon",!1),peg$c31="hexagon",peg$c32=peg$literalExpectation("hexagon",!1),peg$c33="septagon",peg$c34=peg$literalExpectation("septagon",!1),peg$c35="octagon",peg$c36=peg$literalExpectation("octagon",!1),peg$c37="doublecircle",peg$c38=peg$literalExpectation("doublecircle",!1),peg$c39="doubleoctagon",peg$c40=peg$literalExpectation("doubleoctagon",!1),peg$c41="tripleoctagon",peg$c42=peg$literalExpectation("tripleoctagon",!1),peg$c43="invtriangle",peg$c44=peg$literalExpectation("invtriangle",!1),peg$c45="invtrapezium",peg$c46=peg$literalExpectation("invtrapezium",!1),peg$c47="invhouse",peg$c48=peg$literalExpectation("invhouse",!1),peg$c49="Mdiamond",peg$c50=peg$literalExpectation("Mdiamond",!1),peg$c51="Msquare",peg$c52=peg$literalExpectation("Msquare",!1),peg$c53="Mcircle",peg$c54=peg$literalExpectation("Mcircle",!1),peg$c55="rect",peg$c56=peg$literalExpectation("rect",!1),peg$c57="rectangle",peg$c58=peg$literalExpectation("rectangle",!1),peg$c59="square",peg$c60=peg$literalExpectation("square",!1),peg$c61="star",peg$c62=peg$literalExpectation("star",!1),peg$c63="none",peg$c64=peg$literalExpectation("none",!1),peg$c65="underline",peg$c66=peg$literalExpectation("underline",!1),peg$c67="cylinder",peg$c68=peg$literalExpectation("cylinder",!1),peg$c69="note",peg$c70=peg$literalExpectation("note",!1),peg$c71="tab",peg$c72=peg$literalExpectation("tab",!1),peg$c73="folder",peg$c74=peg$literalExpectation("folder",!1),peg$c75="box3d",peg$c76=peg$literalExpectation("box3d",!1),peg$c77="component",peg$c78=peg$literalExpectation("component",!1),peg$c79="promoter",peg$c80=peg$literalExpectation("promoter",!1),peg$c81="cds",peg$c82=peg$literalExpectation("cds",!1),peg$c83="terminator",peg$c84=peg$literalExpectation("terminator",!1),peg$c85="utr",peg$c86=peg$literalExpectation("utr",!1),peg$c87="primersite",peg$c88=peg$literalExpectation("primersite",!1),peg$c89="restrictionsite",peg$c90=peg$literalExpectation("restrictionsite",!1),peg$c91="fivepoverhang",peg$c92=peg$literalExpectation("fivepoverhang",!1),peg$c93="threepoverhang",peg$c94=peg$literalExpectation("threepoverhang",!1),peg$c95="noverhang",peg$c96=peg$literalExpectation("noverhang",!1),peg$c97="assembly",peg$c98=peg$literalExpectation("assembly",!1),peg$c99="signature",peg$c100=peg$literalExpectation("signature",!1),peg$c101="insulator",peg$c102=peg$literalExpectation("insulator",!1),peg$c103="ribosite",peg$c104=peg$literalExpectation("ribosite",!1),peg$c105="rnastab",peg$c106=peg$literalExpectation("rnastab",!1),peg$c107="proteasesite",peg$c108=peg$literalExpectation("proteasesite",!1),peg$c109="proteinstab",peg$c110=peg$literalExpectation("proteinstab",!1),peg$c111="rpromoter",peg$c112=peg$literalExpectation("rpromoter",!1),peg$c113="rarrow",peg$c114=peg$literalExpectation("rarrow",!1),peg$c115="larrow",peg$c116=peg$literalExpectation("larrow",!1),peg$c117="lpromoter",peg$c118=peg$literalExpectation("lpromoter",!1),peg$c119="record",peg$c120=peg$literalExpectation("record",!1),peg$c121=peg$otherExpectation("forward light arrow ->"),peg$c122="->",peg$c123=peg$literalExpectation("->",!1),peg$c124="→",peg$c125=peg$literalExpectation("→",!1),peg$c126=function(){return"->"},peg$c127=peg$otherExpectation("two way light arrow <->"),peg$c128="<->",peg$c129=peg$literalExpectation("<->",!1),peg$c130="↔",peg$c131=peg$literalExpectation("↔",!1),peg$c132=function(){return"<->"},peg$c133=peg$otherExpectation("back light arrow <-"),peg$c134="<-",peg$c135=peg$literalExpectation("<-",!1),peg$c136="←",peg$c137=peg$literalExpectation("←",!1),peg$c138=function(){return"<-"},peg$c139=peg$otherExpectation("forward fat arrow =>"),peg$c140="=>",peg$c141=peg$literalExpectation("=>",!1),peg$c142="⇒",peg$c143=peg$literalExpectation("⇒",!1),peg$c144=function(){return"=>"},peg$c145=peg$otherExpectation("two way fat arrow <=>"),peg$c146="<=>",peg$c147=peg$literalExpectation("<=>",!1),peg$c148="⇔",peg$c149=peg$literalExpectation("⇔",!1),peg$c150=function(){return"<=>"},peg$c151=peg$otherExpectation("back fat arrow <="),peg$c152="<=",peg$c153=peg$literalExpectation("<=",!1),peg$c154="⇐",peg$c155=peg$literalExpectation("⇐",!1),peg$c156=function(){return"<="},peg$c157=peg$otherExpectation("forward tilde arrow ~>"),peg$c158="~>",peg$c159=peg$literalExpectation("~>",!1),peg$c160="↛",peg$c161=peg$literalExpectation("↛",!1),peg$c162=function(){return"~>"},peg$c163=peg$otherExpectation("two way tilde arrow <~>"),peg$c164="<~>",peg$c165=peg$literalExpectation("<~>",!1),peg$c166="↮",peg$c167=peg$literalExpectation("↮",!1),peg$c168=function(){return"<~>"},peg$c169=peg$otherExpectation("back tilde arrow <~"),peg$c170="<~",peg$c171=peg$literalExpectation("<~",!1),peg$c172="↚",peg$c173=peg$literalExpectation("↚",!1),peg$c174=function(){return"<~"},peg$c175=peg$otherExpectation("light fat arrow <-=>"),peg$c176="<-=>",peg$c177=peg$literalExpectation("<-=>",!1),peg$c178="←⇒",peg$c179=peg$literalExpectation("←⇒",!1),peg$c180=function(){return"<-=>"},peg$c181=peg$otherExpectation("light tilde arrow <-~>"),peg$c182="<-~>",peg$c183=peg$literalExpectation("<-~>",!1),peg$c184="←↛",peg$c185=peg$literalExpectation("←↛",!1),peg$c186=function(){return"<-~>"},peg$c187=peg$otherExpectation("fat light arrow <=->"),peg$c188="<=->",peg$c189=peg$literalExpectation("<=->",!1),peg$c190="⇐→",peg$c191=peg$literalExpectation("⇐→",!1),peg$c192=function(){return"<=->"},peg$c193=peg$otherExpectation("fat tilde arrow <=~>"),peg$c194="<=~>",peg$c195=peg$literalExpectation("<=~>",!1),peg$c196="⇐↛",peg$c197=peg$literalExpectation("⇐↛",!1),peg$c198=function(){return"<=~>"},peg$c199=peg$otherExpectation("tilde light arrow <~->"),peg$c200="<~->",peg$c201=peg$literalExpectation("<~->",!1),peg$c202="↚→",peg$c203=peg$literalExpectation("↚→",!1),peg$c204=function(){return"<~->"},peg$c205=peg$otherExpectation("tilde fat arrow <~=>"),peg$c206="<~=>",peg$c207=peg$literalExpectation("<~=>",!1),peg$c208="↚⇒",peg$c209=peg$literalExpectation("↚⇒",!1),peg$c210=function(){return"<~=>"},peg$c211=peg$otherExpectation("light arrow"),peg$c212=peg$otherExpectation("fat arrow"),peg$c213=peg$otherExpectation("tilde arrow"),peg$c214=peg$otherExpectation("mixed arrow"),peg$c215=peg$otherExpectation("arrow"),peg$c216=/^[0-9a-fA-F]/,peg$c217=peg$classExpectation([["0","9"],["a","f"],["A","F"]],!1,!1),peg$c218='"',peg$c219=peg$literalExpectation('"',!1),peg$c220="\\",peg$c221=peg$literalExpectation("\\",!1),peg$c222="/",peg$c223=peg$literalExpectation("/",!1),peg$c224="b",peg$c225=peg$literalExpectation("b",!1),peg$c226=function(){return"\b"},peg$c227="f",peg$c228=peg$literalExpectation("f",!1),peg$c229=function(){return"\f"},peg$c230="n",peg$c231=peg$literalExpectation("n",!1),peg$c232=function(){return"\n"},peg$c233="r",peg$c234=peg$literalExpectation("r",!1),peg$c235=function(){return"\r"},peg$c236="t",peg$c237=peg$literalExpectation("t",!1),peg$c238=function(){return"\t"},peg$c239="v",peg$c240=peg$literalExpectation("v",!1),peg$c241=function(){return"\v"},peg$c242="u",peg$c243=peg$literalExpectation("u",!1),peg$c244=function(digits){return String.fromCharCode(parseInt(digits,16))},peg$c245=function(Sequence){return Sequence},peg$c246=/^[ -!#-[\]-\u10FFFF]/,peg$c247=peg$classExpectation([[" ","!"],["#","["],["]","ჿ"],"F","F"],!1,!1),peg$c248="'",peg$c249=peg$literalExpectation("'",!1),peg$c250=/^[ -&(-[\]-\u10FFFF]/,peg$c251=peg$classExpectation([[" ","&"],["(","["],["]","ჿ"],"F","F"],!1,!1),peg$c252=peg$otherExpectation("action label"),peg$c253=function(chars){return chars.join("")},peg$c254=/^[\n\r\u2028\u2029]/,peg$c255=peg$classExpectation(["\n","\r","\u2028","\u2029"],!1,!1),peg$c258=(peg$classExpectation([" ","\t","\n","\r","\v"],!1,!1),"*/"),peg$c259=peg$literalExpectation("*/",!1),peg$c260={type:"any"},peg$c261=peg$otherExpectation("block comment"),peg$c262="/*",peg$c263=peg$literalExpectation("/*",!1),peg$c264=peg$otherExpectation("line comment"),peg$c265="//",peg$c266=peg$literalExpectation("//",!1),peg$c267=peg$otherExpectation("whitespace"),peg$c268=/^[ \t\r\n\x0B]/,peg$c269=peg$classExpectation([" ","\t","\r","\n","\v"],!1,!1),peg$c270=peg$otherExpectation("string"),peg$c271=/^[0-9a-zA-Z.+_!$\^*!?,\x80-\uFFFF]/,peg$c272=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","_","!","$","^","*","!","?",",",["€","￿"]],!1,!1),peg$c273=/^[0-9a-zA-Z.+=_\^()*&$#@!?,\x80-\uFFFF]/,peg$c274=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","=","_","^","(",")","*","&","$","#","@","!","?",",",["€","￿"]],!1,!1),peg$c275=peg$otherExpectation("atom"),peg$c276=function(firstletter,text){return firstletter+(text||[]).join("")},peg$c277=peg$otherExpectation("label"),peg$c278="0",peg$c279=peg$literalExpectation("0",!1),peg$c280=/^[0-9]/,peg$c281=peg$classExpectation([["0","9"]],!1,!1),peg$c282=/^[1-9]/,peg$c283=peg$classExpectation([["1","9"]],!1,!1),peg$c284=peg$otherExpectation("nonneg number"),peg$c285=".",peg$c286=peg$literalExpectation(".",!1),peg$c287=function(){return parseFloat(text())},peg$c288=function(major,minor,patch){return{major:parseInt(major,10),minor:parseInt(minor,10),patch:parseInt(patch,10),full:text()}},peg$c299=(peg$literalExpectation("^",!1),peg$literalExpectation("~",!1),peg$literalExpectation(">=",!1),peg$literalExpectation("<",!1),peg$literalExpectation(">",!1),"http://"),peg$c300=peg$literalExpectation("http://",!1),peg$c301="https://",peg$c302=peg$literalExpectation("https://",!1),peg$c303=/^[a-zA-Z0-9!*'():;@&=+$,\/?#[\]_.~\-]/,peg$c304=peg$classExpectation([["a","z"],["A","Z"],["0","9"],"!","*","'","(",")",":",";","@","&","=","+","$",",","/","?","#","[","]","_",".","~","-"],!1,!1),peg$c305=function(protocol){return text()},peg$c306="aliceblue",peg$c307=peg$literalExpectation("aliceblue",!1),peg$c308=function(){return"#f0f8ffff"},peg$c309="AliceBlue",peg$c310=peg$literalExpectation("AliceBlue",!1),peg$c311="antiquewhite",peg$c312=peg$literalExpectation("antiquewhite",!1),peg$c313=function(){return"#faebd7ff"},peg$c314="AntiqueWhite",peg$c315=peg$literalExpectation("AntiqueWhite",!1),peg$c316="aqua",peg$c317=peg$literalExpectation("aqua",!1),peg$c318=function(){return"#00ffffff"},peg$c319="Aqua",peg$c320=peg$literalExpectation("Aqua",!1),peg$c321="aquamarine",peg$c322=peg$literalExpectation("aquamarine",!1),peg$c323=function(){return"#7fffd4ff"},peg$c324="Aquamarine",peg$c325=peg$literalExpectation("Aquamarine",!1),peg$c326="azure",peg$c327=peg$literalExpectation("azure",!1),peg$c328=function(){return"#f0ffffff"},peg$c329="Azure",peg$c330=peg$literalExpectation("Azure",!1),peg$c331="beige",peg$c332=peg$literalExpectation("beige",!1),peg$c333=function(){return"#f5f5dcff"},peg$c334="Beige",peg$c335=peg$literalExpectation("Beige",!1),peg$c336="bisque",peg$c337=peg$literalExpectation("bisque",!1),peg$c338=function(){return"#ffe4c4ff"},peg$c339="Bisque",peg$c340=peg$literalExpectation("Bisque",!1),peg$c341="black",peg$c342=peg$literalExpectation("black",!1),peg$c343=function(){return"#000000ff"},peg$c344="Black",peg$c345=peg$literalExpectation("Black",!1),peg$c346="blanchedalmond",peg$c347=peg$literalExpectation("blanchedalmond",!1),peg$c348=function(){return"#ffebcdff"},peg$c349="BlanchedAlmond",peg$c350=peg$literalExpectation("BlanchedAlmond",!1),peg$c351="blue",peg$c352=peg$literalExpectation("blue",!1),peg$c353=function(){return"#0000ffff"},peg$c354="Blue",peg$c355=peg$literalExpectation("Blue",!1),peg$c356="blueviolet",peg$c357=peg$literalExpectation("blueviolet",!1),peg$c358=function(){return"#8a2be2ff"},peg$c359="BlueViolet",peg$c360=peg$literalExpectation("BlueViolet",!1),peg$c361="brown",peg$c362=peg$literalExpectation("brown",!1),peg$c363=function(){return"#a52a2aff"},peg$c364="Brown",peg$c365=peg$literalExpectation("Brown",!1),peg$c366="burlywood",peg$c367=peg$literalExpectation("burlywood",!1),peg$c368=function(){return"#deb887ff"},peg$c369="BurlyWood",peg$c370=peg$literalExpectation("BurlyWood",!1),peg$c371="cadetblue",peg$c372=peg$literalExpectation("cadetblue",!1),peg$c373=function(){return"#5f9ea0ff"},peg$c374="CadetBlue",peg$c375=peg$literalExpectation("CadetBlue",!1),peg$c376="chartreuse",peg$c377=peg$literalExpectation("chartreuse",!1),peg$c378=function(){return"#7fff00ff"},peg$c379="Chartreuse",peg$c380=peg$literalExpectation("Chartreuse",!1),peg$c381="chocolate",peg$c382=peg$literalExpectation("chocolate",!1),peg$c383=function(){return"#d2691eff"},peg$c384="Chocolate",peg$c385=peg$literalExpectation("Chocolate",!1),peg$c386="coral",peg$c387=peg$literalExpectation("coral",!1),peg$c388=function(){return"#ff7f50ff"},peg$c389="Coral",peg$c390=peg$literalExpectation("Coral",!1),peg$c391="cornflowerblue",peg$c392=peg$literalExpectation("cornflowerblue",!1),peg$c393=function(){return"#6495edff"},peg$c394="CornflowerBlue",peg$c395=peg$literalExpectation("CornflowerBlue",!1),peg$c396="cornsilk",peg$c397=peg$literalExpectation("cornsilk",!1),peg$c398=function(){return"#fff8dcff"},peg$c399="Cornsilk",peg$c400=peg$literalExpectation("Cornsilk",!1),peg$c401="crimson",peg$c402=peg$literalExpectation("crimson",!1),peg$c403=function(){return"#dc143cff"},peg$c404="Crimson",peg$c405=peg$literalExpectation("Crimson",!1),peg$c406="cyan",peg$c407=peg$literalExpectation("cyan",!1),peg$c408="Cyan",peg$c409=peg$literalExpectation("Cyan",!1),peg$c410="darkblue",peg$c411=peg$literalExpectation("darkblue",!1),peg$c412=function(){return"#00008bff"},peg$c413="DarkBlue",peg$c414=peg$literalExpectation("DarkBlue",!1),peg$c415="darkcyan",peg$c416=peg$literalExpectation("darkcyan",!1),peg$c417=function(){return"#008b8bff"},peg$c418="DarkCyan",peg$c419=peg$literalExpectation("DarkCyan",!1),peg$c420="darkgoldenrod",peg$c421=peg$literalExpectation("darkgoldenrod",!1),peg$c422=function(){return"#b8860bff"},peg$c423="DarkGoldenRod",peg$c424=peg$literalExpectation("DarkGoldenRod",!1),peg$c425="darkgray",peg$c426=peg$literalExpectation("darkgray",!1),peg$c427=function(){return"#a9a9a9ff"},peg$c428="DarkGray",peg$c429=peg$literalExpectation("DarkGray",!1),peg$c430="darkgrey",peg$c431=peg$literalExpectation("darkgrey",!1),peg$c432="DarkGrey",peg$c433=peg$literalExpectation("DarkGrey",!1),peg$c434="darkgreen",peg$c435=peg$literalExpectation("darkgreen",!1),peg$c436=function(){return"#006400ff"},peg$c437="DarkGreen",peg$c438=peg$literalExpectation("DarkGreen",!1),peg$c439="darkkhaki",peg$c440=peg$literalExpectation("darkkhaki",!1),peg$c441=function(){return"#bdb76bff"},peg$c442="DarkKhaki",peg$c443=peg$literalExpectation("DarkKhaki",!1),peg$c444="darkmagenta",peg$c445=peg$literalExpectation("darkmagenta",!1),peg$c446=function(){return"#8b008bff"},peg$c447="DarkMagenta",peg$c448=peg$literalExpectation("DarkMagenta",!1),peg$c449="darkolivegreen",peg$c450=peg$literalExpectation("darkolivegreen",!1),peg$c451=function(){return"#556b2fff"},peg$c452="DarkOliveGreen",peg$c453=peg$literalExpectation("DarkOliveGreen",!1),peg$c454="darkorange",peg$c455=peg$literalExpectation("darkorange",!1),peg$c456=function(){return"#ff8c00ff"},peg$c457="Darkorange",peg$c458=peg$literalExpectation("Darkorange",!1),peg$c459="darkorchid",peg$c460=peg$literalExpectation("darkorchid",!1),peg$c461=function(){return"#9932ccff"},peg$c462="DarkOrchid",peg$c463=peg$literalExpectation("DarkOrchid",!1),peg$c464="darkred",peg$c465=peg$literalExpectation("darkred",!1),peg$c466=function(){return"#8b0000ff"},peg$c467="DarkRed",peg$c468=peg$literalExpectation("DarkRed",!1),peg$c469="darksalmon",peg$c470=peg$literalExpectation("darksalmon",!1),peg$c471=function(){return"#e9967aff"},peg$c472="DarkSalmon",peg$c473=peg$literalExpectation("DarkSalmon",!1),peg$c474="darkseagreen",peg$c475=peg$literalExpectation("darkseagreen",!1),peg$c476=function(){return"#8fbc8fff"},peg$c477="DarkSeaGreen",peg$c478=peg$literalExpectation("DarkSeaGreen",!1),peg$c479="darkslateblue",peg$c480=peg$literalExpectation("darkslateblue",!1),peg$c481=function(){return"#483d8bff"},peg$c482="DarkSlateBlue",peg$c483=peg$literalExpectation("DarkSlateBlue",!1),peg$c484="darkslategray",peg$c485=peg$literalExpectation("darkslategray",!1),peg$c486=function(){return"#2f4f4fff"},peg$c487="DarkSlateGray",peg$c488=peg$literalExpectation("DarkSlateGray",!1),peg$c489="darkslategrey",peg$c490=peg$literalExpectation("darkslategrey",!1),peg$c491="DarkSlateGrey",peg$c492=peg$literalExpectation("DarkSlateGrey",!1),peg$c493="darkturquoise",peg$c494=peg$literalExpectation("darkturquoise",!1),peg$c495=function(){return"#00ced1ff"},peg$c496="DarkTurquoise",peg$c497=peg$literalExpectation("DarkTurquoise",!1),peg$c498="darkviolet",peg$c499=peg$literalExpectation("darkviolet",!1),peg$c500=function(){return"#9400d3ff"},peg$c501="DarkViolet",peg$c502=peg$literalExpectation("DarkViolet",!1),peg$c503="deeppink",peg$c504=peg$literalExpectation("deeppink",!1),peg$c505=function(){return"#ff1493ff"},peg$c506="DeepPink",peg$c507=peg$literalExpectation("DeepPink",!1),peg$c508="deepskyblue",peg$c509=peg$literalExpectation("deepskyblue",!1),peg$c510=function(){return"#00bfffff"},peg$c511="DeepSkyBlue",peg$c512=peg$literalExpectation("DeepSkyBlue",!1),peg$c513="dimgray",peg$c514=peg$literalExpectation("dimgray",!1),peg$c515=function(){return"#696969ff"},peg$c516="DimGray",peg$c517=peg$literalExpectation("DimGray",!1),peg$c518="dimgrey",peg$c519=peg$literalExpectation("dimgrey",!1),peg$c520="DimGrey",peg$c521=peg$literalExpectation("DimGrey",!1),peg$c522="dodgerblue",peg$c523=peg$literalExpectation("dodgerblue",!1),peg$c524=function(){return"#1e90ffff"},peg$c525="DodgerBlue",peg$c526=peg$literalExpectation("DodgerBlue",!1),peg$c527="firebrick",peg$c528=peg$literalExpectation("firebrick",!1),peg$c529=function(){return"#b22222ff"},peg$c530="FireBrick",peg$c531=peg$literalExpectation("FireBrick",!1),peg$c532="floralwhite",peg$c533=peg$literalExpectation("floralwhite",!1),peg$c534=function(){return"#fffaf0ff"},peg$c535="FloralWhite",peg$c536=peg$literalExpectation("FloralWhite",!1),peg$c537="forestgreen",peg$c538=peg$literalExpectation("forestgreen",!1),peg$c539=function(){return"#228b22ff"},peg$c540="ForestGreen",peg$c541=peg$literalExpectation("ForestGreen",!1),peg$c542="fuchsia",peg$c543=peg$literalExpectation("fuchsia",!1),peg$c544=function(){return"#ff00ffff"},peg$c545="Fuchsia",peg$c546=peg$literalExpectation("Fuchsia",!1),peg$c547="gainsboro",peg$c548=peg$literalExpectation("gainsboro",!1),peg$c549=function(){return"#dcdcdcff"},peg$c550="Gainsboro",peg$c551=peg$literalExpectation("Gainsboro",!1),peg$c552="ghostwhite",peg$c553=peg$literalExpectation("ghostwhite",!1),peg$c554=function(){return"#f8f8ffff"},peg$c555="GhostWhite",peg$c556=peg$literalExpectation("GhostWhite",!1),peg$c557="gold",peg$c558=peg$literalExpectation("gold",!1),peg$c559=function(){return"#ffd700ff"},peg$c560="Gold",peg$c561=peg$literalExpectation("Gold",!1),peg$c562="goldenrod",peg$c563=peg$literalExpectation("goldenrod",!1),peg$c564=function(){return"#daa520ff"},peg$c565="GoldenRod",peg$c566=peg$literalExpectation("GoldenRod",!1),peg$c567="gray",peg$c568=peg$literalExpectation("gray",!1),peg$c569=function(){return"#808080ff"},peg$c570="Gray",peg$c571=peg$literalExpectation("Gray",!1),peg$c572="grey",peg$c573=peg$literalExpectation("grey",!1),peg$c574="Grey",peg$c575=peg$literalExpectation("Grey",!1),peg$c576="green",peg$c577=peg$literalExpectation("green",!1),peg$c578=function(){return"#008000ff"},peg$c579="Green",peg$c580=peg$literalExpectation("Green",!1),peg$c581="greenyellow",peg$c582=peg$literalExpectation("greenyellow",!1),peg$c583=function(){return"#adff2fff"},peg$c584="GreenYellow",peg$c585=peg$literalExpectation("GreenYellow",!1),peg$c586="honeydew",peg$c587=peg$literalExpectation("honeydew",!1),peg$c588=function(){return"#f0fff0ff"},peg$c589="HoneyDew",peg$c590=peg$literalExpectation("HoneyDew",!1),peg$c591="hotpink",peg$c592=peg$literalExpectation("hotpink",!1),peg$c593=function(){return"#ff69b4ff"},peg$c594="HotPink",peg$c595=peg$literalExpectation("HotPink",!1),peg$c596="indianred",peg$c597=peg$literalExpectation("indianred",!1),peg$c598=function(){return"#cd5c5cff"},peg$c599="IndianRed",peg$c600=peg$literalExpectation("IndianRed",!1),peg$c601="indigo",peg$c602=peg$literalExpectation("indigo",!1),peg$c603=function(){return"#4b0082ff"},peg$c604="Indigo",peg$c605=peg$literalExpectation("Indigo",!1),peg$c606="ivory",peg$c607=peg$literalExpectation("ivory",!1),peg$c608=function(){return"#fffff0ff"},peg$c609="Ivory",peg$c610=peg$literalExpectation("Ivory",!1),peg$c611="khaki",peg$c612=peg$literalExpectation("khaki",!1),peg$c613=function(){return"#f0e68cff"},peg$c614="Khaki",peg$c615=peg$literalExpectation("Khaki",!1),peg$c616="lavender",peg$c617=peg$literalExpectation("lavender",!1),peg$c618=function(){return"#e6e6faff"},peg$c619="Lavender",peg$c620=peg$literalExpectation("Lavender",!1),peg$c621="lavenderblush",peg$c622=peg$literalExpectation("lavenderblush",!1),peg$c623=function(){return"#fff0f5ff"},peg$c624="LavenderBlush",peg$c625=peg$literalExpectation("LavenderBlush",!1),peg$c626="lawngreen",peg$c627=peg$literalExpectation("lawngreen",!1),peg$c628=function(){return"#7cfc00ff"},peg$c629="LawnGreen",peg$c630=peg$literalExpectation("LawnGreen",!1),peg$c631="lemonchiffon",peg$c632=peg$literalExpectation("lemonchiffon",!1),peg$c633=function(){return"#fffacdff"},peg$c634="LemonChiffon",peg$c635=peg$literalExpectation("LemonChiffon",!1),peg$c636="lightblue",peg$c637=peg$literalExpectation("lightblue",!1),peg$c638=function(){return"#add8e6ff"},peg$c639="LightBlue",peg$c640=peg$literalExpectation("LightBlue",!1),peg$c641="lightcoral",peg$c642=peg$literalExpectation("lightcoral",!1),peg$c643=function(){return"#f08080ff"},peg$c644="LightCoral",peg$c645=peg$literalExpectation("LightCoral",!1),peg$c646="lightcyan",peg$c647=peg$literalExpectation("lightcyan",!1),peg$c648=function(){return"#e0ffffff"},peg$c649="LightCyan",peg$c650=peg$literalExpectation("LightCyan",!1),peg$c651="lightgoldenrodyellow",peg$c652=peg$literalExpectation("lightgoldenrodyellow",!1),peg$c653=function(){return"#fafad2ff"},peg$c654="LightGoldenRodYellow",peg$c655=peg$literalExpectation("LightGoldenRodYellow",!1),peg$c656="lightgray",peg$c657=peg$literalExpectation("lightgray",!1),peg$c658=function(){return"#d3d3d3ff"},peg$c659="LightGray",peg$c660=peg$literalExpectation("LightGray",!1),peg$c661="lightgrey",peg$c662=peg$literalExpectation("lightgrey",!1),peg$c663="LightGrey",peg$c664=peg$literalExpectation("LightGrey",!1),peg$c665="lightgreen",peg$c666=peg$literalExpectation("lightgreen",!1),peg$c667=function(){return"#90ee90ff"},peg$c668="LightGreen",peg$c669=peg$literalExpectation("LightGreen",!1),peg$c670="lightpink",peg$c671=peg$literalExpectation("lightpink",!1),peg$c672=function(){return"#ffb6c1ff"},peg$c673="LightPink",peg$c674=peg$literalExpectation("LightPink",!1),peg$c675="lightsalmon",peg$c676=peg$literalExpectation("lightsalmon",!1),peg$c677=function(){return"#ffa07aff"},peg$c678="LightSalmon",peg$c679=peg$literalExpectation("LightSalmon",!1),peg$c680="lightseagreen",peg$c681=peg$literalExpectation("lightseagreen",!1),peg$c682=function(){return"#20b2aaff"},peg$c683="LightSeaGreen",peg$c684=peg$literalExpectation("LightSeaGreen",!1),peg$c685="lightskyblue",peg$c686=peg$literalExpectation("lightskyblue",!1),peg$c687=function(){return"#87cefaff"},peg$c688="LightSkyBlue",peg$c689=peg$literalExpectation("LightSkyBlue",!1),peg$c690="lightslategray",peg$c691=peg$literalExpectation("lightslategray",!1),peg$c692=function(){return"#778899ff"},peg$c693="LightSlateGray",peg$c694=peg$literalExpectation("LightSlateGray",!1),peg$c695="lightslategrey",peg$c696=peg$literalExpectation("lightslategrey",!1),peg$c697="LightSlateGrey",peg$c698=peg$literalExpectation("LightSlateGrey",!1),peg$c699="lightsteelblue",peg$c700=peg$literalExpectation("lightsteelblue",!1),peg$c701=function(){return"#b0c4deff"},peg$c702="LightSteelBlue",peg$c703=peg$literalExpectation("LightSteelBlue",!1),peg$c704="lightyellow",peg$c705=peg$literalExpectation("lightyellow",!1),peg$c706=function(){return"#ffffe0ff"},peg$c707="LightYellow",peg$c708=peg$literalExpectation("LightYellow",!1),peg$c709="lime",peg$c710=peg$literalExpectation("lime",!1),peg$c711=function(){return"#00ff00ff"},peg$c712="Lime",peg$c713=peg$literalExpectation("Lime",!1),peg$c714="limegreen",peg$c715=peg$literalExpectation("limegreen",!1),peg$c716=function(){return"#32cd32ff"},peg$c717="LimeGreen",peg$c718=peg$literalExpectation("LimeGreen",!1),peg$c719="linen",peg$c720=peg$literalExpectation("linen",!1),peg$c721=function(){return"#faf0e6ff"},peg$c722="Linen",peg$c723=peg$literalExpectation("Linen",!1),peg$c724="magenta",peg$c725=peg$literalExpectation("magenta",!1),peg$c726="Magenta",peg$c727=peg$literalExpectation("Magenta",!1),peg$c728="maroon",peg$c729=peg$literalExpectation("maroon",!1),peg$c730=function(){return"#800000ff"},peg$c731="Maroon",peg$c732=peg$literalExpectation("Maroon",!1),peg$c733="mediumaquamarine",peg$c734=peg$literalExpectation("mediumaquamarine",!1),peg$c735=function(){return"#66cdaaff"},peg$c736="MediumAquaMarine",peg$c737=peg$literalExpectation("MediumAquaMarine",!1),peg$c738="mediumblue",peg$c739=peg$literalExpectation("mediumblue",!1),peg$c740=function(){return"#0000cdff"},peg$c741="MediumBlue",peg$c742=peg$literalExpectation("MediumBlue",!1),peg$c743="mediumorchid",peg$c744=peg$literalExpectation("mediumorchid",!1),peg$c745=function(){return"#ba55d3ff"},peg$c746="MediumOrchid",peg$c747=peg$literalExpectation("MediumOrchid",!1),peg$c748="mediumpurple",peg$c749=peg$literalExpectation("mediumpurple",!1),peg$c750=function(){return"#9370d8ff"},peg$c751="MediumPurple",peg$c752=peg$literalExpectation("MediumPurple",!1),peg$c753="mediumseagreen",peg$c754=peg$literalExpectation("mediumseagreen",!1),peg$c755=function(){return"#3cb371ff"},peg$c756="MediumSeaGreen",peg$c757=peg$literalExpectation("MediumSeaGreen",!1),peg$c758="mediumslateblue",peg$c759=peg$literalExpectation("mediumslateblue",!1),peg$c760=function(){return"#7b68eeff"},peg$c761="MediumSlateBlue",peg$c762=peg$literalExpectation("MediumSlateBlue",!1),peg$c763="mediumspringgreen",peg$c764=peg$literalExpectation("mediumspringgreen",!1),peg$c765=function(){return"#00fa9aff"},peg$c766="MediumSpringGreen",peg$c767=peg$literalExpectation("MediumSpringGreen",!1),peg$c768="mediumturquoise",peg$c769=peg$literalExpectation("mediumturquoise",!1),peg$c770=function(){return"#48d1ccff"},peg$c771="MediumTurquoise",peg$c772=peg$literalExpectation("MediumTurquoise",!1),peg$c773="mediumvioletred",peg$c774=peg$literalExpectation("mediumvioletred",!1),peg$c775=function(){return"#c71585ff"},peg$c776="MediumVioletRed",peg$c777=peg$literalExpectation("MediumVioletRed",!1),peg$c778="midnightblue",peg$c779=peg$literalExpectation("midnightblue",!1),peg$c780=function(){return"#191970ff"},peg$c781="MidnightBlue",peg$c782=peg$literalExpectation("MidnightBlue",!1),peg$c783="mintcream",peg$c784=peg$literalExpectation("mintcream",!1),peg$c785=function(){return"#f5fffaff"},peg$c786="MintCream",peg$c787=peg$literalExpectation("MintCream",!1),peg$c788="mistyrose",peg$c789=peg$literalExpectation("mistyrose",!1),peg$c790=function(){return"#ffe4e1ff"},peg$c791="MistyRose",peg$c792=peg$literalExpectation("MistyRose",!1),peg$c793="moccasin",peg$c794=peg$literalExpectation("moccasin",!1),peg$c795=function(){return"#ffe4b5ff"},peg$c796="Moccasin",peg$c797=peg$literalExpectation("Moccasin",!1),peg$c798="navajowhite",peg$c799=peg$literalExpectation("navajowhite",!1),peg$c800=function(){return"#ffdeadff"},peg$c801="NavajoWhite",peg$c802=peg$literalExpectation("NavajoWhite",!1),peg$c803="navy",peg$c804=peg$literalExpectation("navy",!1),peg$c805=function(){return"#000080ff"},peg$c806="Navy",peg$c807=peg$literalExpectation("Navy",!1),peg$c808="oldlace",peg$c809=peg$literalExpectation("oldlace",!1),peg$c810=function(){return"#fdf5e6ff"},peg$c811="OldLace",peg$c812=peg$literalExpectation("OldLace",!1),peg$c813="olive",peg$c814=peg$literalExpectation("olive",!1),peg$c815=function(){return"#808000ff"},peg$c816="Olive",peg$c817=peg$literalExpectation("Olive",!1),peg$c818="olivedrab",peg$c819=peg$literalExpectation("olivedrab",!1),peg$c820=function(){return"#6b8e23ff"},peg$c821="OliveDrab",peg$c822=peg$literalExpectation("OliveDrab",!1),peg$c823="orange",peg$c824=peg$literalExpectation("orange",!1),peg$c825=function(){return"#ffa500ff"},peg$c826="Orange",peg$c827=peg$literalExpectation("Orange",!1),peg$c828="orangered",peg$c829=peg$literalExpectation("orangered",!1),peg$c830=function(){return"#ff4500ff"},peg$c831="OrangeRed",peg$c832=peg$literalExpectation("OrangeRed",!1),peg$c833="orchid",peg$c834=peg$literalExpectation("orchid",!1),peg$c835=function(){return"#da70d6ff"},peg$c836="Orchid",peg$c837=peg$literalExpectation("Orchid",!1),peg$c838="palegoldenrod",peg$c839=peg$literalExpectation("palegoldenrod",!1),peg$c840=function(){return"#eee8aaff"},peg$c841="PaleGoldenRod",peg$c842=peg$literalExpectation("PaleGoldenRod",!1),peg$c843="palegreen",peg$c844=peg$literalExpectation("palegreen",!1),peg$c845=function(){return"#98fb98ff"},peg$c846="PaleGreen",peg$c847=peg$literalExpectation("PaleGreen",!1),peg$c848="paleturquoise",peg$c849=peg$literalExpectation("paleturquoise",!1),peg$c850=function(){return"#afeeeeff"},peg$c851="PaleTurquoise",peg$c852=peg$literalExpectation("PaleTurquoise",!1),peg$c853="palevioletred",peg$c854=peg$literalExpectation("palevioletred",!1),peg$c855=function(){return"#d87093ff"},peg$c856="PaleVioletRed",peg$c857=peg$literalExpectation("PaleVioletRed",!1),peg$c858="papayawhip",peg$c859=peg$literalExpectation("papayawhip",!1),peg$c860=function(){return"#ffefd5ff"},peg$c861="PapayaWhip",peg$c862=peg$literalExpectation("PapayaWhip",!1),peg$c863="peachpuff",peg$c864=peg$literalExpectation("peachpuff",!1),peg$c865=function(){return"#ffdab9ff"},peg$c866="PeachPuff",peg$c867=peg$literalExpectation("PeachPuff",!1),peg$c868="peru",peg$c869=peg$literalExpectation("peru",!1),peg$c870=function(){return"#cd853fff"},peg$c871="Peru",peg$c872=peg$literalExpectation("Peru",!1),peg$c873="pink",peg$c874=peg$literalExpectation("pink",!1),peg$c875=function(){return"#ffc0cbff"},peg$c876="Pink",peg$c877=peg$literalExpectation("Pink",!1),peg$c878="plum",peg$c879=peg$literalExpectation("plum",!1),peg$c880=function(){return"#dda0ddff"},peg$c881="Plum",peg$c882=peg$literalExpectation("Plum",!1),peg$c883="powderblue",peg$c884=peg$literalExpectation("powderblue",!1),peg$c885=function(){return"#b0e0e6ff"},peg$c886="PowderBlue",peg$c887=peg$literalExpectation("PowderBlue",!1),peg$c888="purple",peg$c889=peg$literalExpectation("purple",!1),peg$c890=function(){return"#800080ff"},peg$c891="Purple",peg$c892=peg$literalExpectation("Purple",!1),peg$c893="red",peg$c894=peg$literalExpectation("red",!1),peg$c895=function(){return"#ff0000ff"},peg$c896="Red",peg$c897=peg$literalExpectation("Red",!1),peg$c898="rosybrown",peg$c899=peg$literalExpectation("rosybrown",!1),peg$c900=function(){return"#bc8f8fff"},peg$c901="RosyBrown",peg$c902=peg$literalExpectation("RosyBrown",!1),peg$c903="royalblue",peg$c904=peg$literalExpectation("royalblue",!1),peg$c905=function(){return"#4169e1ff"},peg$c906="RoyalBlue",peg$c907=peg$literalExpectation("RoyalBlue",!1),peg$c908="saddlebrown",peg$c909=peg$literalExpectation("saddlebrown",!1),peg$c910=function(){return"#8b4513ff"},peg$c911="SaddleBrown",peg$c912=peg$literalExpectation("SaddleBrown",!1),peg$c913="salmon",peg$c914=peg$literalExpectation("salmon",!1),peg$c915=function(){return"#fa8072ff"},peg$c916="Salmon",peg$c917=peg$literalExpectation("Salmon",!1),peg$c918="sandybrown",peg$c919=peg$literalExpectation("sandybrown",!1),peg$c920=function(){return"#f4a460ff"},peg$c921="SandyBrown",peg$c922=peg$literalExpectation("SandyBrown",!1),peg$c923="seagreen",peg$c924=peg$literalExpectation("seagreen",!1),peg$c925=function(){return"#2e8b57ff"},peg$c926="SeaGreen",peg$c927=peg$literalExpectation("SeaGreen",!1),peg$c928="seashell",peg$c929=peg$literalExpectation("seashell",!1),peg$c930=function(){return"#fff5eeff"},peg$c931="SeaShell",peg$c932=peg$literalExpectation("SeaShell",!1),peg$c933="sienna",peg$c934=peg$literalExpectation("sienna",!1),peg$c935=function(){return"#a0522dff"},peg$c936="Sienna",peg$c937=peg$literalExpectation("Sienna",!1),peg$c938="silver",peg$c939=peg$literalExpectation("silver",!1),peg$c940=function(){return"#c0c0c0ff"},peg$c941="Silver",peg$c942=peg$literalExpectation("Silver",!1),peg$c943="skyblue",peg$c944=peg$literalExpectation("skyblue",!1),peg$c945=function(){return"#87ceebff"},peg$c946="SkyBlue",peg$c947=peg$literalExpectation("SkyBlue",!1),peg$c948="slateblue",peg$c949=peg$literalExpectation("slateblue",!1),peg$c950=function(){return"#6a5acdff"},peg$c951="SlateBlue",peg$c952=peg$literalExpectation("SlateBlue",!1),peg$c953="slategray",peg$c954=peg$literalExpectation("slategray",!1),peg$c955=function(){return"#708090ff"},peg$c956="SlateGray",peg$c957=peg$literalExpectation("SlateGray",!1),peg$c958="slategrey",peg$c959=peg$literalExpectation("slategrey",!1),peg$c960="SlateGrey",peg$c961=peg$literalExpectation("SlateGrey",!1),peg$c962="snow",peg$c963=peg$literalExpectation("snow",!1),peg$c964=function(){return"#fffafaff"},peg$c965="Snow",peg$c966=peg$literalExpectation("Snow",!1),peg$c967="springgreen",peg$c968=peg$literalExpectation("springgreen",!1),peg$c969=function(){return"#00ff7fff"},peg$c970="SpringGreen",peg$c971=peg$literalExpectation("SpringGreen",!1),peg$c972="steelblue",peg$c973=peg$literalExpectation("steelblue",!1),peg$c974=function(){return"#4682b4ff"},peg$c975="SteelBlue",peg$c976=peg$literalExpectation("SteelBlue",!1),peg$c977="tan",peg$c978=peg$literalExpectation("tan",!1),peg$c979=function(){return"#d2b48cff"},peg$c980="Tan",peg$c981=peg$literalExpectation("Tan",!1),peg$c982="teal",peg$c983=peg$literalExpectation("teal",!1),peg$c984=function(){return"#008080ff"},peg$c985="Teal",peg$c986=peg$literalExpectation("Teal",!1),peg$c987="thistle",peg$c988=peg$literalExpectation("thistle",!1),peg$c989=function(){return"#d8bfd8ff"},peg$c990="Thistle",peg$c991=peg$literalExpectation("Thistle",!1),peg$c992="tomato",peg$c993=peg$literalExpectation("tomato",!1),peg$c994=function(){return"#ff6347ff"},peg$c995="Tomato",peg$c996=peg$literalExpectation("Tomato",!1),peg$c997="turquoise",peg$c998=peg$literalExpectation("turquoise",!1),peg$c999=function(){return"#40e0d0ff"},peg$c1000="Turquoise",peg$c1001=peg$literalExpectation("Turquoise",!1),peg$c1002="violet",peg$c1003=peg$literalExpectation("violet",!1),peg$c1004=function(){return"#ee82eeff"},peg$c1005="Violet",peg$c1006=peg$literalExpectation("Violet",!1),peg$c1007="wheat",peg$c1008=peg$literalExpectation("wheat",!1),peg$c1009=function(){return"#f5deb3ff"},peg$c1010="Wheat",peg$c1011=peg$literalExpectation("Wheat",!1),peg$c1012="white",peg$c1013=peg$literalExpectation("white",!1),peg$c1014=function(){return"#ffffffff"},peg$c1015="White",peg$c1016=peg$literalExpectation("White",!1),peg$c1017="whitesmoke",peg$c1018=peg$literalExpectation("whitesmoke",!1),peg$c1019=function(){return"#f5f5f5ff"},peg$c1020="WhiteSmoke",peg$c1021=peg$literalExpectation("WhiteSmoke",!1),peg$c1022="yellow",peg$c1023=peg$literalExpectation("yellow",!1),peg$c1024=function(){return"#ffff00ff"},peg$c1025="Yellow",peg$c1026=peg$literalExpectation("Yellow",!1),peg$c1027="yellowgreen",peg$c1028=peg$literalExpectation("yellowgreen",!1),peg$c1029=function(){return"#9acd32ff"},peg$c1030="YellowGreen",peg$c1031=peg$literalExpectation("YellowGreen",!1),peg$c1032=function(lab){return lab},peg$c1033="#",peg$c1034=peg$literalExpectation("#",!1),peg$c1035=function(r,g,b){return""+r+r+g+g+b+b+"ff"},peg$c1036=function(r1,r2,g1,g2,b1,b2){return""+r1+r2+g1+g2+b1+b2+"ff"},peg$c1037=function(r,g,b,a){return""+r+r+g+g+b+b+a+a},peg$c1038=function(r1,r2,g1,g2,b1,b2,a1,a2){return""+r1+r2+g1+g2+b1+b2+a1+a2},peg$c1039=peg$otherExpectation("color"),peg$c1040="arc_label",peg$c1041=peg$literalExpectation("arc_label",!1),peg$c1042="head_label",peg$c1043=peg$literalExpectation("head_label",!1),peg$c1044="tail_label",peg$c1045=peg$literalExpectation("tail_label",!1),peg$c1046=":",peg$c1047=peg$literalExpectation(":",!1),peg$c1048=";",peg$c1049=peg$literalExpectation(";",!1),peg$c1050=function(key,value){return{key:key,value:value}},peg$c1051=peg$otherExpectation("single edge color"),peg$c1052="edge_color",peg$c1053=peg$literalExpectation("edge_color",!1),peg$c1054=function(value){return{key:"single_edge_color",value:value}},peg$c1055="{",peg$c1056=peg$literalExpectation("{",!1),peg$c1057="}",peg$c1058=peg$literalExpectation("}",!1),peg$c1059=function(items){return items},peg$c1060="%",peg$c1061=peg$literalExpectation("%",!1),peg$c1062=function(value){return{key:"arrow probability",value:value}},peg$c1063="[",peg$c1064=peg$literalExpectation("[",!1),peg$c1065="]",peg$c1066=peg$literalExpectation("]",!1),peg$c1067=function(names){return names.map(function(i){return i[0]})},peg$c1068=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$c1069=function(label,se){var base={key:"transition",from:label};return se&&se!==[]&&(base.se=se),base},peg$c1070="whargarbl",peg$c1071=peg$literalExpectation("whargarbl",!1),peg$c1072="todo",peg$c1073=peg$literalExpectation("todo",!1),peg$c1074=function(validationkey,value){return{key:validationkey,value:value}},peg$c1075="validation",peg$c1076=peg$literalExpectation("validation",!1),peg$c1077="};",peg$c1078=peg$literalExpectation("};",!1),peg$c1079=function(validation_items){return{config_kind:"validation",config_items:validation_items||[]}},peg$c1080="dot",peg$c1081=peg$literalExpectation("dot",!1),peg$c1082="circo",peg$c1083=peg$literalExpectation("circo",!1),peg$c1084="fdp",peg$c1085=peg$literalExpectation("fdp",!1),peg$c1086="neato",peg$c1087=peg$literalExpectation("neato",!1),peg$c1088="in_shape",peg$c1089=peg$literalExpectation("in_shape",!1),peg$c1090="out_shape",peg$c1091=peg$literalExpectation("out_shape",!1),peg$c1092="node_shape",peg$c1093=peg$literalExpectation("node_shape",!1),peg$c1094="state",peg$c1095=peg$literalExpectation("state",!1),peg$c1096=function(state_items){return{config_kind:"state",config_items:state_items||[]}},peg$c1097=function(actionkey,value){return{key:actionkey,value:value}},peg$c1098="action",peg$c1099=peg$literalExpectation("action",!1),peg$c1100=function(action_items){return{config_kind:"action",config_items:action_items||[]}},peg$c1101=function(transitionkey,value){return{key:transitionkey,value:value}},peg$c1102=peg$otherExpectation("graph default edge color"),peg$c1103=function(value){return{key:"graph_default_edge_color",value:value}},peg$c1104="transition",peg$c1105=peg$literalExpectation("transition",!1),peg$c1106=function(transition_items){return{config_kind:"transition",config_items:transition_items||[]}},peg$c1107="graph_layout",peg$c1108=peg$literalExpectation("graph_layout",!1),peg$c1109=function(value){return{key:"graph_layout",value:value}},peg$c1110="start_states",peg$c1111=peg$literalExpectation("start_states",!1),peg$c1112=function(value){return{key:"start_states",value:value}},peg$c1113="end_states",peg$c1114=peg$literalExpectation("end_states",!1),peg$c1115=function(value){return{key:"end_states",value:value}},peg$c1116="graph_bg_color",peg$c1117=peg$literalExpectation("graph_bg_color",!1),peg$c1118=function(value){return{key:"graph_bg_color",value:value}},peg$c1119=peg$otherExpectation("configuration"),peg$c1120="MIT",peg$c1121=peg$literalExpectation("MIT",!1),peg$c1122="BSD 2-clause",peg$c1123=peg$literalExpectation("BSD 2-clause",!1),peg$c1124="BSD 3-clause",peg$c1125=peg$literalExpectation("BSD 3-clause",!1),peg$c1126="Apache 2.0",peg$c1127=peg$literalExpectation("Apache 2.0",!1),peg$c1128="Mozilla 2.0",peg$c1129=peg$literalExpectation("Mozilla 2.0",!1),peg$c1130="Public domain",peg$c1131=peg$literalExpectation("Public domain",!1),peg$c1132="GPL v2",peg$c1133=peg$literalExpectation("GPL v2",!1),peg$c1134="GPL v3",peg$c1135=peg$literalExpectation("GPL v3",!1),peg$c1136="LGPL v2.1",peg$c1137=peg$literalExpectation("LGPL v2.1",!1),peg$c1138="LGPL v3.0",peg$c1139=peg$literalExpectation("LGPL v3.0",!1),peg$c1140="Unknown",peg$c1141=peg$literalExpectation("Unknown",!1),peg$c1142="machine_author",peg$c1143=peg$literalExpectation("machine_author",!1),peg$c1144=function(author){return{key:"machine_author",value:author}},peg$c1145="machine_contributor",peg$c1146=peg$literalExpectation("machine_contributor",!1),peg$c1147=function(contributor){return{key:"machine_contributor",value:contributor}},peg$c1148="machine_comment",peg$c1149=peg$literalExpectation("machine_comment",!1),peg$c1150=function(comment){return{key:"machine_comment",value:comment}},peg$c1151="machine_definition",peg$c1152=peg$literalExpectation("machine_definition",!1),peg$c1153=function(definition){return{key:"machine_definition",value:definition}},peg$c1154="machine_name",peg$c1155=peg$literalExpectation("machine_name",!1),peg$c1156=function(name){return{key:"machine_name",value:name}},peg$c1160=(peg$literalExpectation("machine_reference",!1),"machine_version"),peg$c1161=peg$literalExpectation("machine_version",!1),peg$c1162=function(version){return{key:"machine_version",value:version}},peg$c1163="machine_license",peg$c1164=peg$literalExpectation("machine_license",!1),peg$c1165=function(license){return{key:"machine_license",value:license}},peg$c1166="machine_language",peg$c1167=peg$literalExpectation("machine_language",!1),peg$c1168=function(language){return{key:"machine_language",value:language}},peg$c1169="fsl_version",peg$c1170=peg$literalExpectation("fsl_version",!1),peg$c1171=function(fsl_version){return{key:"fsl_version",value:fsl_version}},peg$c1172=peg$otherExpectation("machine attribute"),peg$c1173=peg$otherExpectation("node color"),peg$c1174="node_color",peg$c1175=peg$literalExpectation("node_color",!1),peg$c1176=function(value){return{key:"node_color",value:value}},peg$c1177=peg$otherExpectation("node shape"),peg$c1178=function(value){return{key:"node_shape",value:value}},peg$c1179=function(state_name,decl_desc){return{key:"state_declaration",name:state_name,value:decl_desc}},peg$c1180="&",peg$c1181=peg$literalExpectation("&",!1),peg$c1182=function(list_name,contents){return{key:"named_list",name:list_name,value:contents}},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,opts,prob_prop,extract){return histograph(weighted_sample_select(n,opts,prob_prop).map(function(s){return s[extract]}))},exports.weighted_rand_select=weighted_rand_select,exports.weighted_sample_select=weighted_sample_select},{}],3:[function(require,module,exports){var reductions=require("./reductions.json");module.exports={reduce:function(from){return reductions[(from||"").toLowerCase()]},reductions:reductions}},{"./reductions.json":4}],4:[function(require,module,exports){module.exports={abkhazian:"ab","аҧсуа бызшәа, аҧсшәа":"ab",ab:"ab",abk:"ab","аҧсуа бызшәа":"ab","аҧсшәа":"ab",afar:"aa",afaraf:"aa",aa:"aa",aar:"aa",afrikaans:"af",af:"af",afr:"af",akan:"ak",ak:"ak",aka:"ak","aka + 2":"ak",albanian:"sq",shqip:"sq",sq:"sq",sqi:"sq",alb:"sq","sqi + 4":"sq",amharic:"am","አማርኛ":"am",am:"am",amh:"am",arabic:"ar","العربية":"ar",ar:"ar",ara:"ar","ara + 30":"ar",aragonese:"an","aragonés":"an",an:"an",arg:"an",armenian:"hy","հայերեն":"hy",hy:"hy",hye:"hy",arm:"hy",assamese:"as","অসমীয়া":"as",as:"as",asm:"as",avaric:"av","авар мацӏ, магӏарул мацӏ":"av",av:"av",ava:"av","авар мацӏ":"av","магӏарул мацӏ":"av",avestan:"ae",avesta:"ae",ae:"ae",ave:"ae",aymara:"ay","aymar aru":"ay",ay:"ay",aym:"ay","aym + 2":"ay",azerbaijani:"az","azərbaycan dili":"az",az:"az",aze:"az","aze + 2":"az",bambara:"bm",bamanankan:"bm",bm:"bm",bam:"bm",bashkir:"ba","башҡорт теле":"ba",ba:"ba",bak:"ba",basque:"eu","euskara, euskera":"eu",eu:"eu",eus:"eu",baq:"eu",euskara:"eu",euskera:"eu",belarusian:"be","беларуская мова":"be",be:"be",bel:"be",bengali:"bn","বাংলা":"bn",bn:"bn",ben:"bn","bihari languages":"bh","भोजपुरी":"bh",bh:"bh",bih:"bh","":"bh",bislama:"bi",bi:"bi",bis:"bi",bosnian:"bs","bosanski jezik":"bs",bs:"bs",bos:"bs",breton:"br",brezhoneg:"br",br:"br",bre:"br",bulgarian:"bg","български език":"bg",bg:"bg",bul:"bg",burmese:"my","ဗမာစာ":"my",my:"my",mya:"my",bur:"my","catalan, valencian":"ca","català, valencià":"ca",ca:"ca",cat:"ca","català":"ca","valencià":"ca",chamorro:"ch",chamoru:"ch",ch:"ch",cha:"ch",chechen:"ce","нохчийн мотт":"ce",ce:"ce",che:"ce","chichewa, chewa, nyanja":"ny","chicheŵa, chinyanja":"ny",ny:"ny",nya:"ny","chicheŵa":"ny",chinyanja:"ny",chinese:"zh","中文 (zhōngwén), 汉语, 漢語":"zh",zh:"zh",zho:"zh",chi:"zh","zho + 13":"zh","中文 (zhōngwén)":"zh","汉语":"zh","漢語":"zh",chuvash:"cv","чӑваш чӗлхи":"cv",cv:"cv",chv:"cv",cornish:"kw",kernewek:"kw",kw:"kw",cor:"kw",corsican:"co","corsu, lingua corsa":"co",co:"co",cos:"co",corsu:"co","lingua corsa":"co",cree:"cr","ᓀᐦᐃᔭᐍᐏᐣ":"cr",cr:"cr",cre:"cr","cre + 6":"cr",croatian:"hr","hrvatski jezik":"hr",hr:"hr",hrv:"hr",czech:"cs","čeština, český jazyk":"cs",cs:"cs",ces:"cs",cze:"cs","čeština":"cs","český jazyk":"cs",danish:"da",dansk:"da",da:"da",dan:"da","divehi, dhivehi, maldivian":"dv","ދިވެހި":"dv",dv:"dv",div:"dv","dutch, flemish":"nl","nederlands, vlaams":"nl",nl:"nl",nld:"nl",dut:"nl",nederlands:"nl",vlaams:"nl",dzongkha:"dz","རྫོང་ཁ":"dz",dz:"dz",dzo:"dz",english:"en",en:"en",eng:"en",esperanto:"eo",eo:"eo",epo:"eo",estonian:"et","eesti, eesti keel":"et",et:"et",est:"et","est + 2":"et",eesti:"et","eesti keel":"et",ewe:"ee","eʋegbe":"ee",ee:"ee",faroese:"fo","føroyskt":"fo",fo:"fo",fao:"fo",fijian:"fj","vosa vakaviti":"fj",fj:"fj",fij:"fj",finnish:"fi","suomi, suomen kieli":"fi",fi:"fi",fin:"fi",suomi:"fi","suomen kieli":"fi",french:"fr","français, langue française":"fr",fr:"fr",fra:"fr",fre:"fr","français":"fr","langue française":"fr",fulah:"ff","fulfulde, pulaar, pular":"ff",ff:"ff",ful:"ff","ful + 9":"ff",fulfulde:"ff",pulaar:"ff",pular:"ff",galician:"gl",galego:"gl",gl:"gl",glg:"gl",georgian:"ka","ქართული":"ka",ka:"ka",kat:"ka",geo:"ka",german:"de",deutsch:"de",de:"de",deu:"de",ger:"de","greek (modern)":"el","ελληνικά":"el",el:"el",ell:"el",gre:"el","guaraní":"gn","avañe'ẽ":"gn",gn:"gn",grn:"gn","grn + 5":"gn",gujarati:"gu","ગુજરાતી":"gu",gu:"gu",guj:"gu","haitian, haitian creole":"ht","kreyòl ayisyen":"ht",ht:"ht",hat:"ht",hausa:"ha","(hausa) هَوُسَ":"ha",ha:"ha",hau:"ha","hebrew (modern)":"he","עברית":"he",he:"he",heb:"he",herero:"hz",otjiherero:"hz",hz:"hz",her:"hz",hindi:"hi","हिन्दी, हिंदी":"hi",hi:"hi",hin:"hi","हिन्दी":"hi","हिंदी":"hi","hiri motu":"ho",ho:"ho",hmo:"ho",hungarian:"hu",magyar:"hu",hu:"hu",hun:"hu",interlingua:"ia",ia:"ia",ina:"ia",indonesian:"id","bahasa indonesia":"id",id:"id",ind:"id",interlingue:"ie","originally called occidental; then interlingue after wwii":"ie",ie:"ie",ile:"ie",irish:"ga",gaeilge:"ga",ga:"ga",gle:"ga",igbo:"ig","asụsụ igbo":"ig",ig:"ig",ibo:"ig",inupiaq:"ik","iñupiaq, iñupiatun":"ik",ik:"ik",ipk:"ik","ipk + 2":"ik","iñupiaq":"ik","iñupiatun":"ik",ido:"io",io:"io",icelandic:"is","íslenska":"is",is:"is",isl:"is",ice:"is",italian:"it",italiano:"it",it:"it",ita:"it",inuktitut:"iu","ᐃᓄᒃᑎᑐᑦ":"iu",iu:"iu",iku:"iu","iku + 2":"iu",japanese:"ja","日本語 (にほんご)":"ja",ja:"ja",jpn:"ja",javanese:"jv","ꦧꦱꦗꦮ, basa jawa":"jv",jv:"jv",jav:"jv","ꦧꦱꦗꦮ":"jv","basa jawa":"jv","kalaallisut, greenlandic":"kl","kalaallisut, kalaallit oqaasii":"kl",kl:"kl",kal:"kl",kalaallisut:"kl","kalaallit oqaasii":"kl",kannada:"kn","ಕನ್ನಡ":"kn",kn:"kn",kan:"kn",kanuri:"kr",kr:"kr",kau:"kr","kau + 3":"kr",kashmiri:"ks","कश्मीरी, كشميري‎":"ks",ks:"ks",kas:"ks","कश्मीरी":"ks","كشميري‎":"ks",kazakh:"kk","қазақ тілі":"kk",kk:"kk",kaz:"kk","central khmer":"km","ខ្មែរ, ខេមរភាសា, ភាសាខ្មែរ":"km",km:"km",khm:"km","ខ្មែរ":"km","ខេមរភាសា":"km","ភាសាខ្មែរ":"km","kikuyu, gikuyu":"ki","gĩkũyũ":"ki",ki:"ki",kik:"ki",kinyarwanda:"rw",ikinyarwanda:"rw",rw:"rw",kin:"rw","kirghiz, kyrgyz":"ky","кыргызча, кыргыз тили":"ky",ky:"ky",kir:"ky","кыргызча":"ky","кыргыз тили":"ky",komi:"kv","коми кыв":"kv",kv:"kv",kom:"kv","kom + 2":"kv",kongo:"kg",kikongo:"kg",kg:"kg",kon:"kg","kon + 3":"kg",korean:"ko","한국어":"ko",ko:"ko",kor:"ko",kurdish:"ku","kurdî, كوردی‎":"ku",ku:"ku",kur:"ku","kur + 3":"ku","kurdî":"ku","كوردی‎":"ku","kuanyama, kwanyama":"kj",kuanyama:"kj",kj:"kj",kua:"kj",latin:"la","latine, lingua latina":"la",la:"la",lat:"la",latine:"la","lingua latina":"la","luxembourgish, letzeburgesch":"lb","lëtzebuergesch":"lb",lb:"lb",ltz:"lb",ganda:"lg",luganda:"lg",lg:"lg",lug:"lg","limburgan, limburger, limburgish":"li",limburgs:"li",li:"li",lim:"li",lingala:"ln","lingála":"ln",ln:"ln",lin:"ln",lao:"lo","ພາສາລາວ":"lo",lo:"lo",lithuanian:"lt","lietuvių kalba":"lt",lt:"lt",lit:"lt","luba-katanga":"lu",kiluba:"lu",lu:"lu",lub:"lu",latvian:"lv","latviešu valoda":"lv",lv:"lv",lav:"lv","lav + 2":"lv",manx:"gv","gaelg, gailck":"gv",gv:"gv",glv:"gv",gaelg:"gv",gailck:"gv",macedonian:"mk","македонски јазик":"mk",mk:"mk",mkd:"mk",mac:"mk",malagasy:"mg","fiteny malagasy":"mg",mg:"mg",mlg:"mg","mlg + 10":"mg",malay:"ms","bahasa melayu, بهاس ملايو‎":"ms",ms:"ms",msa:"ms",may:"ms","msa + 13":"ms","bahasa melayu":"ms","بهاس ملايو‎":"ms",malayalam:"ml","മലയാളം":"ml",ml:"ml",mal:"ml",maltese:"mt",malti:"mt",mt:"mt",mlt:"mt",maori:"mi","te reo māori":"mi",mi:"mi",mri:"mi",mao:"mi",marathi:"mr","मराठी":"mr",mr:"mr",mar:"mr",marshallese:"mh","kajin m̧ajeļ":"mh",mh:"mh",mah:"mh",mongolian:"mn","монгол хэл":"mn",mn:"mn",mon:"mn","mon + 2":"mn",nauru:"na","dorerin naoero":"na",na:"na",nau:"na","navajo, navaho":"nv","diné bizaad":"nv",nv:"nv",nav:"nv","north ndebele":"nd",isindebele:"nr",nd:"nd",nde:"nd",nepali:"ne","नेपाली":"ne",ne:"ne",nep:"ne",ndonga:"ng",owambo:"ng",ng:"ng",ndo:"ng","norwegian bokmål":"nb","norsk bokmål":"nb",nb:"nb",nob:"nb","norwegian nynorsk":"nn","norsk nynorsk":"nn",nn:"nn",nno:"nn",norwegian:"no",norsk:"no",no:"no",nor:"no","nor + 2":"no","sichuan yi, nuosu":"ii","ꆈꌠ꒿ nuosuhxop":"ii",ii:"ii",iii:"ii","south ndebele":"nr",nr:"nr",nbl:"nr",occitan:"oc","occitan, lenga d'òc":"oc",oc:"oc",oci:"oc","lenga d'òc":"oc",ojibwa:"oj","ᐊᓂᔑᓈᐯᒧᐎᓐ":"oj",oj:"oj",oji:"oj","oji + 7":"oj","church slavic, church slavonic, old church slavonic, old slavonic, old bulgarian":"cu","ѩзыкъ словѣньскъ":"cu",cu:"cu",chu:"cu",oromo:"om","afaan oromoo":"om",om:"om",orm:"om","orm + 4":"om",oriya:"or","ଓଡ଼ିଆ":"or",or:"or",ori:"or","ossetian, ossetic":"os","ирон æвзаг":"os",os:"os",oss:"os","panjabi, punjabi":"pa","ਪੰਜਾਬੀ":"pa",pa:"pa",pan:"pa",pali:"pi","पाऴि":"pi",pi:"pi",pli:"pi",persian:"fa","فارسی":"fa",fa:"fa",fas:"fa",per:"fa","fas + 2":"fa",polish:"pl","język polski, polszczyzna":"pl",pl:"pl",pol:"pl","język polski":"pl",polszczyzna:"pl","pashto, pushto":"ps","پښتو":"ps",ps:"ps",pus:"ps","pus + 3":"ps",portuguese:"pt","português":"pt",pt:"pt",por:"pt",quechua:"qu","runa simi, kichwa":"qu",qu:"qu",que:"qu","que + 44":"qu","runa simi":"qu",kichwa:"qu",romansh:"rm","rumantsch grischun":"rm",rm:"rm",roh:"rm",rundi:"rn",ikirundi:"rn",rn:"rn",run:"rn","romanian, moldavian, moldovan":"ro","română":"ro",ro:"ro",ron:"ro",rum:"ro",russian:"ru","русский":"ru",ru:"ru",rus:"ru",sanskrit:"sa","संस्कृतम्":"sa",sa:"sa",san:"sa",sardinian:"sc",sardu:"sc",sc:"sc",srd:"sc","srd + 4":"sc",sindhi:"sd","सिन्धी, سنڌي، سندھی‎":"sd",sd:"sd",snd:"sd","सिन्धी":"sd","سنڌي، سندھی‎":"sd","northern sami":"se","davvisámegiella":"se",se:"se",sme:"se",samoan:"sm","gagana fa'a samoa":"sm",sm:"sm",smo:"sm",sango:"sg","yângâ tî sängö":"sg",sg:"sg",sag:"sg",serbian:"sr","српски језик":"sr",sr:"sr",srp:"sr","gaelic, scottish gaelic":"gd","gàidhlig":"gd",gd:"gd",gla:"gd",shona:"sn",chishona:"sn",sn:"sn",sna:"sn","sinhala, sinhalese":"si","සිංහල":"si",si:"si",sin:"si",slovak:"sk","slovenčina, slovenský jazyk":"sk",sk:"sk",slk:"sk",slo:"sk","slovenčina":"sk","slovenský jazyk":"sk",slovenian:"sl","slovenski jezik, slovenščina":"sl",sl:"sl",slv:"sl","slovenski jezik":"sl","slovenščina":"sl",somali:"so","soomaaliga, af soomaali":"so",so:"so",som:"so",soomaaliga:"so","af soomaali":"so","southern sotho":"st",sesotho:"st",st:"st",sot:"st","spanish, castilian":"es","español":"es",es:"es",spa:"es",sundanese:"su","basa sunda":"su",su:"su",sun:"su",swahili:"sw",kiswahili:"sw",sw:"sw",swa:"sw","swa + 2":"sw",swati:"ss",siswati:"ss",ss:"ss",ssw:"ss",swedish:"sv",svenska:"sv",sv:"sv",swe:"sv",tamil:"ta","தமிழ்":"ta",ta:"ta",tam:"ta",telugu:"te","తెలుగు":"te",te:"te",tel:"te",tajik:"tg","тоҷикӣ, toçikī, تاجیکی‎":"tg",tg:"tg",tgk:"tg","тоҷикӣ":"tg","toçikī":"tg","تاجیکی‎":"tg",thai:"th","ไทย":"th",th:"th",tha:"th",tigrinya:"ti","ትግርኛ":"ti",ti:"ti",tir:"ti",tibetan:"bo","བོད་ཡིག":"bo",bo:"bo",bod:"bo",tib:"bo",turkmen:"tk","türkmen, түркмен":"tk",tk:"tk",tuk:"tk","türkmen":"tk","түркмен":"tk",tagalog:"tl","wikang tagalog":"tl",tl:"tl",tgl:"tl",tswana:"tn",setswana:"tn",tn:"tn",tsn:"tn","tonga (tonga islands)":"to","faka tonga":"to",to:"to",ton:"to",turkish:"tr","türkçe":"tr",tr:"tr",tur:"tr",tsonga:"ts",xitsonga:"ts",ts:"ts",tso:"ts",tatar:"tt","татар теле, tatar tele":"tt",tt:"tt",tat:"tt","татар теле":"tt","tatar tele":"tt",twi:"tw",tw:"tw",tahitian:"ty","reo tahiti":"ty",ty:"ty",tah:"ty","uighur, uyghur":"ug","ئۇيغۇرچە‎, uyghurche":"ug",ug:"ug",uig:"ug","ئۇيغۇرچە‎":"ug",uyghurche:"ug",ukrainian:"uk","українська":"uk",uk:"uk",ukr:"uk",urdu:"ur","اردو":"ur",ur:"ur",urd:"ur",uzbek:"uz","oʻzbek, ўзбек, أۇزبېك‎":"uz",uz:"uz",uzb:"uz","uzb + 2":"uz","oʻzbek":"uz","ўзбек":"uz","أۇزبېك‎":"uz",venda:"ve","tshivenḓa":"ve",ve:"ve",ven:"ve",vietnamese:"vi","tiếng việt":"vi",vi:"vi",vie:"vi","volapük":"vo",vo:"vo",vol:"vo",walloon:"wa",walon:"wa",wa:"wa",wln:"wa",welsh:"cy",cymraeg:"cy",cy:"cy",cym:"cy",wel:"cy",wolof:"wo",wollof:"wo",wo:"wo",wol:"wo","western frisian":"fy",frysk:"fy",fy:"fy",fry:"fy",xhosa:"xh",isixhosa:"xh",xh:"xh",xho:"xh",yiddish:"yi","ייִדיש":"yi",yi:"yi",yid:"yi","yid + 2":"yi",yoruba:"yo","yorùbá":"yo",yo:"yo",yor:"yo","zhuang, chuang":"za","saɯ cueŋƅ, saw cuengh":"za",za:"za",zha:"za","zha + 16":"za","saɯ cueŋƅ":"za","saw cuengh":"za",zulu:"zu",isizulu:"zu",zu:"zu",zul:"zu"}},{}],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"=>":case"⇒":case"~>":case"↛":return"none";case"<-":case"←":case"<->":case"↔":case"<-=>":case"←⇒":case"<-~>":case"←↛":return"legal";case"<=":case"⇐":case"<=>":case"⇔":case"<=->":case"⇐→":case"<=~>":case"⇐↛":return"main";case"<~":case"↚":case"<~>":case"↮":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"<=":case"⇐":case"<~":case"↚":return"none";case"->":case"→":case"<->":case"↔":case"<=->":case"⇐→":case"<~->":case"↚→":return"legal";case"=>":case"⇒":case"<=>":case"⇔":case"<-=>":case"←⇒":case"<~=>":case"↚⇒":return"main";case"~>":case"↛":case"<~>":case"↮":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("machine_language"===rule.key)return{agg_as:"machine_language",val:reduce_to_639(rule.value)};if("state_declaration"===rule.key){if(!rule.name)throw new Error("State declarations must have a name");return{agg_as:"state_declaration",val:{state:rule.name,declarations:rule.value}}}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:[],state_declaration:[],fsl_version:[],machine_author:[],machine_comment:[],machine_contributor:[],machine_definition:[],machine_language:[],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","machine_language"].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","state_declaration"].map(function(multiKey){results[multiKey].length&&(result_cfg[multiKey]=results[multiKey])}),result_cfg}function make(plan){return compile(parse(plan))}function transfer_state_properties(state_decl){return state_decl.declarations.map(function(d){switch(d.key){case"node_shape":state_decl.node_shape=d.value;break;case"node_color":state_decl.node_color=d.value;break;default:throw new Error("Unknown state property: '"+JSON.stringify(d)+"'")}}),state_decl}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.transfer_state_properties=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.12.0",exports.transfer_state_properties=transfer_state_properties,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"=>":case"⇒":case"~>":case"↛":return"right";case"<-":case"←":case"<=":case"⇐":case"<~":case"↚":return"left";case"<->":case"↔":case"<-=>":case"←⇒":case"<-~>":case"←↛":case"<=>":case"⇔":case"<=->":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,"reduce-to-639-1":3}]},{},[]); \ No newline at end of file diff --git a/src/js/jssm-types.js b/src/js/jssm-types.js index a518605e..ea91fc18 100644 --- a/src/js/jssm-types.js +++ b/src/js/jssm-types.js @@ -17,11 +17,23 @@ type JssmArrow = '->' | '<->' | '<=->' | '<~->' | '=>' | '<=>' | '<-=>' | '<~=>' | '~>' | '<~>' | '<-~>' | '<=~>'; +type JssmShape = "box" | "polygon" | "ellipse" | "oval" | "circle" | "point" | "egg" | "triangle" + | "plaintext" | "plain" | "diamond" | "trapezium" | "parallelogram" | "house" | "pentagon" + | "hexagon" | "septagon" | "octagon" | "doublecircle" | "doubleoctagon" | "tripleoctagon" + | "invtriangle" | "invtrapezium" | "invhouse" | "Mdiamond" | "Msquare" | "Mcircle" | "rect" + | "rectangle" | "square" | "star" | "none" | "underline" | "cylinder" | "note" | "tab" + | "folder" | "box3d" | "component" | "promoter" | "cds" | "terminator" | "utr" | "primersite" + | "restrictionsite" | "fivepoverhang" | "threepoverhang" | "noverhang" | "assembly" + | "signature" | "insulator" | "ribosite" | "rnastab" | "proteasesite" | "proteinstab" + | "rpromoter" | "rarrow" | "larrow" | "lpromoter" | "record"; + type JssmArrowDirection = 'left' | 'right' | 'both'; type JssmArrowKind = 'none' | 'legal' | 'main' | 'forced'; type JssmLayout = 'dot' | 'circo' | 'twopi' | 'fdp'; +type JssmColor = string; // constrain to #RRGGBBAA later // whargarbl + type JssmMachineInternalState = { @@ -108,6 +120,20 @@ type JssmTransitionList = { +type JssmStateDeclarationRule = { + key : string, + value : any // eslint-disable-line flowtype/no-weak-types + // todo comeback enumerate types against concrete keys +}; + +type JssmStateDeclaration = { + declarations : Array, + node_shape? : JssmShape, + node_color? : JssmColor, + state : NT +}; + + type JssmGenericConfig = { @@ -223,6 +249,9 @@ export type { JssmPermitted, JssmResult, + JssmStateDeclaration, + JssmStateDeclarationRule, + JssmLayout, JssmMachineInternalState diff --git a/src/js/jssm.js b/src/js/jssm.js index f100f00a..de921e37 100644 --- a/src/js/jssm.js +++ b/src/js/jssm.js @@ -15,6 +15,7 @@ import type { JssmTransition, JssmTransitionList, JssmMachineInternalState, JssmParseTree, + JssmStateDeclaration, JssmStateDeclarationRule, JssmCompileSe, JssmCompileSeStart, JssmCompileRule, JssmArrow, JssmArrowDirection, JssmArrowKind, JssmLayout @@ -350,6 +351,27 @@ function make(plan: string): JssmGenericConfig { +function transfer_state_properties(state_decl: JssmStateDeclaration): JssmStateDeclaration { + + state_decl.declarations.map( (d: JssmStateDeclarationRule) => { + switch (d.key) { + + case 'node_shape' : state_decl.node_shape = d.value; break; + case 'node_color' : state_decl.node_color = d.value; break; + + default: throw new Error(`Unknown state property: '${JSON.stringify(d)}'`); + + } + }); + + return state_decl; + +} + + + + + class Machine { @@ -372,7 +394,7 @@ class Machine { _machine_version : ?string; _fsl_version : ?string; _raw_state_declaration : ?Array; // eslint-disable-line flowtype/no-weak-types - _state_declarations : Map; // eslint-disable-line flowtype/no-weak-types + _state_declarations : Map>; _graph_layout : JssmLayout; @@ -418,6 +440,20 @@ class Machine { this._graph_layout = graph_layout; + + if (state_declaration) { + state_declaration.map( (state_decl: JssmStateDeclaration) => { + + if (this._state_declarations.has(state_decl.state)) { // no repeats + throw new Error(`Added the same state declaration twice: ${JSON.stringify(state_decl.state)}`); + } + + this._state_declarations.set( state_decl.state, transfer_state_properties(state_decl) ); + + } ); + } + + transitions.map( (tr:JssmTransition) => { if (tr.from === undefined) { throw new Error(`transition must define 'from': ${JSON.stringify(tr)}`); } @@ -601,7 +637,7 @@ class Machine { return this._raw_state_declaration; } - state_declaration(which: mNT): ?Object { // eslint-disable-line flowtype/no-weak-types + state_declaration(which: mNT): ?JssmStateDeclaration { return this._state_declarations.get(which); } @@ -939,6 +975,8 @@ export { version, + transfer_state_properties, + Machine, make, diff --git a/src/js/tests/compile.js b/src/js/tests/compile.js index 91979578..eaf470c2 100644 --- a/src/js/tests/compile.js +++ b/src/js/tests/compile.js @@ -3,7 +3,8 @@ import {describe} from 'ava-spec'; -const jssm = require('../../../build/jssm.es5.js'); +const jssm = require('../../../build/jssm.es5.js'), + sm = jssm.sm; @@ -66,6 +67,12 @@ describe('error catchery', async _parse_it => { } )); }); + describe('unknown state property', async it => { + it('throws', t => t.throws( () => { + sm`a->b; c: { foo: red; };`; + } )); + }); + }); // stochable diff --git a/src/js/tests/nominated states.js b/src/js/tests/nominated states.js index ce3304a6..1e8867a1 100644 --- a/src/js/tests/nominated states.js +++ b/src/js/tests/nominated states.js @@ -54,7 +54,7 @@ describe('spacing variants', async it => { describe('properties', async it => { it('node_color', t => t.deepEqual( - {key: "node_color", value: "#ffa500ff"}, + {state:'a', node_color:'#ffa500ff', declarations:[{key: "node_color", value: "#ffa500ff"}]}, sm`a -> b; a:{node_color:orange;};`.raw_state_declarations()[0] )); diff --git a/src/js/tests/state_declaration.js b/src/js/tests/state_declaration.js index f373dbf8..bfe0f915 100644 --- a/src/js/tests/state_declaration.js +++ b/src/js/tests/state_declaration.js @@ -27,38 +27,42 @@ describe('can read declaration', async _it => { const mach0 = sm`c: { }; a -> b;`; const mach1 = sm`c: { node_color: red; }; a -> b;`; const mach2 = sm`c: { node_color: red; node_shape: circle; }; a -> b;`; - const machT = sm`c: { node_color: red; }; d: { node_shape: circle; }; a -> b;`; +// const machT = sm`c: { node_color: red; }; d: { node_shape: circle; }; a -> b;`; - const machP = sm` - c: { node_shape: circle; node_color: red; }; - d: { node_shape: circle; node_color: red; }; - a -> b; - `; + // const machP = sm` + // c: { node_shape: circle; node_color: red; }; + // d: { node_shape: circle; node_color: red; }; + // a -> b; + // `; describe('of w/ nothing', async _it2 => { const decls = mach0.state_declarations(); describe('through .state_declarations/0', async it => { - it('yielding map', t => t.is(true, decls instanceof Map)); - it('having size 0', t => t.is(0, decls.size)); + it('yielding map', t => t.is(true, decls instanceof Map)); + it('list having size 1', t => t.is(1, decls.size)); + it('props having length 0', t => t.is(0, decls.get('c').declarations.length)); }); }); - describe('of just w/ node_color', async it => { - const decls = mach0.state_declarations(); + describe('of just w/ node_color', async _it1 => { + const decls = mach1.state_declarations(); describe('through .state_declarations/0', async it2 => { - it2('yielding map', t => t.is(true, decls instanceof Map)); - it2('having size 1', t => t.is(1, decls.size)); + it2('yielding map', t => t.is(true, decls instanceof Map)); + it2('list having size 1', t => t.is(1, decls.size)); + it2('props having length 1', t => t.is(1, decls.get('c').declarations.length)); // todo whargarbl check the actual members comeback }); - it('through .state_declaration/1', t => t.is('left', mach1.state_declaration('c') ) ); +// it('through .state_declaration/1', t => t.is('left', mach1.state_declaration('c') ) ); }); describe('of w/ node_color, node_shape', async it => { - it('through .state_declaration/1', t => t.is('left', mach2.state_declaration('c') ) ); - it('through .state_declarations/0', t => t.is('left', mach2.state_declarations() ) ); + it('through .state_declaration/1', t => t.is('#ff0000ff', mach2.state_declaration('c').declarations[0].value ) ); + it('through .state_declaration/1', t => t.is('circle', mach2.state_declaration('c').declarations[1].value ) ); + it('through .state_declarations/0', t => t.is(1, mach2.state_declarations().size ) ); + it('through .state_declarations/0', t => t.is(2, mach2.state_declarations().get('c').declarations.length ) ); }); - +/* describe('of w/ node_color on c, node_shape on d', async it => { it('through .state_declaration/1', t => t.is('left', machT.state_declaration('c') ) ); it('through .state_declaration/1', t => t.is('left', machT.state_declaration('d') ) ); @@ -70,5 +74,36 @@ describe('can read declaration', async _it => { it('through .state_declaration/1', t => t.is('left', machP.state_declaration('d') ) ); it('through .state_declarations/0', t => t.is('left', machP.state_declarations() ) ); }); +*/ +}); + + + + + +describe('error catchery', async _parse_it => { + + describe('repeated declaration', async it => { + it('throws', t => t.throws( () => { + const _mach1 = sm`c: { node_color: red; }; c: { node_color: red; }; a -> b;`; // eslint-disable-line no-unused-vars + } )); + }); + + describe('unknown state property', async it => { + const prestate = { + "start_states":["b"], + "transitions":[{"from":"b","to":"c","kind":"legal","forced_only":false,"main_path":false}], + "state_declaration":[{"state":"a","declarations":[{"key":"urgle bergle","value":"circle"}]}]}; + + it('throws', t => t.throws( () => { + const _m0 = jssm.Machine(prestate); + } )); + }); + + describe('transfer state properties throws on unknown key', async it => { + it('throws', t => t.throws( () => { + jssm.transfer_state_properties({declarations: [{key: 'agsrhdtjfy', value: 'seven'}]}); + } )); + }); });