occam-parsers 23.3.52 → 23.3.65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/README.md +5 -49
  2. package/lib/bnf/bnf.js +6 -4
  3. package/lib/bnf/parser.js +4 -4
  4. package/lib/constants.js +9 -1
  5. package/lib/cut.js +39 -0
  6. package/lib/definition/branchingParts.js +35 -0
  7. package/lib/definition/partRule/nonTerminal/ruleName.js +3 -9
  8. package/lib/definition.js +73 -20
  9. package/lib/frame.js +19 -7
  10. package/lib/mixins/parser.js +26 -8
  11. package/lib/node/bnf/branchingParts.js +33 -0
  12. package/lib/node/bnf/choiceOfParts.js +3 -4
  13. package/lib/node/bnf/cut.js +2 -2
  14. package/lib/node/bnf/definition.js +3 -3
  15. package/lib/node/bnf/endOfLine.js +2 -2
  16. package/lib/node/bnf/epsilon.js +2 -2
  17. package/lib/node/bnf/isolatedPart.js +3 -4
  18. package/lib/node/bnf/noWhitespacePart.js +2 -2
  19. package/lib/node/bnf/nonTerminalPart.js +3 -10
  20. package/lib/node/bnf/part.js +2 -2
  21. package/lib/node/bnf/partChoice.js +3 -4
  22. package/lib/node/bnf/precedence.js +3 -2
  23. package/lib/node/bnf/regularExpression.js +2 -2
  24. package/lib/node/bnf/ruleName.js +3 -3
  25. package/lib/node/bnf/sequenceOfParts.js +4 -6
  26. package/lib/node/bnf/significantTokenType.js +2 -2
  27. package/lib/node/bnf/stringLiteral.js +2 -2
  28. package/lib/node/bnf/terminalPart.js +3 -3
  29. package/lib/node/nonTerminal.js +5 -7
  30. package/lib/nonTerminalNodeMap.js +3 -3
  31. package/lib/parseTree/ruleName.js +2 -2
  32. package/lib/part/nonTerminal/branchingParts.js +55 -0
  33. package/lib/part/nonTerminal/choiceOfParts.js +11 -27
  34. package/lib/part/nonTerminal/isolatedPart.js +15 -20
  35. package/lib/part/nonTerminal/oneOrMoreParts.js +11 -40
  36. package/lib/part/nonTerminal/optionalPart.js +11 -35
  37. package/lib/part/nonTerminal/ruleName.js +10 -33
  38. package/lib/part/nonTerminal/sequenceOfParts.js +15 -23
  39. package/lib/part/nonTerminal/zeroOrMoreParts.js +11 -35
  40. package/lib/part/nonTerminal.js +5 -6
  41. package/lib/part/terminal/cut.js +6 -17
  42. package/lib/part/terminal/endOfLine.js +13 -26
  43. package/lib/part/terminal/epsilon.js +6 -22
  44. package/lib/part/terminal/noWhitespace.js +12 -23
  45. package/lib/part/terminal/regularExpression.js +15 -27
  46. package/lib/part/terminal/significantTokenType.js +12 -25
  47. package/lib/part/terminal/stringLiteral.js +12 -25
  48. package/lib/part/terminal/wildcard.js +10 -24
  49. package/lib/part/terminal.js +4 -5
  50. package/lib/partChoice.js +59 -19
  51. package/lib/partTypes.js +6 -1
  52. package/lib/rule/bnf/branchingParts.js +28 -0
  53. package/lib/rule/bnf/nonTerminalPart.js +6 -3
  54. package/lib/rule.js +8 -27
  55. package/lib/ruleNames.js +5 -5
  56. package/lib/state.js +65 -38
  57. package/lib/utilities/branching.js +80 -0
  58. package/lib/utilities/linear.js +107 -0
  59. package/lib/utilities/parseTree.js +2 -4
  60. package/package.json +1 -1
  61. package/src/bnf/bnf.js +5 -3
  62. package/src/bnf/parser.js +3 -3
  63. package/src/constants.js +2 -0
  64. package/src/cut.js +31 -0
  65. package/src/definition/branchingParts.js +35 -0
  66. package/src/definition/partRule/nonTerminal/ruleName.js +3 -13
  67. package/src/definition.js +48 -22
  68. package/src/frame.js +26 -5
  69. package/src/mixins/parser.js +29 -10
  70. package/src/node/bnf/branchingParts.js +26 -0
  71. package/src/node/bnf/choiceOfParts.js +2 -4
  72. package/src/node/bnf/cut.js +1 -1
  73. package/src/node/bnf/definition.js +1 -2
  74. package/src/node/bnf/endOfLine.js +1 -1
  75. package/src/node/bnf/epsilon.js +1 -1
  76. package/src/node/bnf/isolatedPart.js +2 -4
  77. package/src/node/bnf/noWhitespacePart.js +1 -1
  78. package/src/node/bnf/nonTerminalPart.js +4 -15
  79. package/src/node/bnf/part.js +1 -1
  80. package/src/node/bnf/partChoice.js +2 -4
  81. package/src/node/bnf/precedence.js +3 -1
  82. package/src/node/bnf/regularExpression.js +1 -1
  83. package/src/node/bnf/ruleName.js +2 -2
  84. package/src/node/bnf/sequenceOfParts.js +4 -7
  85. package/src/node/bnf/significantTokenType.js +1 -1
  86. package/src/node/bnf/stringLiteral.js +1 -1
  87. package/src/node/bnf/terminalPart.js +2 -2
  88. package/src/node/nonTerminal.js +6 -8
  89. package/src/nonTerminalNodeMap.js +3 -3
  90. package/src/parseTree/ruleName.js +1 -1
  91. package/src/part/nonTerminal/branchingParts.js +67 -0
  92. package/src/part/nonTerminal/choiceOfParts.js +13 -36
  93. package/src/part/nonTerminal/isolatedPart.js +15 -25
  94. package/src/part/nonTerminal/oneOrMoreParts.js +16 -61
  95. package/src/part/nonTerminal/optionalPart.js +16 -53
  96. package/src/part/nonTerminal/ruleName.js +10 -52
  97. package/src/part/nonTerminal/sequenceOfParts.js +17 -30
  98. package/src/part/nonTerminal/zeroOrMoreParts.js +16 -53
  99. package/src/part/nonTerminal.js +3 -6
  100. package/src/part/terminal/cut.js +5 -22
  101. package/src/part/terminal/endOfLine.js +17 -38
  102. package/src/part/terminal/epsilon.js +6 -34
  103. package/src/part/terminal/noWhitespace.js +13 -33
  104. package/src/part/terminal/regularExpression.js +21 -40
  105. package/src/part/terminal/significantTokenType.js +16 -37
  106. package/src/part/terminal/stringLiteral.js +16 -37
  107. package/src/part/terminal/wildcard.js +13 -36
  108. package/src/part/terminal.js +2 -6
  109. package/src/partChoice.js +20 -20
  110. package/src/partTypes.js +2 -0
  111. package/src/rule/bnf/branchingParts.js +20 -0
  112. package/src/rule/bnf/nonTerminalPart.js +10 -5
  113. package/src/rule.js +11 -34
  114. package/src/ruleNames.js +1 -1
  115. package/src/state.js +91 -42
  116. package/src/utilities/branching.js +105 -0
  117. package/src/utilities/linear.js +132 -0
  118. package/src/utilities/parseTree.js +2 -6
  119. package/lib/context/continuation.js +0 -40
  120. package/lib/context/definition.js +0 -70
  121. package/lib/context/part/continuation.js +0 -51
  122. package/lib/context/part/isolatedPart.js +0 -28
  123. package/lib/context/part/ruleName.js +0 -55
  124. package/lib/context/part/sequenceOfParts.js +0 -32
  125. package/lib/context/part.js +0 -71
  126. package/lib/context/partChoice.js +0 -45
  127. package/lib/context/parts.js +0 -71
  128. package/lib/context/rule.js +0 -58
  129. package/lib/context/topmost.js +0 -70
  130. package/lib/context.js +0 -121
  131. package/lib/continuation.js +0 -40
  132. package/lib/definition/continuationModifierRule.js +0 -31
  133. package/lib/node/bnf/continuationModifier.js +0 -23
  134. package/lib/rule/bnf/continuationModifier.js +0 -28
  135. package/lib/utilities/context.js +0 -96
  136. package/lib/utilities/frame.js +0 -29
  137. package/lib/utilities/part.js +0 -34
  138. package/lib/utilities/parts.js +0 -61
  139. package/src/context/continuation.js +0 -35
  140. package/src/context/definition.js +0 -93
  141. package/src/context/part/continuation.js +0 -55
  142. package/src/context/part/isolatedPart.js +0 -17
  143. package/src/context/part/ruleName.js +0 -63
  144. package/src/context/part/sequenceOfParts.js +0 -23
  145. package/src/context/part.js +0 -84
  146. package/src/context/partChoice.js +0 -45
  147. package/src/context/parts.js +0 -83
  148. package/src/context/rule.js +0 -62
  149. package/src/context/topmost.js +0 -86
  150. package/src/context.js +0 -132
  151. package/src/continuation.js +0 -41
  152. package/src/definition/continuationModifierRule.js +0 -25
  153. package/src/node/bnf/continuationModifier.js +0 -7
  154. package/src/rule/bnf/continuationModifier.js +0 -20
  155. package/src/utilities/context.js +0 -35
  156. package/src/utilities/frame.js +0 -15
  157. package/src/utilities/part.js +0 -34
  158. package/src/utilities/parts.js +0 -74
package/README.md CHANGED
@@ -46,9 +46,11 @@ nonTerminalPart ::= isolatedPart
46
46
 
47
47
  | choiceOfParts
48
48
 
49
+ | branchingParts
50
+
49
51
  | sequenceOfParts
50
52
 
51
- | ruleName continuationModifier?
53
+ | ruleName
52
54
 
53
55
  ;
54
56
 
@@ -72,6 +74,8 @@ terminalPart ::= significantTokenType
72
74
 
73
75
  sequenceOfParts ::= "(" part part+ ")" ;
74
76
 
77
+ branchingParts ::= "(" part "..." part ")" ;
78
+
75
79
  choiceOfParts ::= "(" partChoice ( "|" partChoice )+ ")" ;
76
80
 
77
81
  isolatedPart ::= "(" part ")" ;
@@ -108,8 +112,6 @@ quantifier ::= optionalQuantifier
108
112
 
109
113
  opacityModifier ::= <NO_WHITESPACE>( "." | ".." );
110
114
 
111
- continuationModifier ::= <NO_WHITESPACE>"..." ;
112
-
113
115
  optionalQuantifier ::= <NO_WHITESPACE>"?" ;
114
116
 
115
117
  oneOrMoreQuantifier ::= <NO_WHITESPACE>"+" ;
@@ -246,52 +248,6 @@ For example:
246
248
  justifiedStatement ::= statement ( "by" | "from" ) reference <END_OF_LINE> ;
247
249
  ```
248
250
 
249
- ### Continuations
250
-
251
- Consider the following rules:
252
-
253
- ```
254
- ABC ::= AAB BC ;
255
-
256
- AAB ::= "a" "b" | "a" ;
257
-
258
- BC ::= "b" "c" ;
259
- ```
260
-
261
- These will not parse the tokens `a`, `b`, `c` because the first definition of the `AAB` rule will parse the `a` and `b` tokens, leaving only the `c` token for the `BC` rule to parse.
262
- This situation can be addressed by making the `AAB` rule contiunue, that is, try each of its definitions in turn until one is found that allows the remainder of the parent rule to parse.
263
- The continuation modifier is an ellipsis, thus the rules above become:
264
-
265
- ```
266
- ABC ::= AAB... BC ;
267
-
268
- AAB ::= "a" "b" | "a" ;
269
-
270
- BC ::= "b" "c" ;
271
- ```
272
-
273
- Now the `ABC` rule will indeed parse the tokens `a`, `b`, `c`, because the second definition of the `AAB` rule will be tried after the first definition fails to allow the `BC` rule name part to parse.
274
-
275
- Also bear in mind that call-ahead is carried out to arbitrary depth and this it affects the behaviour of the `?`, `*` and `+` quantifiers, which become lazy.
276
- For example:
277
-
278
- ```
279
- ABC ::= AAB... ;
280
-
281
- AAB ::= "a" "b"+ "b" "c" ;
282
- ```
283
-
284
- Here the call-ahead modifier on the `AAB` rule name part forces the `+` quantifier on the `"b"` terminal part to be lazy, allowing the following to parse:
285
-
286
- ```
287
- a b b b c
288
- ```
289
-
290
- Without call-ahead, the `"b"+` part would consume all of the `b` tokens, leaving none for the subsequent `"b"` terminal part.
291
-
292
- It seems that the parser parses in time that is roughly directly proportional to the length of the input. However, on the ohter hand it is most likely that call-ahead takes exponential time given its nested nature.
293
- For this reason, call-ahead should be used sparingly.
294
-
295
251
  ## Building
296
252
 
297
253
  Automation is done with [npm scripts](https://docs.npmjs.com/misc/scripts), have a look at the `package.json` file.
package/lib/bnf/bnf.js CHANGED
@@ -30,9 +30,11 @@ const bnf = `
30
30
 
31
31
  | choiceOfParts
32
32
 
33
+ | branchingParts
34
+
33
35
  | sequenceOfParts
34
36
 
35
- | ruleName continuationModifier?
37
+ | ruleName
36
38
 
37
39
  ;
38
40
 
@@ -56,6 +58,8 @@ const bnf = `
56
58
 
57
59
  sequenceOfParts ::= "(" part part+ ")" ;
58
60
 
61
+ branchingParts ::= "(" part "..." part ")" ;
62
+
59
63
  choiceOfParts ::= "(" partChoice ( "|" partChoice )+ ")" ;
60
64
 
61
65
  isolatedPart ::= "(" part ")" ;
@@ -92,8 +96,6 @@ const bnf = `
92
96
 
93
97
  opacityModifier ::= <NO_WHITESPACE>( "." | ".." );
94
98
 
95
- continuationModifier ::= <NO_WHITESPACE>"..." ;
96
-
97
99
  optionalQuantifier ::= <NO_WHITESPACE>"?" ;
98
100
 
99
101
  oneOrMoreQuantifier ::= <NO_WHITESPACE>"+" ;
@@ -105,4 +107,4 @@ const bnf = `
105
107
  `;
106
108
  const _default = bnf;
107
109
 
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibmYvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgXG5cbiAgICAgIGRvY3VtZW50ICAgICAgICAgICAgICAgICA6Oj0gICggcnVsZSB8IGVycm9yICkrIDtcblxuICAgICAgcnVsZSAgICAgICAgICAgICAgICAgICAgIDo6PSAgbmFtZSBvcGFjaXR5TW9kaWZpZXI/IFwiOjo9XCIgZGVmaW5pdGlvbnMgXCI7XCIgO1xuXG4gICAgICBuYW1lICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG4gICAgICBkZWZpbml0aW9ucyAgICAgICAgICAgICAgOjo9ICBkZWZpbml0aW9uICggXCJ8XCIgZGVmaW5pdGlvbiApKiA7XG5cbiAgICAgIGRlZmluaXRpb24gICAgICAgICAgICAgICA6Oj0gIHBhcnQrIHByZWNlZGVuY2U/IDtcbiBcbiAgICAgIHBhcnQgICAgICAgICAgICAgICAgICAgICA6Oj0gIG5vblRlcm1pbmFsUGFydCBxdWFudGlmaWVyKlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICB0ZXJtaW5hbFBhcnQgcXVhbnRpZmllcipcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICBub25UZXJtaW5hbFBhcnQgICAgICAgICAgOjo9ICBpc29sYXRlZFBhcnRcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY2hvaWNlT2ZQYXJ0c1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBzZXF1ZW5jZU9mUGFydHNcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgcnVsZU5hbWUgY29udGludWF0aW9uTW9kaWZpZXI/XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuICAgICAgdGVybWluYWxQYXJ0ICAgICAgICAgICAgIDo6PSAgc2lnbmlmaWNhbnRUb2tlblR5cGVcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICByZWd1bGFyRXhwcmVzc2lvblxuIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgc3RyaW5nTGl0ZXJhbFxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHdpbGRjYXJkXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgZXBzaWxvblxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGN1dFxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGVuZE9mTGluZVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub1doaXRlc3BhY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICBzZXF1ZW5jZU9mUGFydHMgICAgICAgICAgOjo9ICBcIihcIiBwYXJ0IHBhcnQrIFwiKVwiIDtcblxuICAgICAgY2hvaWNlT2ZQYXJ0cyAgICAgICAgICAgIDo6PSAgXCIoXCIgcGFydENob2ljZSAoIFwifFwiIHBhcnRDaG9pY2UgKSsgXCIpXCIgO1xuXG4gICAgICBpc29sYXRlZFBhcnQgICAgICAgICAgICAgOjo9ICBcIihcIiBwYXJ0IFwiKVwiIDtcblxuICAgICAgcGFydENob2ljZSAgICAgICAgICAgICAgIDo6PSAgcGFydCBwcmVjZWRlbmNlPyA7XG5cbiAgICAgIHJ1bGVOYW1lICAgICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cbiAgICAgIHNpZ25pZmljYW50VG9rZW5UeXBlICAgICA6Oj0gIFt0eXBlXSA7XG5cbiAgICAgIHJlZ3VsYXJFeHByZXNzaW9uICAgICAgICA6Oj0gIFtyZWd1bGFyLWV4cHJlc3Npb25dIDtcblxuICAgICAgc3RyaW5nTGl0ZXJhbCAgICAgICAgICAgIDo6PSAgW3N0cmluZy1saXRlcmFsXSA7XG5cbiAgICAgIHByZWNlZGVuY2UgICAgICAgICAgICAgICA6Oj0gIFwiKFwiIFtpbnRlZ2VyXT8gXCIpXCIgO1xuICAgICAgXG4gICAgICBlbmRPZkxpbmUgICAgICAgICAgICAgICAgOjo9ICBcIjxFTkRfT0ZfTElORT5cIiA7XG4gICAgICBcbiAgICAgIHdpbGRjYXJkICAgICAgICAgICAgICAgICA6Oj0gIFwiLlwiIDtcblxuICAgICAgZXBzaWxvbiAgICAgICAgICAgICAgICAgIDo6PSAgXCLOtVwiIDtcblxuICAgICAgY3V0ICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJcXGBcIiA7XG5cbiAgICAgIG5vV2hpdGVzcGFjZSAgICAgICAgICAgICA6Oj0gIFwiPE5PX1dISVRFU1BBQ0U+XCIgOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG4gICAgICBxdWFudGlmaWVyICAgICAgICAgICAgICAgOjo9ICBvcHRpb25hbFF1YW50aWZpZXJcbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG9uZU9yTW9yZVF1YW50aWZpZXJcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICB6ZXJvT3JNb3JlUXVhbnRpZmllclxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuICAgICAgb3BhY2l0eU1vZGlmaWVyICAgICAgICAgIDo6PSAgPE5PX1dISVRFU1BBQ0U+KCBcIi5cIiB8IFwiLi5cIiApO1xuICAgICAgXG4gICAgICBjb250aW51YXRpb25Nb2RpZmllciAgICAgOjo9ICA8Tk9fV0hJVEVTUEFDRT5cIi4uLlwiIDtcblxuICAgICAgb3B0aW9uYWxRdWFudGlmaWVyICAgICAgIDo6PSAgPE5PX1dISVRFU1BBQ0U+XCI/XCIgO1xuXG4gICAgICBvbmVPck1vcmVRdWFudGlmaWVyICAgICAgOjo9ICA8Tk9fV0hJVEVTUEFDRT5cIitcIiA7XG5cbiAgICAgIHplcm9Pck1vcmVRdWFudGlmaWVyICAgICA6Oj0gIDxOT19XSElURVNQQUNFPlwiKlwiIDtcblxuICAgICAgZXJyb3IuICAgICAgICAgICAgICAgICAgIDo6PSAgLiA7XG5cbmA7XG5cbmV4cG9ydCBkZWZhdWx0IGJuZjtcbiJdLCJuYW1lcyI6WyJibmYiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWtHQTs7O2VBQUE7OztBQWhHQSxNQUFNQSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE4RmIsQ0FBQztNQUVELFdBQWVBIn0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibmYvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgXG5cbiAgICAgIGRvY3VtZW50ICAgICAgICAgICAgICAgICA6Oj0gICggcnVsZSB8IGVycm9yICkrIDtcblxuICAgICAgcnVsZSAgICAgICAgICAgICAgICAgICAgIDo6PSAgbmFtZSBvcGFjaXR5TW9kaWZpZXI/IFwiOjo9XCIgZGVmaW5pdGlvbnMgXCI7XCIgO1xuXG4gICAgICBuYW1lICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG4gICAgICBkZWZpbml0aW9ucyAgICAgICAgICAgICAgOjo9ICBkZWZpbml0aW9uICggXCJ8XCIgZGVmaW5pdGlvbiApKiA7XG5cbiAgICAgIGRlZmluaXRpb24gICAgICAgICAgICAgICA6Oj0gIHBhcnQrIHByZWNlZGVuY2U/IDtcbiBcbiAgICAgIHBhcnQgICAgICAgICAgICAgICAgICAgICA6Oj0gIG5vblRlcm1pbmFsUGFydCBxdWFudGlmaWVyKlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICB0ZXJtaW5hbFBhcnQgcXVhbnRpZmllcipcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICBub25UZXJtaW5hbFBhcnQgICAgICAgICAgOjo9ICBpc29sYXRlZFBhcnRcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY2hvaWNlT2ZQYXJ0c1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBicmFuY2hpbmdQYXJ0c1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBzZXF1ZW5jZU9mUGFydHNcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgcnVsZU5hbWVcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICB0ZXJtaW5hbFBhcnQgICAgICAgICAgICAgOjo9ICBzaWduaWZpY2FudFRva2VuVHlwZVxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHJlZ3VsYXJFeHByZXNzaW9uXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBzdHJpbmdMaXRlcmFsXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgd2lsZGNhcmRcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBlcHNpbG9uXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY3V0XG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgZW5kT2ZMaW5lXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vV2hpdGVzcGFjZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgIHNlcXVlbmNlT2ZQYXJ0cyAgICAgICAgICA6Oj0gIFwiKFwiIHBhcnQgcGFydCsgXCIpXCIgO1xuXG4gICAgICBicmFuY2hpbmdQYXJ0cyAgICAgICAgICAgOjo9ICBcIihcIiBwYXJ0IFwiLi4uXCIgcGFydCBcIilcIiA7XG5cbiAgICAgIGNob2ljZU9mUGFydHMgICAgICAgICAgICA6Oj0gIFwiKFwiIHBhcnRDaG9pY2UgKCBcInxcIiBwYXJ0Q2hvaWNlICkrIFwiKVwiIDtcblxuICAgICAgaXNvbGF0ZWRQYXJ0ICAgICAgICAgICAgIDo6PSAgXCIoXCIgcGFydCBcIilcIiA7XG5cbiAgICAgIHBhcnRDaG9pY2UgICAgICAgICAgICAgICA6Oj0gIHBhcnQgcHJlY2VkZW5jZT8gO1xuXG4gICAgICBydWxlTmFtZSAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG4gICAgICBzaWduaWZpY2FudFRva2VuVHlwZSAgICAgOjo9ICBbdHlwZV0gO1xuXG4gICAgICByZWd1bGFyRXhwcmVzc2lvbiAgICAgICAgOjo9ICBbcmVndWxhci1leHByZXNzaW9uXSA7XG5cbiAgICAgIHN0cmluZ0xpdGVyYWwgICAgICAgICAgICA6Oj0gIFtzdHJpbmctbGl0ZXJhbF0gO1xuXG4gICAgICBwcmVjZWRlbmNlICAgICAgICAgICAgICAgOjo9ICBcIihcIiBbaW50ZWdlcl0/IFwiKVwiIDtcbiAgICAgIFxuICAgICAgZW5kT2ZMaW5lICAgICAgICAgICAgICAgIDo6PSAgXCI8RU5EX09GX0xJTkU+XCIgO1xuICAgICAgXG4gICAgICB3aWxkY2FyZCAgICAgICAgICAgICAgICAgOjo9ICBcIi5cIiA7XG5cbiAgICAgIGVwc2lsb24gICAgICAgICAgICAgICAgICA6Oj0gIFwizrVcIiA7XG5cbiAgICAgIGN1dCAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiXFxgXCIgO1xuXG4gICAgICBub1doaXRlc3BhY2UgICAgICAgICAgICAgOjo9ICBcIjxOT19XSElURVNQQUNFPlwiIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxuICAgICAgcXVhbnRpZmllciAgICAgICAgICAgICAgIDo6PSAgb3B0aW9uYWxRdWFudGlmaWVyXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBvbmVPck1vcmVRdWFudGlmaWVyXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgemVyb09yTW9yZVF1YW50aWZpZXJcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cbiAgICAgIG9wYWNpdHlNb2RpZmllciAgICAgICAgICA6Oj0gIDxOT19XSElURVNQQUNFPiggXCIuXCIgfCBcIi4uXCIgKTtcbiAgICAgIFxuICAgICAgb3B0aW9uYWxRdWFudGlmaWVyICAgICAgIDo6PSAgPE5PX1dISVRFU1BBQ0U+XCI/XCIgO1xuXG4gICAgICBvbmVPck1vcmVRdWFudGlmaWVyICAgICAgOjo9ICA8Tk9fV0hJVEVTUEFDRT5cIitcIiA7XG5cbiAgICAgIHplcm9Pck1vcmVRdWFudGlmaWVyICAgICA6Oj0gIDxOT19XSElURVNQQUNFPlwiKlwiIDtcblxuICAgICAgZXJyb3IuICAgICAgICAgICAgICAgICAgIDo6PSAgLiA7XG5cbmA7XG5cbmV4cG9ydCBkZWZhdWx0IGJuZjtcbiJdLCJuYW1lcyI6WyJibmYiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW9HQTs7O2VBQUE7OztBQWxHQSxNQUFNQSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdHYixDQUFDO01BRUQsV0FBZUEifQ==
package/lib/bnf/parser.js CHANGED
@@ -31,6 +31,7 @@ const _isolatedPart = /*#__PURE__*/ _interop_require_default(require("../rule/bn
31
31
  const _terminalPart = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/terminalPart"));
32
32
  const _choiceOfParts = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/choiceOfParts"));
33
33
  const _stringLiteral = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/stringLiteral"));
34
+ const _branchingParts = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/branchingParts"));
34
35
  const _nonTerminalPart = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/nonTerminalPart"));
35
36
  const _sequenceOfParts = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/sequenceOfParts"));
36
37
  const _opacityModifier = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/opacityModifier"));
@@ -40,7 +41,6 @@ const _optionalQuantifier = /*#__PURE__*/ _interop_require_default(require("../r
40
41
  const _oneOrMoreQuantifier = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/oneOrMoreQuantifier"));
41
42
  const _zeroOrMoreQuantifier = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/zeroOrMoreQuantifier"));
42
43
  const _significantTokenType = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/significantTokenType"));
43
- const _continuationModifier = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/continuationModifier"));
44
44
  const _rules = require("../utilities/rules");
45
45
  function _interop_require_default(obj) {
46
46
  return obj && obj.__esModule ? obj : {
@@ -75,7 +75,7 @@ class BNFParser {
75
75
  static defaultNonTerminalNode = null;
76
76
  static bnf = _bnf.default;
77
77
  static fromNothing() {
78
- const cutBNFRule = _cut.default.fromNothing(), nameBNFRule = _name.default.fromNothing(), partBNFRule = _part.default.fromNothing(), ruleBNFRule = _rule1.default.fromNothing(), errorBNFRule = _error.default.fromNothing(), epsilonBNFRule = _epsilon.default.fromNothing(), documentBNFRule = _document.default.fromNothing(), ruleNameBNFRule = _ruleName.default.fromNothing(), wildcardBNFRule = _wildcard.default.fromNothing(), endOfLineBNFRule = _endOfLine.default.fromNothing(), partChoiceBNFRule = _partChoice.default.fromNothing(), quantifierBNFRule = _quantifier.default.fromNothing(), definitionBNFRule = _definition.default.fromNothing(), precedentsBNFRule = _precedence.default.fromNothing(), definitionsBNFRule = _definitions.default.fromNothing(), terminalPartBNFRule = _terminalPart.default.fromNothing(), isolatedPartBNFRule = _isolatedPart.default.fromNothing(), choiceOfPartsBNFRule = _choiceOfParts.default.fromNothing(), stringLiteralBNFRule = _stringLiteral.default.fromNothing(), nonTerminalPartBNFRule = _nonTerminalPart.default.fromNothing(), sequenceOfPartsBNFRule = _sequenceOfParts.default.fromNothing(), opacityModifierBNFRule = _opacityModifier.default.fromNothing(), noWhitespacePartBNFRule = _noWhitespacePart.default.fromNothing(), regularExpressionBNFRule = _regularExpression.default.fromNothing(), optionalQuantifierBNFRule = _optionalQuantifier.default.fromNothing(), oneOrMoreQuantifierBNFRule = _oneOrMoreQuantifier.default.fromNothing(), zeroOrMoreQuantifierBNFRule = _zeroOrMoreQuantifier.default.fromNothing(), continuationModifierBNFRule = _continuationModifier.default.fromNothing(), significantTokenTypeBNFRule = _significantTokenType.default.fromNothing(), rules = [
78
+ const cutBNFRule = _cut.default.fromNothing(), nameBNFRule = _name.default.fromNothing(), partBNFRule = _part.default.fromNothing(), ruleBNFRule = _rule1.default.fromNothing(), errorBNFRule = _error.default.fromNothing(), epsilonBNFRule = _epsilon.default.fromNothing(), documentBNFRule = _document.default.fromNothing(), ruleNameBNFRule = _ruleName.default.fromNothing(), wildcardBNFRule = _wildcard.default.fromNothing(), endOfLineBNFRule = _endOfLine.default.fromNothing(), partChoiceBNFRule = _partChoice.default.fromNothing(), quantifierBNFRule = _quantifier.default.fromNothing(), definitionBNFRule = _definition.default.fromNothing(), precedentsBNFRule = _precedence.default.fromNothing(), definitionsBNFRule = _definitions.default.fromNothing(), terminalPartBNFRule = _terminalPart.default.fromNothing(), isolatedPartBNFRule = _isolatedPart.default.fromNothing(), choiceOfPartsBNFRule = _choiceOfParts.default.fromNothing(), stringLiteralBNFRule = _stringLiteral.default.fromNothing(), branchingPartsBNFRule = _branchingParts.default.fromNothing(), nonTerminalPartBNFRule = _nonTerminalPart.default.fromNothing(), sequenceOfPartsBNFRule = _sequenceOfParts.default.fromNothing(), opacityModifierBNFRule = _opacityModifier.default.fromNothing(), noWhitespacePartBNFRule = _noWhitespacePart.default.fromNothing(), regularExpressionBNFRule = _regularExpression.default.fromNothing(), optionalQuantifierBNFRule = _optionalQuantifier.default.fromNothing(), oneOrMoreQuantifierBNFRule = _oneOrMoreQuantifier.default.fromNothing(), zeroOrMoreQuantifierBNFRule = _zeroOrMoreQuantifier.default.fromNothing(), significantTokenTypeBNFRule = _significantTokenType.default.fromNothing(), rules = [
79
79
  cutBNFRule,
80
80
  nameBNFRule,
81
81
  partBNFRule,
@@ -95,6 +95,7 @@ class BNFParser {
95
95
  isolatedPartBNFRule,
96
96
  choiceOfPartsBNFRule,
97
97
  stringLiteralBNFRule,
98
+ branchingPartsBNFRule,
98
99
  nonTerminalPartBNFRule,
99
100
  sequenceOfPartsBNFRule,
100
101
  opacityModifierBNFRule,
@@ -103,7 +104,6 @@ class BNFParser {
103
104
  optionalQuantifierBNFRule,
104
105
  oneOrMoreQuantifierBNFRule,
105
106
  zeroOrMoreQuantifierBNFRule,
106
- continuationModifierBNFRule,
107
107
  significantTokenTypeBNFRule
108
108
  ], startRule = documentBNFRule, ruleMap = (0, _rules.ruleMapFromRules)(rules), bnfParser = new BNFParser(startRule, ruleMap);
109
109
  return bnfParser;
@@ -111,4 +111,4 @@ class BNFParser {
111
111
  }
112
112
  Object.assign(BNFParser.prototype, _parser.default);
113
113
 
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibmYvcGFyc2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgYm5mIGZyb20gXCIuL2JuZlwiO1xuaW1wb3J0IFJ1bGUgZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCBwYXJzZXJNaXhpbnMgZnJvbSBcIi4uL21peGlucy9wYXJzZXJcIjtcbmltcG9ydCBOb25UZXJtaW5hbE5vZGVNYXAgZnJvbSBcIi4uL25vblRlcm1pbmFsTm9kZU1hcFwiO1xuXG5pbXBvcnQgQ3V0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvY3V0XCI7XG5pbXBvcnQgTmFtZUJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL25hbWVcIjtcbmltcG9ydCBQYXJ0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcGFydFwiO1xuaW1wb3J0IFJ1bGVCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9ydWxlXCI7XG5pbXBvcnQgRXJyb3JCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9lcnJvclwiO1xuaW1wb3J0IEVwc2lsb25CTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9lcHNpbG9uXCI7XG5pbXBvcnQgRG9jdW1lbnRCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9kb2N1bWVudFwiO1xuaW1wb3J0IFJ1bGVOYW1lQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcnVsZU5hbWVcIjtcbmltcG9ydCBXaWxkY2FyZEJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3dpbGRjYXJkXCI7XG5pbXBvcnQgRW5kT2ZMaW5lQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvZW5kT2ZMaW5lXCI7XG5pbXBvcnQgUGFydENob2ljZUJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3BhcnRDaG9pY2VcIjtcbmltcG9ydCBRdWFudGlmaWVyQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcXVhbnRpZmllclwiO1xuaW1wb3J0IERlZmluaXRpb25CTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9kZWZpbml0aW9uXCI7XG5pbXBvcnQgUHJlY2VkZW50c0JORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3ByZWNlZGVuY2VcIjtcbmltcG9ydCBEZWZpbml0aW9uc0JORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL2RlZmluaXRpb25zXCI7XG5pbXBvcnQgSXNvbGF0ZWRQYXJ0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvaXNvbGF0ZWRQYXJ0XCI7XG5pbXBvcnQgVGVybWluYWxQYXJ0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvdGVybWluYWxQYXJ0XCI7XG5pbXBvcnQgQ2hvaWNlT2ZQYXJ0c0JORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL2Nob2ljZU9mUGFydHNcIjtcbmltcG9ydCBTdHJpbmdMaXRlcmFsQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvc3RyaW5nTGl0ZXJhbFwiO1xuaW1wb3J0IE5vblRlcm1pbmFsUGFydEJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL25vblRlcm1pbmFsUGFydFwiO1xuaW1wb3J0IFNlcXVlbmNlT2ZQYXJ0c0JORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3NlcXVlbmNlT2ZQYXJ0c1wiO1xuaW1wb3J0IE9wYWNpdHlNb2RpZmllckJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL29wYWNpdHlNb2RpZmllclwiO1xuaW1wb3J0IE5vV2hpdGVzcGFjZVBhcnRCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9ub1doaXRlc3BhY2VQYXJ0XCI7XG5pbXBvcnQgUmVndWxhckV4cHJlc3Npb25CTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9yZWd1bGFyRXhwcmVzc2lvblwiO1xuaW1wb3J0IE9wdGlvbmFsUXVhbnRpZmllckJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL29wdGlvbmFsUXVhbnRpZmllclwiO1xuaW1wb3J0IE9uZU9yTW9yZVF1YW50aWZpZXJCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9vbmVPck1vcmVRdWFudGlmaWVyXCI7XG5pbXBvcnQgWmVyb09yTW9yZVF1YW50aWZpZXJCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi96ZXJvT3JNb3JlUXVhbnRpZmllclwiO1xuaW1wb3J0IFNpZ25pZmljYW50VG9rZW5UeXBlQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvc2lnbmlmaWNhbnRUb2tlblR5cGVcIjtcbmltcG9ydCBDb250aW51YXRpb25Nb2RpZmllckJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL2NvbnRpbnVhdGlvbk1vZGlmaWVyXCI7XG5cbmltcG9ydCB7IHJ1bGVNYXBGcm9tUnVsZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3J1bGVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJORlBhcnNlciB7XG4gIGNvbnN0cnVjdG9yKHN0YXJ0UnVsZSwgcnVsZU1hcCkge1xuICAgIHRoaXMuc3RhcnRSdWxlID0gc3RhcnRSdWxlO1xuICAgIHRoaXMucnVsZU1hcCA9IHJ1bGVNYXA7XG4gIH1cblxuICBnZXRTdGFydFJ1bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnRSdWxlO1xuICB9XG5cbiAgZ2V0UnVsZU1hcCgpIHtcbiAgICByZXR1cm4gdGhpcy5ydWxlTWFwO1xuICB9XG5cblx0cnVsZXNGcm9tVG9rZW5zKHRva2Vucykge1xuXHQgIGxldCBydWxlcztcblxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnBhcnNlKHRva2Vucyk7XG5cbiAgICBpZiAobm9kZSA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBubyBub2RlLmApO1xuICAgIH1cblxuICAgIHJ1bGVzID0gbm9kZS5nZW5lcmF0ZVJ1bGVzKFJ1bGUpO1xuXG4gICAgY29uc3QgcnVsZXNMZW5ndGggPSBydWxlcy5sZW5ndGg7XG5cbiAgICBpZiAocnVsZXNMZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlcmUgYXJlIG5vIHJ1bGVzLmApO1xuICAgIH1cblxuICAgIHJldHVybiBydWxlcztcbiAgfVxuXG4gIHN0YXRpYyBOb25UZXJtaW5hbE5vZGVNYXAgPSBOb25UZXJtaW5hbE5vZGVNYXA7XG5cbiAgc3RhdGljIGRlZmF1bHROb25UZXJtaW5hbE5vZGUgPSBudWxsO1xuXG4gIHN0YXRpYyBibmYgPSBibmY7XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IGN1dEJORlJ1bGUgPSBDdXRCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgbmFtZUJORlJ1bGUgPSBOYW1lQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHBhcnRCTkZSdWxlID0gUGFydEJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBydWxlQk5GUnVsZSA9IFJ1bGVCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgZXJyb3JCTkZSdWxlID0gRXJyb3JCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgZXBzaWxvbkJORlJ1bGUgPSBFcHNpbG9uQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGRvY3VtZW50Qk5GUnVsZSA9IERvY3VtZW50Qk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHJ1bGVOYW1lQk5GUnVsZSA9IFJ1bGVOYW1lQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHdpbGRjYXJkQk5GUnVsZSA9IFdpbGRjYXJkQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGVuZE9mTGluZUJORlJ1bGUgPSBFbmRPZkxpbmVCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgcGFydENob2ljZUJORlJ1bGUgPSBQYXJ0Q2hvaWNlQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHF1YW50aWZpZXJCTkZSdWxlID0gUXVhbnRpZmllckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBkZWZpbml0aW9uQk5GUnVsZSA9IERlZmluaXRpb25CTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgcHJlY2VkZW50c0JORlJ1bGUgPSBQcmVjZWRlbnRzQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGRlZmluaXRpb25zQk5GUnVsZSA9IERlZmluaXRpb25zQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHRlcm1pbmFsUGFydEJORlJ1bGUgPSBUZXJtaW5hbFBhcnRCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgaXNvbGF0ZWRQYXJ0Qk5GUnVsZSA9IElzb2xhdGVkUGFydEJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBjaG9pY2VPZlBhcnRzQk5GUnVsZSA9IENob2ljZU9mUGFydHNCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgc3RyaW5nTGl0ZXJhbEJORlJ1bGUgPSBTdHJpbmdMaXRlcmFsQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG5vblRlcm1pbmFsUGFydEJORlJ1bGUgPSBOb25UZXJtaW5hbFBhcnRCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgc2VxdWVuY2VPZlBhcnRzQk5GUnVsZSA9IFNlcXVlbmNlT2ZQYXJ0c0JORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBvcGFjaXR5TW9kaWZpZXJCTkZSdWxlID0gT3BhY2l0eU1vZGlmaWVyQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG5vV2hpdGVzcGFjZVBhcnRCTkZSdWxlID0gTm9XaGl0ZXNwYWNlUGFydEJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICByZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUgPSBSZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBvcHRpb25hbFF1YW50aWZpZXJCTkZSdWxlID0gT3B0aW9uYWxRdWFudGlmaWVyQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG9uZU9yTW9yZVF1YW50aWZpZXJCTkZSdWxlID0gT25lT3JNb3JlUXVhbnRpZmllckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICB6ZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUgPSBaZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBjb250aW51YXRpb25Nb2RpZmllckJORlJ1bGUgPSBDb250aW51YXRpb25Nb2RpZmllckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBzaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUgPSBTaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBydWxlcyA9IFtcbiAgICAgICAgICAgIGN1dEJORlJ1bGUsXG4gICAgICAgICAgICBuYW1lQk5GUnVsZSxcbiAgICAgICAgICAgIHBhcnRCTkZSdWxlLFxuICAgICAgICAgICAgcnVsZUJORlJ1bGUsXG4gICAgICAgICAgICBlcnJvckJORlJ1bGUsXG4gICAgICAgICAgICBlcHNpbG9uQk5GUnVsZSxcbiAgICAgICAgICAgIGRvY3VtZW50Qk5GUnVsZSxcbiAgICAgICAgICAgIHJ1bGVOYW1lQk5GUnVsZSxcbiAgICAgICAgICAgIHdpbGRjYXJkQk5GUnVsZSxcbiAgICAgICAgICAgIGVuZE9mTGluZUJORlJ1bGUsXG4gICAgICAgICAgICBwYXJ0Q2hvaWNlQk5GUnVsZSxcbiAgICAgICAgICAgIHF1YW50aWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgZGVmaW5pdGlvbkJORlJ1bGUsXG4gICAgICAgICAgICBwcmVjZWRlbnRzQk5GUnVsZSxcbiAgICAgICAgICAgIGRlZmluaXRpb25zQk5GUnVsZSxcbiAgICAgICAgICAgIHRlcm1pbmFsUGFydEJORlJ1bGUsXG4gICAgICAgICAgICBpc29sYXRlZFBhcnRCTkZSdWxlLFxuICAgICAgICAgICAgY2hvaWNlT2ZQYXJ0c0JORlJ1bGUsXG4gICAgICAgICAgICBzdHJpbmdMaXRlcmFsQk5GUnVsZSxcbiAgICAgICAgICAgIG5vblRlcm1pbmFsUGFydEJORlJ1bGUsXG4gICAgICAgICAgICBzZXF1ZW5jZU9mUGFydHNCTkZSdWxlLFxuICAgICAgICAgICAgb3BhY2l0eU1vZGlmaWVyQk5GUnVsZSxcbiAgICAgICAgICAgIG5vV2hpdGVzcGFjZVBhcnRCTkZSdWxlLFxuICAgICAgICAgICAgcmVndWxhckV4cHJlc3Npb25CTkZSdWxlLFxuICAgICAgICAgICAgb3B0aW9uYWxRdWFudGlmaWVyQk5GUnVsZSxcbiAgICAgICAgICAgIG9uZU9yTW9yZVF1YW50aWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgemVyb09yTW9yZVF1YW50aWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgY29udGludWF0aW9uTW9kaWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgc2lnbmlmaWNhbnRUb2tlblR5cGVCTkZSdWxlXG4gICAgICAgICAgXSxcbiAgICAgICAgICBzdGFydFJ1bGUgPSBkb2N1bWVudEJORlJ1bGUsICAvLy9cbiAgICAgICAgICBydWxlTWFwID0gcnVsZU1hcEZyb21SdWxlcyhydWxlcyksXG4gICAgICAgICAgYm5mUGFyc2VyID0gbmV3IEJORlBhcnNlcihzdGFydFJ1bGUsIHJ1bGVNYXApO1xuXG4gICAgcmV0dXJuIGJuZlBhcnNlcjtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKEJORlBhcnNlci5wcm90b3R5cGUsIHBhcnNlck1peGlucyk7XG4iXSwibmFtZXMiOlsiQk5GUGFyc2VyIiwic3RhcnRSdWxlIiwicnVsZU1hcCIsImdldFN0YXJ0UnVsZSIsImdldFJ1bGVNYXAiLCJydWxlc0Zyb21Ub2tlbnMiLCJ0b2tlbnMiLCJydWxlcyIsIm5vZGUiLCJwYXJzZSIsIkVycm9yIiwiZ2VuZXJhdGVSdWxlcyIsIlJ1bGUiLCJydWxlc0xlbmd0aCIsImxlbmd0aCIsIk5vblRlcm1pbmFsTm9kZU1hcCIsImRlZmF1bHROb25UZXJtaW5hbE5vZGUiLCJibmYiLCJmcm9tTm90aGluZyIsImN1dEJORlJ1bGUiLCJDdXRCTkZSdWxlIiwibmFtZUJORlJ1bGUiLCJOYW1lQk5GUnVsZSIsInBhcnRCTkZSdWxlIiwiUGFydEJORlJ1bGUiLCJydWxlQk5GUnVsZSIsIlJ1bGVCTkZSdWxlIiwiZXJyb3JCTkZSdWxlIiwiRXJyb3JCTkZSdWxlIiwiZXBzaWxvbkJORlJ1bGUiLCJFcHNpbG9uQk5GUnVsZSIsImRvY3VtZW50Qk5GUnVsZSIsIkRvY3VtZW50Qk5GUnVsZSIsInJ1bGVOYW1lQk5GUnVsZSIsIlJ1bGVOYW1lQk5GUnVsZSIsIndpbGRjYXJkQk5GUnVsZSIsIldpbGRjYXJkQk5GUnVsZSIsImVuZE9mTGluZUJORlJ1bGUiLCJFbmRPZkxpbmVCTkZSdWxlIiwicGFydENob2ljZUJORlJ1bGUiLCJQYXJ0Q2hvaWNlQk5GUnVsZSIsInF1YW50aWZpZXJCTkZSdWxlIiwiUXVhbnRpZmllckJORlJ1bGUiLCJkZWZpbml0aW9uQk5GUnVsZSIsIkRlZmluaXRpb25CTkZSdWxlIiwicHJlY2VkZW50c0JORlJ1bGUiLCJQcmVjZWRlbnRzQk5GUnVsZSIsImRlZmluaXRpb25zQk5GUnVsZSIsIkRlZmluaXRpb25zQk5GUnVsZSIsInRlcm1pbmFsUGFydEJORlJ1bGUiLCJUZXJtaW5hbFBhcnRCTkZSdWxlIiwiaXNvbGF0ZWRQYXJ0Qk5GUnVsZSIsIklzb2xhdGVkUGFydEJORlJ1bGUiLCJjaG9pY2VPZlBhcnRzQk5GUnVsZSIsIkNob2ljZU9mUGFydHNCTkZSdWxlIiwic3RyaW5nTGl0ZXJhbEJORlJ1bGUiLCJTdHJpbmdMaXRlcmFsQk5GUnVsZSIsIm5vblRlcm1pbmFsUGFydEJORlJ1bGUiLCJOb25UZXJtaW5hbFBhcnRCTkZSdWxlIiwic2VxdWVuY2VPZlBhcnRzQk5GUnVsZSIsIlNlcXVlbmNlT2ZQYXJ0c0JORlJ1bGUiLCJvcGFjaXR5TW9kaWZpZXJCTkZSdWxlIiwiT3BhY2l0eU1vZGlmaWVyQk5GUnVsZSIsIm5vV2hpdGVzcGFjZVBhcnRCTkZSdWxlIiwiTm9XaGl0ZXNwYWNlUGFydEJORlJ1bGUiLCJyZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUiLCJSZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUiLCJvcHRpb25hbFF1YW50aWZpZXJCTkZSdWxlIiwiT3B0aW9uYWxRdWFudGlmaWVyQk5GUnVsZSIsIm9uZU9yTW9yZVF1YW50aWZpZXJCTkZSdWxlIiwiT25lT3JNb3JlUXVhbnRpZmllckJORlJ1bGUiLCJ6ZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUiLCJaZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUiLCJjb250aW51YXRpb25Nb2RpZmllckJORlJ1bGUiLCJDb250aW51YXRpb25Nb2RpZmllckJORlJ1bGUiLCJzaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUiLCJTaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUiLCJydWxlTWFwRnJvbVJ1bGVzIiwiYm5mUGFyc2VyIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwicGFyc2VyTWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF1Q0E7OztlQUFxQkE7Ozs0REFyQ0w7NkRBQ0M7K0RBQ1E7MkVBQ007NERBRVI7NkRBQ0M7NkRBQ0E7OERBQ0E7OERBQ0M7Z0VBQ0U7aUVBQ0M7aUVBQ0E7aUVBQ0E7a0VBQ0M7bUVBQ0M7bUVBQ0E7bUVBQ0E7bUVBQ0E7b0VBQ0M7cUVBQ0M7cUVBQ0E7c0VBQ0M7c0VBQ0E7d0VBQ0U7d0VBQ0E7d0VBQ0E7eUVBQ0M7MEVBQ0M7MkVBQ0M7NEVBQ0M7NkVBQ0M7NkVBQ0E7NkVBQ0E7dUJBRVA7Ozs7OztBQUVsQixNQUFNQTtJQUNuQixZQUFZQyxTQUFTLEVBQUVDLE9BQU8sQ0FBRTtRQUM5QixJQUFJLENBQUNELFNBQVMsR0FBR0E7UUFDakIsSUFBSSxDQUFDQyxPQUFPLEdBQUdBO0lBQ2pCO0lBRUFDLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ0YsU0FBUztJQUN2QjtJQUVBRyxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUNGLE9BQU87SUFDckI7SUFFREcsZ0JBQWdCQyxNQUFNLEVB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
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibmYvcGFyc2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgYm5mIGZyb20gXCIuL2JuZlwiO1xuaW1wb3J0IFJ1bGUgZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCBwYXJzZXJNaXhpbnMgZnJvbSBcIi4uL21peGlucy9wYXJzZXJcIjtcbmltcG9ydCBOb25UZXJtaW5hbE5vZGVNYXAgZnJvbSBcIi4uL25vblRlcm1pbmFsTm9kZU1hcFwiO1xuXG5pbXBvcnQgQ3V0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvY3V0XCI7XG5pbXBvcnQgTmFtZUJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL25hbWVcIjtcbmltcG9ydCBQYXJ0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcGFydFwiO1xuaW1wb3J0IFJ1bGVCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9ydWxlXCI7XG5pbXBvcnQgRXJyb3JCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9lcnJvclwiO1xuaW1wb3J0IEVwc2lsb25CTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9lcHNpbG9uXCI7XG5pbXBvcnQgRG9jdW1lbnRCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9kb2N1bWVudFwiO1xuaW1wb3J0IFJ1bGVOYW1lQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcnVsZU5hbWVcIjtcbmltcG9ydCBXaWxkY2FyZEJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3dpbGRjYXJkXCI7XG5pbXBvcnQgRW5kT2ZMaW5lQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvZW5kT2ZMaW5lXCI7XG5pbXBvcnQgUGFydENob2ljZUJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3BhcnRDaG9pY2VcIjtcbmltcG9ydCBRdWFudGlmaWVyQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcXVhbnRpZmllclwiO1xuaW1wb3J0IERlZmluaXRpb25CTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9kZWZpbml0aW9uXCI7XG5pbXBvcnQgUHJlY2VkZW50c0JORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3ByZWNlZGVuY2VcIjtcbmltcG9ydCBEZWZpbml0aW9uc0JORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL2RlZmluaXRpb25zXCI7XG5pbXBvcnQgSXNvbGF0ZWRQYXJ0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvaXNvbGF0ZWRQYXJ0XCI7XG5pbXBvcnQgVGVybWluYWxQYXJ0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvdGVybWluYWxQYXJ0XCI7XG5pbXBvcnQgQ2hvaWNlT2ZQYXJ0c0JORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL2Nob2ljZU9mUGFydHNcIjtcbmltcG9ydCBTdHJpbmdMaXRlcmFsQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvc3RyaW5nTGl0ZXJhbFwiO1xuaW1wb3J0IEJyYW5jaGluZ1BhcnRzQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvYnJhbmNoaW5nUGFydHNcIjtcbmltcG9ydCBOb25UZXJtaW5hbFBhcnRCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9ub25UZXJtaW5hbFBhcnRcIjtcbmltcG9ydCBTZXF1ZW5jZU9mUGFydHNCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9zZXF1ZW5jZU9mUGFydHNcIjtcbmltcG9ydCBPcGFjaXR5TW9kaWZpZXJCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9vcGFjaXR5TW9kaWZpZXJcIjtcbmltcG9ydCBOb1doaXRlc3BhY2VQYXJ0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvbm9XaGl0ZXNwYWNlUGFydFwiO1xuaW1wb3J0IFJlZ3VsYXJFeHByZXNzaW9uQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcmVndWxhckV4cHJlc3Npb25cIjtcbmltcG9ydCBPcHRpb25hbFF1YW50aWZpZXJCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9vcHRpb25hbFF1YW50aWZpZXJcIjtcbmltcG9ydCBPbmVPck1vcmVRdWFudGlmaWVyQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvb25lT3JNb3JlUXVhbnRpZmllclwiO1xuaW1wb3J0IFplcm9Pck1vcmVRdWFudGlmaWVyQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvemVyb09yTW9yZVF1YW50aWZpZXJcIjtcbmltcG9ydCBTaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3NpZ25pZmljYW50VG9rZW5UeXBlXCI7XG5cbmltcG9ydCB7IHJ1bGVNYXBGcm9tUnVsZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3J1bGVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJORlBhcnNlciB7XG4gIGNvbnN0cnVjdG9yKHN0YXJ0UnVsZSwgcnVsZU1hcCkge1xuICAgIHRoaXMuc3RhcnRSdWxlID0gc3RhcnRSdWxlO1xuICAgIHRoaXMucnVsZU1hcCA9IHJ1bGVNYXA7XG4gIH1cblxuICBnZXRTdGFydFJ1bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnRSdWxlO1xuICB9XG5cbiAgZ2V0UnVsZU1hcCgpIHtcbiAgICByZXR1cm4gdGhpcy5ydWxlTWFwO1xuICB9XG5cblx0cnVsZXNGcm9tVG9rZW5zKHRva2Vucykge1xuXHQgIGxldCBydWxlcztcblxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnBhcnNlKHRva2Vucyk7XG5cbiAgICBpZiAobm9kZSA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBubyBub2RlLmApO1xuICAgIH1cblxuICAgIHJ1bGVzID0gbm9kZS5nZW5lcmF0ZVJ1bGVzKFJ1bGUpO1xuXG4gICAgY29uc3QgcnVsZXNMZW5ndGggPSBydWxlcy5sZW5ndGg7XG5cbiAgICBpZiAocnVsZXNMZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlcmUgYXJlIG5vIHJ1bGVzLmApO1xuICAgIH1cblxuICAgIHJldHVybiBydWxlcztcbiAgfVxuXG4gIHN0YXRpYyBOb25UZXJtaW5hbE5vZGVNYXAgPSBOb25UZXJtaW5hbE5vZGVNYXA7XG5cbiAgc3RhdGljIGRlZmF1bHROb25UZXJtaW5hbE5vZGUgPSBudWxsO1xuXG4gIHN0YXRpYyBibmYgPSBibmY7XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IGN1dEJORlJ1bGUgPSBDdXRCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgbmFtZUJORlJ1bGUgPSBOYW1lQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHBhcnRCTkZSdWxlID0gUGFydEJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBydWxlQk5GUnVsZSA9IFJ1bGVCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgZXJyb3JCTkZSdWxlID0gRXJyb3JCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgZXBzaWxvbkJORlJ1bGUgPSBFcHNpbG9uQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGRvY3VtZW50Qk5GUnVsZSA9IERvY3VtZW50Qk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHJ1bGVOYW1lQk5GUnVsZSA9IFJ1bGVOYW1lQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHdpbGRjYXJkQk5GUnVsZSA9IFdpbGRjYXJkQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGVuZE9mTGluZUJORlJ1bGUgPSBFbmRPZkxpbmVCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgcGFydENob2ljZUJORlJ1bGUgPSBQYXJ0Q2hvaWNlQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHF1YW50aWZpZXJCTkZSdWxlID0gUXVhbnRpZmllckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBkZWZpbml0aW9uQk5GUnVsZSA9IERlZmluaXRpb25CTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgcHJlY2VkZW50c0JORlJ1bGUgPSBQcmVjZWRlbnRzQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGRlZmluaXRpb25zQk5GUnVsZSA9IERlZmluaXRpb25zQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHRlcm1pbmFsUGFydEJORlJ1bGUgPSBUZXJtaW5hbFBhcnRCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgaXNvbGF0ZWRQYXJ0Qk5GUnVsZSA9IElzb2xhdGVkUGFydEJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBjaG9pY2VPZlBhcnRzQk5GUnVsZSA9IENob2ljZU9mUGFydHNCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgc3RyaW5nTGl0ZXJhbEJORlJ1bGUgPSBTdHJpbmdMaXRlcmFsQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGJyYW5jaGluZ1BhcnRzQk5GUnVsZSA9IEJyYW5jaGluZ1BhcnRzQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG5vblRlcm1pbmFsUGFydEJORlJ1bGUgPSBOb25UZXJtaW5hbFBhcnRCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgc2VxdWVuY2VPZlBhcnRzQk5GUnVsZSA9IFNlcXVlbmNlT2ZQYXJ0c0JORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBvcGFjaXR5TW9kaWZpZXJCTkZSdWxlID0gT3BhY2l0eU1vZGlmaWVyQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG5vV2hpdGVzcGFjZVBhcnRCTkZSdWxlID0gTm9XaGl0ZXNwYWNlUGFydEJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICByZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUgPSBSZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBvcHRpb25hbFF1YW50aWZpZXJCTkZSdWxlID0gT3B0aW9uYWxRdWFudGlmaWVyQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG9uZU9yTW9yZVF1YW50aWZpZXJCTkZSdWxlID0gT25lT3JNb3JlUXVhbnRpZmllckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICB6ZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUgPSBaZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBzaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUgPSBTaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBydWxlcyA9IFtcbiAgICAgICAgICAgIGN1dEJORlJ1bGUsXG4gICAgICAgICAgICBuYW1lQk5GUnVsZSxcbiAgICAgICAgICAgIHBhcnRCTkZSdWxlLFxuICAgICAgICAgICAgcnVsZUJORlJ1bGUsXG4gICAgICAgICAgICBlcnJvckJORlJ1bGUsXG4gICAgICAgICAgICBlcHNpbG9uQk5GUnVsZSxcbiAgICAgICAgICAgIGRvY3VtZW50Qk5GUnVsZSxcbiAgICAgICAgICAgIHJ1bGVOYW1lQk5GUnVsZSxcbiAgICAgICAgICAgIHdpbGRjYXJkQk5GUnVsZSxcbiAgICAgICAgICAgIGVuZE9mTGluZUJORlJ1bGUsXG4gICAgICAgICAgICBwYXJ0Q2hvaWNlQk5GUnVsZSxcbiAgICAgICAgICAgIHF1YW50aWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgZGVmaW5pdGlvbkJORlJ1bGUsXG4gICAgICAgICAgICBwcmVjZWRlbnRzQk5GUnVsZSxcbiAgICAgICAgICAgIGRlZmluaXRpb25zQk5GUnVsZSxcbiAgICAgICAgICAgIHRlcm1pbmFsUGFydEJORlJ1bGUsXG4gICAgICAgICAgICBpc29sYXRlZFBhcnRCTkZSdWxlLFxuICAgICAgICAgICAgY2hvaWNlT2ZQYXJ0c0JORlJ1bGUsXG4gICAgICAgICAgICBzdHJpbmdMaXRlcmFsQk5GUnVsZSxcbiAgICAgICAgICAgIGJyYW5jaGluZ1BhcnRzQk5GUnVsZSxcbiAgICAgICAgICAgIG5vblRlcm1pbmFsUGFydEJORlJ1bGUsXG4gICAgICAgICAgICBzZXF1ZW5jZU9mUGFydHNCTkZSdWxlLFxuICAgICAgICAgICAgb3BhY2l0eU1vZGlmaWVyQk5GUnVsZSxcbiAgICAgICAgICAgIG5vV2hpdGVzcGFjZVBhcnRCTkZSdWxlLFxuICAgICAgICAgICAgcmVndWxhckV4cHJlc3Npb25CTkZSdWxlLFxuICAgICAgICAgICAgb3B0aW9uYWxRdWFudGlmaWVyQk5GUnVsZSxcbiAgICAgICAgICAgIG9uZU9yTW9yZVF1YW50aWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgemVyb09yTW9yZVF1YW50aWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgc2lnbmlmaWNhbnRUb2tlblR5cGVCTkZSdWxlXG4gICAgICAgICAgXSxcbiAgICAgICAgICBzdGFydFJ1bGUgPSBkb2N1bWVudEJORlJ1bGUsICAvLy9cbiAgICAgICAgICBydWxlTWFwID0gcnVsZU1hcEZyb21SdWxlcyhydWxlcyksXG4gICAgICAgICAgYm5mUGFyc2VyID0gbmV3IEJORlBhcnNlcihzdGFydFJ1bGUsIHJ1bGVNYXApO1xuXG4gICAgcmV0dXJuIGJuZlBhcnNlcjtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKEJORlBhcnNlci5wcm90b3R5cGUsIHBhcnNlck1peGlucyk7XG4iXSwibmFtZXMiOlsiQk5GUGFyc2VyIiwic3RhcnRSdWxlIiwicnVsZU1hcCIsImdldFN0YXJ0UnVsZSIsImdldFJ1bGVNYXAiLCJydWxlc0Zyb21Ub2tlbnMiLCJ0b2tlbnMiLCJydWxlcyIsIm5vZGUiLCJwYXJzZSIsIkVycm9yIiwiZ2VuZXJhdGVSdWxlcyIsIlJ1bGUiLCJydWxlc0xlbmd0aCIsImxlbmd0aCIsIk5vblRlcm1pbmFsTm9kZU1hcCIsImRlZmF1bHROb25UZXJtaW5hbE5vZGUiLCJibmYiLCJmcm9tTm90aGluZyIsImN1dEJORlJ1bGUiLCJDdXRCTkZSdWxlIiwibmFtZUJORlJ1bGUiLCJOYW1lQk5GUnVsZSIsInBhcnRCTkZSdWxlIiwiUGFydEJORlJ1bGUiLCJydWxlQk5GUnVsZSIsIlJ1bGVCTkZSdWxlIiwiZXJyb3JCTkZSdWxlIiwiRXJyb3JCTkZSdWxlIiwiZXBzaWxvbkJORlJ1bGUiLCJFcHNpbG9uQk5GUnVsZSIsImRvY3VtZW50Qk5GUnVsZSIsIkRvY3VtZW50Qk5GUnVsZSIsInJ1bGVOYW1lQk5GUnVsZSIsIlJ1bGVOYW1lQk5GUnVsZSIsIndpbGRjYXJkQk5GUnVsZSIsIldpbGRjYXJkQk5GUnVsZSIsImVuZE9mTGluZUJORlJ1bGUiLCJFbmRPZkxpbmVCTkZSdWxlIiwicGFydENob2ljZUJORlJ1bGUiLCJQYXJ0Q2hvaWNlQk5GUnVsZSIsInF1YW50aWZpZXJCTkZSdWxlIiwiUXVhbnRpZmllckJORlJ1bGUiLCJkZWZpbml0aW9uQk5GUnVsZSIsIkRlZmluaXRpb25CTkZSdWxlIiwicHJlY2VkZW50c0JORlJ1bGUiLCJQcmVjZWRlbnRzQk5GUnVsZSIsImRlZmluaXRpb25zQk5GUnVsZSIsIkRlZmluaXRpb25zQk5GUnVsZSIsInRlcm1pbmFsUGFydEJORlJ1bGUiLCJUZXJtaW5hbFBhcnRCTkZSdWxlIiwiaXNvbGF0ZWRQYXJ0Qk5GUnVsZSIsIklzb2xhdGVkUGFydEJORlJ1bGUiLCJjaG9pY2VPZlBhcnRzQk5GUnVsZSIsIkNob2ljZU9mUGFydHNCTkZSdWxlIiwic3RyaW5nTGl0ZXJhbEJORlJ1bGUiLCJTdHJpbmdMaXRlcmFsQk5GUnVsZSIsImJyYW5jaGluZ1BhcnRzQk5GUnVsZSIsIkJyYW5jaGluZ1BhcnRzQk5GUnVsZSIsIm5vblRlcm1pbmFsUGFydEJORlJ1bGUiLCJOb25UZXJtaW5hbFBhcnRCTkZSdWxlIiwic2VxdWVuY2VPZlBhcnRzQk5GUnVsZSIsIlNlcXVlbmNlT2ZQYXJ0c0JORlJ1bGUiLCJvcGFjaXR5TW9kaWZpZXJCTkZSdWxlIiwiT3BhY2l0eU1vZGlmaWVyQk5GUnVsZSIsIm5vV2hpdGVzcGFjZVBhcnRCTkZSdWxlIiwiTm9XaGl0ZXNwYWNlUGFydEJORlJ1bGUiLCJyZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUiLCJSZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUiLCJvcHRpb25hbFF1YW50aWZpZXJCTkZSdWxlIiwiT3B0aW9uYWxRdWFudGlmaWVyQk5GUnVsZSIsIm9uZU9yTW9yZVF1YW50aWZpZXJCTkZSdWxlIiwiT25lT3JNb3JlUXVhbnRpZmllckJORlJ1bGUiLCJ6ZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUiLCJaZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUiLCJzaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUiLCJTaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUiLCJydWxlTWFwRnJvbVJ1bGVzIiwiYm5mUGFyc2VyIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwicGFyc2VyTWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF1Q0E7OztlQUFxQkE7Ozs0REFyQ0w7NkRBQ0M7K0RBQ1E7MkVBQ007NERBRVI7NkRBQ0M7NkRBQ0E7OERBQ0E7OERBQ0M7Z0VBQ0U7aUVBQ0M7aUVBQ0E7aUVBQ0E7a0VBQ0M7bUVBQ0M7bUVBQ0E7bUVBQ0E7bUVBQ0E7b0VBQ0M7cUVBQ0M7cUVBQ0E7c0VBQ0M7c0VBQ0E7dUVBQ0M7d0VBQ0M7d0VBQ0E7d0VBQ0E7eUVBQ0M7MEVBQ0M7MkVBQ0M7NEVBQ0M7NkVBQ0M7NkVBQ0E7dUJBRVA7Ozs7OztBQUVsQixNQUFNQTtJQUNuQixZQUFZQyxTQUFTLEVBQUVDLE9BQU8sQ0FBRTtRQUM5QixJQUFJLENBQUNELFNBQVMsR0FBR0E7UUFDakIsSUFBSSxDQUFDQyxPQUFPLEdBQUdBO0lBQ2pCO0lBRUFDLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ0YsU0FBUztJQUN2QjtJQUVBRyxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUNGLE9BQU87SUFDckI7SUFFREcsZ0JBQWdCQyxNQUFNLEVBQUU7UUFDdEIsSUFBSUM7UUFFSCxNQUFNQyxPQUFPLElBQUksQ0FBQ0Ms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
package/lib/constants.js CHANGED
@@ -17,10 +17,18 @@ _export(exports, {
17
17
  },
18
18
  get ESCAPED_DOUBLE_QUOTE () {
19
19
  return ESCAPED_DOUBLE_QUOTE;
20
+ },
21
+ get ISOLATED_PRECEDENCE () {
22
+ return ISOLATED_PRECEDENCE;
23
+ },
24
+ get TRANSPARENT_PRECEDENCE () {
25
+ return TRANSPARENT_PRECEDENCE;
20
26
  }
21
27
  });
22
28
  const EMPTY_STRING = "";
23
29
  const ESCAPED_BACKSLASH = "\\";
30
+ const ISOLATED_PRECEDENCE = -1;
24
31
  const ESCAPED_DOUBLE_QUOTE = "\"";
32
+ const TRANSPARENT_PRECEDENCE = Infinity;
25
33
 
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuZXhwb3J0IGNvbnN0IEVTQ0FQRURfQkFDS1NMQVNIID1cIlxcXFxcIjtcbmV4cG9ydCBjb25zdCBFU0NBUEVEX0RPVUJMRV9RVU9URSA9IFwiXFxcIlwiO1xuIl0sIm5hbWVzIjpbIkVNUFRZX1NUUklORyIsIkVTQ0FQRURfQkFDS1NMQVNIIiwiRVNDQVBFRF9ET1VCTEVfUVVPVEUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQUVhQTtlQUFBQTs7UUFDQUM7ZUFBQUE7O1FBQ0FDO2VBQUFBOzs7QUFGTixNQUFNRixlQUFlO0FBQ3JCLE1BQU1DLG9CQUFtQjtBQUN6QixNQUFNQyx1QkFBdUIifQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuZXhwb3J0IGNvbnN0IEVTQ0FQRURfQkFDS1NMQVNIID1cIlxcXFxcIjtcbmV4cG9ydCBjb25zdCBJU09MQVRFRF9QUkVDRURFTkNFID0gLTE7XG5leHBvcnQgY29uc3QgRVNDQVBFRF9ET1VCTEVfUVVPVEUgPSBcIlxcXCJcIjtcbmV4cG9ydCBjb25zdCBUUkFOU1BBUkVOVF9QUkVDRURFTkNFID0gSW5maW5pdHk7Il0sIm5hbWVzIjpbIkVNUFRZX1NUUklORyIsIkVTQ0FQRURfQkFDS1NMQVNIIiwiRVNDQVBFRF9ET1VCTEVfUVVPVEUiLCJJU09MQVRFRF9QUkVDRURFTkNFIiwiVFJBTlNQQVJFTlRfUFJFQ0VERU5DRSIsIkluZmluaXR5Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFFYUE7ZUFBQUE7O1FBQ0FDO2VBQUFBOztRQUVBQztlQUFBQTs7UUFEQUM7ZUFBQUE7O1FBRUFDO2VBQUFBOzs7QUFKTixNQUFNSixlQUFlO0FBQ3JCLE1BQU1DLG9CQUFtQjtBQUN6QixNQUFNRSxzQkFBc0IsQ0FBQztBQUM3QixNQUFNRCx1QkFBdUI7QUFDN0IsTUFBTUUseUJBQXlCQyJ9
package/lib/cut.js ADDED
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Cut;
9
+ }
10
+ });
11
+ class Cut {
12
+ constructor(frame, state, forward){
13
+ this.frame = frame;
14
+ this.state = state;
15
+ this.forward = forward;
16
+ }
17
+ getFrame() {
18
+ return this.frame;
19
+ }
20
+ getState() {
21
+ return this.state;
22
+ }
23
+ getForward() {
24
+ return this.forward;
25
+ }
26
+ getArguments() {
27
+ return [
28
+ this.frame,
29
+ this.state,
30
+ this.forward
31
+ ]; ///
32
+ }
33
+ static fromFrameStateAndForward(frame, state, forward) {
34
+ const cut = new Cut(frame, state, forward);
35
+ return cut;
36
+ }
37
+ }
38
+
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jdXQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEN1dCB7XG4gIGNvbnN0cnVjdG9yKGZyYW1lLCBzdGF0ZSwgZm9yd2FyZCkge1xuICAgIHRoaXMuZnJhbWUgPSBmcmFtZTtcbiAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgdGhpcy5mb3J3YXJkID0gZm9yd2FyZDtcbiAgfVxuXG4gIGdldEZyYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmZyYW1lO1xuICB9XG5cbiAgZ2V0U3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGU7XG4gIH1cblxuICBnZXRGb3J3YXJkKCkge1xuICAgIHJldHVybiB0aGlzLmZvcndhcmQ7XG4gIH1cblxuICBnZXRBcmd1bWVudHMoKSB7XG4gICAgcmV0dXJuIChbdGhpcy5mcmFtZSwgdGhpcy5zdGF0ZSwgdGhpcy5mb3J3YXJkXSk7IC8vL1xuICB9XG5cbiAgc3RhdGljIGZyb21GcmFtZVN0YXRlQW5kRm9yd2FyZChmcmFtZSwgc3RhdGUsIGZvcndhcmQpIHtcbiAgICBjb25zdCBjdXQgPSBuZXcgQ3V0KGZyYW1lLCBzdGF0ZSwgZm9yd2FyZCk7XG5cbiAgICByZXR1cm4gY3V0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiQ3V0IiwiZnJhbWUiLCJzdGF0ZSIsImZvcndhcmQiLCJnZXRGcmFtZSIsImdldFN0YXRlIiwiZ2V0Rm9yd2FyZCIsImdldEFyZ3VtZW50cyIsImZyb21GcmFtZVN0YXRlQW5kRm9yd2FyZCIsImN1dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUFxQkE7OztBQUFOLE1BQU1BO0lBQ25CLFlBQVlDLEtBQUssRUFBRUMsS0FBSyxFQUFFQyxPQUFPLENBQUU7UUFDakMsSUFBSSxDQUFDRixLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxPQUFPLEdBQUdBO0lBQ2pCO0lBRUFDLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0gsS0FBSztJQUNuQjtJQUVBSSxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUNILEtBQUs7SUFDbkI7SUFFQUksYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDSCxPQUFPO0lBQ3JCO0lBRUFJLGVBQWU7UUFDYixPQUFRO1lBQUMsSUFBSSxDQUFDTixLQUFLO1lBQUUsSUFBSSxDQUFDQyxLQUFLO1lBQUUsSUFBSSxDQUFDQyxPQUFPO1NBQUMsRUFBRyxHQUFHO0lBQ3REO0lBRUEsT0FBT0sseUJBQXlCUCxLQUFLLEVBQUVDLEtBQUssRUFBRUMsT0FBTyxFQUFFO1FBQ3JELE1BQU1NLE1BQU0sSUFBSVQsSUFBSUMsT0FBT0MsT0FBT0M7UUFFbEMsT0FBT007SUFDVDtBQUNGIn0=
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return BranchingPartsDefinition;
9
+ }
10
+ });
11
+ const _occamlexers = require("occam-lexers");
12
+ const _definition = /*#__PURE__*/ _interop_require_default(require("../definition"));
13
+ const _ruleName = /*#__PURE__*/ _interop_require_default(require("../part/nonTerminal/ruleName"));
14
+ const _stringLiteral = /*#__PURE__*/ _interop_require_default(require("../part/terminal/stringLiteral"));
15
+ const _ruleNames = require("../ruleNames");
16
+ function _interop_require_default(obj) {
17
+ return obj && obj.__esModule ? obj : {
18
+ default: obj
19
+ };
20
+ }
21
+ const { ellipsis, openBracket, closeBracket } = _occamlexers.specialSymbols;
22
+ class BranchingPartsDefinition extends _definition.default {
23
+ static fromNothing() {
24
+ const ruleName = _ruleNames.PART_RULE_NAME, ellipsisStringLiteralContent = ellipsis, openBracketStringLiteralContent = openBracket, closeBracketStringLiteralContent = closeBracket, partRuleNamePart = _ruleName.default.fromRuleName(ruleName), ellipsisStringLiteralPart = _stringLiteral.default.fromContent(ellipsisStringLiteralContent), openBracketStringLiteralPart = _stringLiteral.default.fromContent(openBracketStringLiteralContent), closeBracketStringLiteralPart = _stringLiteral.default.fromContent(closeBracketStringLiteralContent), parts = [
25
+ openBracketStringLiteralPart,
26
+ partRuleNamePart,
27
+ ellipsisStringLiteralPart,
28
+ partRuleNamePart,
29
+ closeBracketStringLiteralPart
30
+ ], precedence = null, branchingPartsDefinition = new BranchingPartsDefinition(parts, precedence);
31
+ return branchingPartsDefinition;
32
+ }
33
+ }
34
+
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWZpbml0aW9uL2JyYW5jaGluZ1BhcnRzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBzcGVjaWFsU3ltYm9scyB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcblxuaW1wb3J0IERlZmluaXRpb24gZnJvbSBcIi4uL2RlZmluaXRpb25cIjtcbmltcG9ydCBSdWxlTmFtZVBhcnQgZnJvbSBcIi4uL3BhcnQvbm9uVGVybWluYWwvcnVsZU5hbWVcIjtcbmltcG9ydCBTdHJpbmdMaXRlcmFsUGFydCBmcm9tIFwiLi4vcGFydC90ZXJtaW5hbC9zdHJpbmdMaXRlcmFsXCI7XG5cbmltcG9ydCB7IFBBUlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5jb25zdCB7IGVsbGlwc2lzLCBvcGVuQnJhY2tldCwgY2xvc2VCcmFja2V0IH0gPSBzcGVjaWFsU3ltYm9scztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnJhbmNoaW5nUGFydHNEZWZpbml0aW9uIGV4dGVuZHMgRGVmaW5pdGlvbiB7XG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IFBBUlRfUlVMRV9OQU1FLCAgLy8vXG4gICAgICAgICAgZWxsaXBzaXNTdHJpbmdMaXRlcmFsQ29udGVudCA9IGVsbGlwc2lzLCAvLy9cbiAgICAgICAgICBvcGVuQnJhY2tldFN0cmluZ0xpdGVyYWxDb250ZW50ID0gb3BlbkJyYWNrZXQsIC8vL1xuICAgICAgICAgIGNsb3NlQnJhY2tldFN0cmluZ0xpdGVyYWxDb250ZW50ID0gY2xvc2VCcmFja2V0LCAvLy9cbiAgICAgICAgICBwYXJ0UnVsZU5hbWVQYXJ0ID0gUnVsZU5hbWVQYXJ0LmZyb21SdWxlTmFtZShydWxlTmFtZSksXG4gICAgICAgICAgZWxsaXBzaXNTdHJpbmdMaXRlcmFsUGFydCA9IFN0cmluZ0xpdGVyYWxQYXJ0LmZyb21Db250ZW50KGVsbGlwc2lzU3RyaW5nTGl0ZXJhbENvbnRlbnQpLFxuICAgICAgICAgIG9wZW5CcmFja2V0U3RyaW5nTGl0ZXJhbFBhcnQgPSBTdHJpbmdMaXRlcmFsUGFydC5mcm9tQ29udGVudChvcGVuQnJhY2tldFN0cmluZ0xpdGVyYWxDb250ZW50KSxcbiAgICAgICAgICBjbG9zZUJyYWNrZXRTdHJpbmdMaXRlcmFsUGFydCA9IFN0cmluZ0xpdGVyYWxQYXJ0LmZyb21Db250ZW50KGNsb3NlQnJhY2tldFN0cmluZ0xpdGVyYWxDb250ZW50KSxcbiAgICAgICAgICBwYXJ0cyA9IFtcbiAgICAgICAgICAgIG9wZW5CcmFja2V0U3RyaW5nTGl0ZXJhbFBhcnQsXG4gICAgICAgICAgICBwYXJ0UnVsZU5hbWVQYXJ0LFxuICAgICAgICAgICAgZWxsaXBzaXNTdHJpbmdMaXRlcmFsUGFydCxcbiAgICAgICAgICAgIHBhcnRSdWxlTmFtZVBhcnQsXG4gICAgICAgICAgICBjbG9zZUJyYWNrZXRTdHJpbmdMaXRlcmFsUGFydFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJlY2VkZW5jZSA9IG51bGwsXG4gICAgICAgICAgYnJhbmNoaW5nUGFydHNEZWZpbml0aW9uID0gbmV3IEJyYW5jaGluZ1BhcnRzRGVmaW5pdGlvbihwYXJ0cywgcHJlY2VkZW5jZSk7XG5cbiAgICByZXR1cm4gYnJhbmNoaW5nUGFydHNEZWZpbml0aW9uO1xuICB9XG59XG4iXSwibmFtZXMiOlsiQnJhbmNoaW5nUGFydHNEZWZpbml0aW9uIiwiZWxsaXBzaXMiLCJvcGVuQnJhY2tldCIsImNsb3NlQnJhY2tldCIsInNwZWNpYWxTeW1ib2xzIiwiRGVmaW5pdGlvbiIsImZyb21Ob3RoaW5nIiwicnVsZU5hbWUiLCJQQVJUX1JVTEVfTkFNRSIsImVsbGlwc2lzU3RyaW5nTGl0ZXJhbENvbnRlbnQiLCJvcGVuQnJhY2tldFN0cmluZ0xpdGVyYWxDb250ZW50IiwiY2xvc2VCcmFja2V0U3RyaW5nTGl0ZXJhbENvbnRlbnQiLCJwYXJ0UnVsZU5hbWVQYXJ0IiwiUnVsZU5hbWVQYXJ0IiwiZnJvbVJ1bGVOYW1lIiwiZWxsaXBzaXNTdHJpbmdMaXRlcmFsUGFydCIsIlN0cmluZ0xpdGVyYWxQYXJ0IiwiZnJvbUNvbnRlbnQiLCJvcGVuQnJhY2tldFN0cmluZ0xpdGVyYWxQYXJ0IiwiY2xvc2VCcmFja2V0U3RyaW5nTGl0ZXJhbFBhcnQiLCJwYXJ0cyIsInByZWNlZGVuY2UiLCJicmFuY2hpbmdQYXJ0c0RlZmluaXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVlBOzs7ZUFBcUJBOzs7NkJBVlU7bUVBRVI7aUVBQ0U7c0VBQ0s7MkJBRUM7Ozs7OztBQUUvQixNQUFNLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxZQUFZLEVBQUUsR0FBR0MsMkJBQWM7QUFFL0MsTUFBTUosaUNBQWlDSyxtQkFBVTtJQUM5RCxPQUFPQyxjQUFjO1FBQ25CLE1BQU1DLFdBQVdDLHlCQUFjLEVBQ3pCQywrQkFBK0JSLFVBQy9CUyxrQ0FBa0NSLGFBQ2xDUyxtQ0FBbUNSLGNBQ25DUyxtQkFBbUJDLGlCQUFZLENBQUNDLFlBQVksQ0FBQ1AsV0FDN0NRLDRCQUE0QkMsc0JBQWlCLENBQUNDLFdBQVcsQ0FBQ1IsK0JBQzFEUywrQkFBK0JGLHNCQUFpQixDQUFDQyxXQUFXLENBQUNQLGtDQUM3RFMsZ0NBQWdDSCxzQkFBaUIsQ0FBQ0MsV0FBVyxDQUFDTixtQ0FDOURTLFFBQVE7WUFDTkY7WUFDQU47WUFDQUc7WUFDQUg7WUFDQU87U0FDRCxFQUNERSxhQUFhLE1BQ2JDLDJCQUEyQixJQUFJdEIseUJBQXlCb0IsT0FBT0M7UUFFckUsT0FBT0M7SUFDVDtBQUNGIn0=
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  const _definition = /*#__PURE__*/ _interop_require_default(require("../../../definition"));
12
12
  const _ruleName = /*#__PURE__*/ _interop_require_default(require("../../../part/nonTerminal/ruleName"));
13
- const _optionalPart = /*#__PURE__*/ _interop_require_default(require("../../../part/nonTerminal/optionalPart"));
14
13
  const _ruleNames = require("../../../ruleNames");
15
14
  function _interop_require_default(obj) {
16
15
  return obj && obj.__esModule ? obj : {
@@ -19,16 +18,11 @@ function _interop_require_default(obj) {
19
18
  }
20
19
  class RuleNameNonTerminalPartRuleDefinition extends _definition.default {
21
20
  static fromNothing() {
22
- let ruleName;
23
- ruleName = _ruleNames.RULE_NAME_RULE_NAME;
24
- const ruleNameRuleNamePart = _ruleName.default.fromRuleName(ruleName);
25
- ruleName = _ruleNames.CONTINUATION_MODIFIER_RULE_NAME;
26
- const continuationModifierRuleNamePart = _ruleName.default.fromRuleName(ruleName), optionalContinuationRuleNamePartPart = _optionalPart.default.fromPart(continuationModifierRuleNamePart), parts = [
27
- ruleNameRuleNamePart,
28
- optionalContinuationRuleNamePartPart
21
+ const ruleName = _ruleNames.RULE_NAME_RULE_NAME, ruleNameRuleNamePart = _ruleName.default.fromRuleName(ruleName), parts = [
22
+ ruleNameRuleNamePart
29
23
  ], precedence = null, ruleNameNonTerminalPartRuleDefinition = new RuleNameNonTerminalPartRuleDefinition(parts, precedence);
30
24
  return ruleNameNonTerminalPartRuleDefinition;
31
25
  }
32
26
  }
33
27
 
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZWZpbml0aW9uL3BhcnRSdWxlL25vblRlcm1pbmFsL3J1bGVOYW1lLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgRGVmaW5pdGlvbiBmcm9tIFwiLi4vLi4vLi4vZGVmaW5pdGlvblwiO1xuaW1wb3J0IFJ1bGVOYW1lUGFydCBmcm9tIFwiLi4vLi4vLi4vcGFydC9ub25UZXJtaW5hbC9ydWxlTmFtZVwiO1xuaW1wb3J0IE9wdGlvbmFsUGFydFBhcnQgZnJvbSBcIi4uLy4uLy4uL3BhcnQvbm9uVGVybWluYWwvb3B0aW9uYWxQYXJ0XCI7XG5cbmltcG9ydCB7IFJVTEVfTkFNRV9SVUxFX05BTUUsIENPTlRJTlVBVElPTl9NT0RJRklFUl9SVUxFX05BTUUgfSBmcm9tIFwiLi4vLi4vLi4vcnVsZU5hbWVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJ1bGVOYW1lTm9uVGVybWluYWxQYXJ0UnVsZURlZmluaXRpb24gZXh0ZW5kcyBEZWZpbml0aW9uIHtcbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGxldCBydWxlTmFtZTtcblxuICAgIHJ1bGVOYW1lID0gUlVMRV9OQU1FX1JVTEVfTkFNRTtcblxuICAgIGNvbnN0IHJ1bGVOYW1lUnVsZU5hbWVQYXJ0ID0gUnVsZU5hbWVQYXJ0LmZyb21SdWxlTmFtZShydWxlTmFtZSk7XG5cbiAgICBydWxlTmFtZSA9IENPTlRJTlVBVElPTl9NT0RJRklFUl9SVUxFX05BTUU7XG5cbiAgICBjb25zdCBjb250aW51YXRpb25Nb2RpZmllclJ1bGVOYW1lUGFydCA9IFJ1bGVOYW1lUGFydC5mcm9tUnVsZU5hbWUocnVsZU5hbWUpLFxuICAgICAgICAgIG9wdGlvbmFsQ29udGludWF0aW9uUnVsZU5hbWVQYXJ0UGFydCA9IE9wdGlvbmFsUGFydFBhcnQuZnJvbVBhcnQoY29udGludWF0aW9uTW9kaWZpZXJSdWxlTmFtZVBhcnQpLFxuICAgICAgICAgIHBhcnRzID0gW1xuICAgICAgICAgICAgcnVsZU5hbWVSdWxlTmFtZVBhcnQsXG4gICAgICAgICAgICBvcHRpb25hbENvbnRpbnVhdGlvblJ1bGVOYW1lUGFydFBhcnRcbiAgICAgICAgICBdLFxuICAgICAgICAgIHByZWNlZGVuY2UgPSBudWxsLFxuICAgICAgICAgIHJ1bGVOYW1lTm9uVGVybWluYWxQYXJ0UnVsZURlZmluaXRpb24gPSBuZXcgUnVsZU5hbWVOb25UZXJtaW5hbFBhcnRSdWxlRGVmaW5pdGlvbihwYXJ0cywgcHJlY2VkZW5jZSk7XG5cbiAgICByZXR1cm4gcnVsZU5hbWVOb25UZXJtaW5hbFBhcnRSdWxlRGVmaW5pdGlvbjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlJ1bGVOYW1lTm9uVGVybWluYWxQYXJ0UnVsZURlZmluaXRpb24iLCJEZWZpbml0aW9uIiwiZnJvbU5vdGhpbmciLCJydWxlTmFtZSIsIlJVTEVfTkFNRV9SVUxFX05BTUUiLCJydWxlTmFtZVJ1bGVOYW1lUGFydCIsIlJ1bGVOYW1lUGFydCIsImZyb21SdWxlTmFtZSIsIkNPTlRJTlVBVElPTl9NT0RJRklFUl9SVUxFX05BTUUiLCJjb250aW51YXRpb25Nb2RpZmllclJ1bGVOYW1lUGFydCIsIm9wdGlvbmFsQ29udGludWF0aW9uUnVsZU5hbWVQYXJ0UGFydCIsIk9wdGlvbmFsUGFydFBhcnQiLCJmcm9tUGFydCIsInBhcnRzIiwicHJlY2VkZW5jZSIsInJ1bGVOYW1lTm9uVGVybWluYWxQYXJ0UnVsZURlZmluaXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBcUJBOzs7bUVBTkU7aUVBQ0U7cUVBQ0k7MkJBRXdDOzs7Ozs7QUFFdEQsTUFBTUEsOENBQThDQyxtQkFBVTtJQUMzRSxPQUFPQyxjQUFjO1FBQ25CLElBQUlDO1FBRUpBLFdBQVdDLDhCQUFtQjtRQUU5QixNQUFNQyx1QkFBdUJDLGlCQUFZLENBQUNDLFlBQVksQ0FBQ0o7UUFFdkRBLFdBQVdLLDBDQUErQjtRQUUxQyxNQUFNQyxtQ0FBbUNILGlCQUFZLENBQUNDLFlBQVksQ0FBQ0osV0FDN0RPLHVDQUF1Q0MscUJBQWdCLENBQUNDLFFBQVEsQ0FBQ0gsbUNBQ2pFSSxRQUFRO1lBQ05SO1lBQ0FLO1NBQ0QsRUFDREksYUFBYSxNQUNiQyx3Q0FBd0MsSUFBSWYsc0NBQXNDYSxPQUFPQztRQUUvRixPQUFPQztJQUNUO0FBQ0YifQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZWZpbml0aW9uL3BhcnRSdWxlL25vblRlcm1pbmFsL3J1bGVOYW1lLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgRGVmaW5pdGlvbiBmcm9tIFwiLi4vLi4vLi4vZGVmaW5pdGlvblwiO1xuaW1wb3J0IFJ1bGVOYW1lUGFydCBmcm9tIFwiLi4vLi4vLi4vcGFydC9ub25UZXJtaW5hbC9ydWxlTmFtZVwiO1xuXG5pbXBvcnQgeyBSVUxFX05BTUVfUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uLy4uL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSdWxlTmFtZU5vblRlcm1pbmFsUGFydFJ1bGVEZWZpbml0aW9uIGV4dGVuZHMgRGVmaW5pdGlvbiB7XG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IFJVTEVfTkFNRV9SVUxFX05BTUUsXG4gICAgICAgICAgcnVsZU5hbWVSdWxlTmFtZVBhcnQgPSBSdWxlTmFtZVBhcnQuZnJvbVJ1bGVOYW1lKHJ1bGVOYW1lKSxcbiAgICAgICAgICBwYXJ0cyA9IFtcbiAgICAgICAgICAgIHJ1bGVOYW1lUnVsZU5hbWVQYXJ0LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJlY2VkZW5jZSA9IG51bGwsXG4gICAgICAgICAgcnVsZU5hbWVOb25UZXJtaW5hbFBhcnRSdWxlRGVmaW5pdGlvbiA9IG5ldyBSdWxlTmFtZU5vblRlcm1pbmFsUGFydFJ1bGVEZWZpbml0aW9uKHBhcnRzLCBwcmVjZWRlbmNlKTtcblxuICAgIHJldHVybiBydWxlTmFtZU5vblRlcm1pbmFsUGFydFJ1bGVEZWZpbml0aW9uO1xuICB9XG59XG4iXSwibmFtZXMiOlsiUnVsZU5hbWVOb25UZXJtaW5hbFBhcnRSdWxlRGVmaW5pdGlvbiIsIkRlZmluaXRpb24iLCJmcm9tTm90aGluZyIsInJ1bGVOYW1lIiwiUlVMRV9OQU1FX1JVTEVfTkFNRSIsInJ1bGVOYW1lUnVsZU5hbWVQYXJ0IiwiUnVsZU5hbWVQYXJ0IiwiZnJvbVJ1bGVOYW1lIiwicGFydHMiLCJwcmVjZWRlbmNlIiwicnVsZU5hbWVOb25UZXJtaW5hbFBhcnRSdWxlRGVmaW5pdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBT0E7OztlQUFxQkE7OzttRUFMRTtpRUFDRTsyQkFFVzs7Ozs7O0FBRXJCLE1BQU1BLDhDQUE4Q0MsbUJBQVU7SUFDM0UsT0FBT0MsY0FBYztRQUNuQixNQUFNQyxXQUFXQyw4QkFBbUIsRUFDOUJDLHVCQUF1QkMsaUJBQVksQ0FBQ0MsWUFBWSxDQUFDSixXQUNqREssUUFBUTtZQUNOSDtTQUNELEVBQ0RJLGFBQWEsTUFDYkMsd0NBQXdDLElBQUlWLHNDQUFzQ1EsT0FBT0M7UUFFL0YsT0FBT0M7SUFDVDtBQUNGIn0=
package/lib/definition.js CHANGED
@@ -9,11 +9,51 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  const _necessary = require("necessary");
12
- const _frame = require("./utilities/frame");
13
- const _frame1 = require("./frame");
12
+ const _frame = /*#__PURE__*/ _interop_require_wildcard(require("./frame"));
13
+ const _linear = require("./utilities/linear");
14
+ const _branching = require("./utilities/branching");
14
15
  const _constants = require("./constants");
15
- const _context = require("./utilities/context");
16
- const _parts = require("./utilities/parts");
16
+ function _getRequireWildcardCache(nodeInterop) {
17
+ if (typeof WeakMap !== "function") return null;
18
+ var cacheBabelInterop = new WeakMap();
19
+ var cacheNodeInterop = new WeakMap();
20
+ return (_getRequireWildcardCache = function(nodeInterop) {
21
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
22
+ })(nodeInterop);
23
+ }
24
+ function _interop_require_wildcard(obj, nodeInterop) {
25
+ if (!nodeInterop && obj && obj.__esModule) {
26
+ return obj;
27
+ }
28
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
29
+ return {
30
+ default: obj
31
+ };
32
+ }
33
+ var cache = _getRequireWildcardCache(nodeInterop);
34
+ if (cache && cache.has(obj)) {
35
+ return cache.get(obj);
36
+ }
37
+ var newObj = {
38
+ __proto__: null
39
+ };
40
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
41
+ for(var key in obj){
42
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
43
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
44
+ if (desc && (desc.get || desc.set)) {
45
+ Object.defineProperty(newObj, key, desc);
46
+ } else {
47
+ newObj[key] = obj[key];
48
+ }
49
+ }
50
+ }
51
+ newObj.default = obj;
52
+ if (cache) {
53
+ cache.set(obj, newObj);
54
+ }
55
+ return newObj;
56
+ }
17
57
  const { SPACE_CHARACTER } = _necessary.characters;
18
58
  class Definition {
19
59
  constructor(parts, precedence){
@@ -26,21 +66,27 @@ class Definition {
26
66
  getPrecedence() {
27
67
  return this.precedence;
28
68
  }
29
- parse(context) {
30
- let frame;
31
- const definition = this; ///
32
- context = (0, _context.definitionContext)(definition, context); ///
33
- const continuing = context.isContinuing();
34
- if (continuing) {
35
- frame = (0, _parts.parsePartsContinually)(this.parts, _frame1.emptyFrame, context);
69
+ parse(rule, frame, state, forward, back) {
70
+ const savedFrame = frame, branching = state.isBranching(), every = branching ? _branching.every : _linear.every;
71
+ return every(this.parts, (part, frame, state, forward, back)=>{
72
+ return part.parse(frame, state, forward, back);
73
+ }, _frame.emptyFrame, state, (frame, state, back)=>{
74
+ const definition = this; ///
75
+ frame = this.compose(rule, definition, savedFrame, frame, state); ///
76
+ if (frame === null) {
77
+ return back();
78
+ }
79
+ return forward(frame, state, back);
80
+ }, back);
81
+ }
82
+ compose(rule, definition, savedFrame, frame, state) {
83
+ const nonTerminalNode = nonTerminalNodeFromRuleDefinitionFrameAndState(rule, definition, frame, state), unpalatable = nonTerminalNode.isUnpalatable();
84
+ if (unpalatable) {
85
+ frame = null;
36
86
  } else {
37
- frame = (0, _parts.parseParts)(this.parts, _frame1.emptyFrame, context);
38
- const frameValid = (0, _frame.isValid)(frame);
39
- frame = frameValid ? context.compose(frame) : null;
40
- }
41
- const frameValid = (0, _frame.isValid)(frame);
42
- if (frameValid) {
43
- context.commit();
87
+ const childNode = nonTerminalNode; ///
88
+ frame = _frame.default.fromChildNode(childNode); ///
89
+ frame = savedFrame.merge(frame); ///
44
90
  }
45
91
  return frame;
46
92
  }
@@ -57,7 +103,7 @@ class Definition {
57
103
  }, _constants.EMPTY_STRING);
58
104
  string = partsString; ///
59
105
  if (this.precedence !== null) {
60
- const precedence = this.precedence === Infinity ? SPACE_CHARACTER : this.precedence;
106
+ const precedence = this.precedence === _constants.TRANSPARENT_PRECEDENCE ? SPACE_CHARACTER : this.precedence;
61
107
  string = `${string} (${precedence})`;
62
108
  }
63
109
  return string;
@@ -80,5 +126,12 @@ class Definition {
80
126
  return definition;
81
127
  }
82
128
  }
129
+ function nonTerminalNodeFromRuleDefinitionFrameAndState(rule, definition, frame, state) {
130
+ let nonTerminalNode;
131
+ const opacity = rule.getOpacity(), ruleName = rule.getName(), childNodes = frame.getChildNodes(), precedence = frame.getPrecedence(definition), NonTerminalNode = state.NonTerminalNodeFromRuleName(ruleName);
132
+ nonTerminalNode = NonTerminalNode.fromRuleNameChildNodesPrecedenceAndOpacity(ruleName, childNodes, precedence, opacity);
133
+ nonTerminalNode = nonTerminalNode.rewrite(state);
134
+ return nonTerminalNode;
135
+ }
83
136
 
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZpbml0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBjaGFyYWN0ZXJzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBpc1ZhbGlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2ZyYW1lXCI7XG5pbXBvcnQgeyBlbXB0eUZyYW1lIH0gZnJvbSBcIi4vZnJhbWVcIjtcbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZGVmaW5pdGlvbkNvbnRleHQgfSBmcm9tIFwiLi91dGlsaXRpZXMvY29udGV4dFwiO1xuaW1wb3J0IHsgcGFyc2VQYXJ0cywgcGFyc2VQYXJ0c0NvbnRpbnVhbGx5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3BhcnRzXCI7XG5cbmNvbnN0IHsgU1BBQ0VfQ0hBUkFDVEVSIH0gPSBjaGFyYWN0ZXJzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEZWZpbml0aW9uIHtcbiAgY29uc3RydWN0b3IocGFydHMsIHByZWNlZGVuY2UpIHtcbiAgICB0aGlzLnBhcnRzID0gcGFydHM7XG4gICAgdGhpcy5wcmVjZWRlbmNlID0gcHJlY2VkZW5jZTtcbiAgfVxuXG4gIGdldFBhcnRzKCkge1xuICAgIHJldHVybiB0aGlzLnBhcnRzO1xuICB9XG5cbiAgZ2V0UHJlY2VkZW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wcmVjZWRlbmNlO1xuICB9XG5cbiAgcGFyc2UoY29udGV4dCkge1xuICAgIGxldCBmcmFtZTtcblxuICAgIGNvbnN0IGRlZmluaXRpb24gPSB0aGlzOyAgLy8vXG5cbiAgICBjb250ZXh0ID0gZGVmaW5pdGlvbkNvbnRleHQoZGVmaW5pdGlvbiwgY29udGV4dCk7IC8vL1xuXG4gICAgY29uc3QgY29udGludWluZyA9IGNvbnRleHQuaXNDb250aW51aW5nKCk7XG5cbiAgICBpZiAoY29udGludWluZykge1xuICAgICAgZnJhbWUgPSBwYXJzZVBhcnRzQ29udGludWFsbHkodGhpcy5wYXJ0cywgZW1wdHlGcmFtZSwgY29udGV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZyYW1lID0gcGFyc2VQYXJ0cyh0aGlzLnBhcnRzLCBlbXB0eUZyYW1lLCBjb250ZXh0KTtcblxuICAgICAgY29uc3QgZnJhbWVWYWxpZCA9IGlzVmFsaWQoZnJhbWUpO1xuXG4gICAgICBmcmFtZSA9IGZyYW1lVmFsaWQgP1xuICAgICAgICAgICAgICAgIGNvbnRleHQuY29tcG9zZShmcmFtZSkgOlxuICAgICAgICAgICAgICAgICAgbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBmcmFtZVZhbGlkID0gaXNWYWxpZChmcmFtZSk7XG5cbiAgICBpZiAoZnJhbWVWYWxpZCkge1xuICAgICAgY29udGV4dC5jb21taXQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBhc1N0cmluZygpIHtcbiAgICBsZXQgc3RyaW5nO1xuXG4gICAgY29uc3QgcGFydHNTdHJpbmcgPSB0aGlzLnBhcnRzLnJlZHVjZSgocGFydHNTdHJpbmcsIHBhcnQpID0+IHtcbiAgICAgIGNvbnN0IHBhcnRTdHJpbmcgPSBwYXJ0LmFzU3RyaW5nKCk7XG5cbiAgICAgIGlmIChwYXJ0c1N0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSB7XG4gICAgICAgIHBhcnRzU3RyaW5nID0gcGFydFN0cmluZzsgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJ0c1N0cmluZyA9IGAke3BhcnRzU3RyaW5nfSAke3BhcnRTdHJpbmd9YDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhcnRzU3RyaW5nO1xuICAgIH0sIEVNUFRZX1NUUklORyk7XG5cbiAgICBzdHJpbmcgPSBwYXJ0c1N0cmluZzsgLy8vXG5cbiAgICBpZiAodGhpcy5wcmVjZWRlbmNlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBwcmVjZWRlbmNlID0gKHRoaXMucHJlY2VkZW5jZSA9PT0gSW5maW5pdHkpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQQUNFX0NIQVJBQ1RFUiA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJlY2VkZW5jZTtcblxuICAgICAgc3RyaW5nID0gYCR7c3RyaW5nfSAoJHtwcmVjZWRlbmNlfSlgO1xuICAgIH1cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgZnJvbVBhcnRzKENsYXNzLCBwYXJ0cykge1xuICAgIGlmIChwYXJ0cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXJ0cyA9IENsYXNzOyAgLy8vXG5cbiAgICAgIENsYXNzID0gRGVmaW5pdGlvbjsgLy8vXG4gICAgfVxuXG4gICAgY29uc3QgcHJlY2VkZW5jZSA9IG51bGwsXG4gICAgICAgICAgZGVmaW5pdGlvbiA9IG5ldyBDbGFzcyhwYXJ0cywgcHJlY2VkZW5jZSk7XG5cbiAgICByZXR1cm4gZGVmaW5pdGlvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUGFydHNBbmRQcmVjZWRlbmNlKENsYXNzLCBwYXJ0cywgcHJlY2VkZW5jZSkge1xuICAgIGlmIChwcmVjZWRlbmNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHByZWNlZGVuY2UgPSBwYXJ0czsgLy8vXG5cbiAgICAgIHBhcnRzID0gQ2xhc3M7ICAvLy9cblxuICAgICAgQ2xhc3MgPSBEZWZpbml0aW9uOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBkZWZpbml0aW9uID0gbmV3IENsYXNzKHBhcnRzLCBwcmVjZWRlbmNlKTtcblxuICAgIHJldHVybiBkZWZpbml0aW9uO1xuICB9XG59XG4iXSwibmFtZXMiOlsiRGVmaW5pdGlvbiIsIlNQQUNFX0NIQVJBQ1RFUiIsImNoYXJhY3RlcnMiLCJwYXJ0cyIsInByZWNlZGVuY2UiLCJnZXRQYXJ0cyIsImdldFByZWNlZGVuY2UiLCJwYXJzZSIsImNvbnRleHQiLCJmcmFtZSIsImRlZmluaXRpb24iLCJkZWZpbml0aW9uQ29udGV4dCIsImNvbnRpbnVpbmciLCJpc0NvbnRpbnVpbmciLCJwYXJzZVBhcnRzQ29udGludWFsbHkiLCJlbXB0eUZyYW1lIiwicGFyc2VQYXJ0cyIsImZyYW1lVmFsaWQiLCJpc1ZhbGlkIiwiY29tcG9zZSIsImNvbW1pdCIsImFzU3RyaW5nIiwic3RyaW5nIiwicGFydHNTdHJpbmciLCJyZWR1Y2UiLCJwYXJ0IiwicGFydFN0cmluZyIsIkVNUFRZX1NUUklORyIsIkluZmluaXR5IiwiZnJvbVBhcnRzIiwiQ2xhc3MiLCJ1bmRlZmluZWQiLCJmcm9tUGFydHNBbmRQcmVjZWRlbmNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQXFCQTs7OzJCQVZNO3VCQUVIO3dCQUNHOzJCQUNFO3lCQUNLO3VCQUNnQjtBQUVsRCxNQUFNLEVBQUVDLGVBQWUsRUFBRSxHQUFHQyxxQkFBVTtBQUV2QixNQUFNRjtJQUNuQixZQUFZRyxLQUFLLEVBQUVDLFVBQVUsQ0FBRTtRQUM3QixJQUFJLENBQUNELEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLFVBQVUsR0FBR0E7SUFDcEI7SUFFQUMsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDRixLQUFLO0lBQ25CO0lBRUFHLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDRixVQUFVO0lBQ3hCO0lBRUFHLE1BQU1DLE9BQU8sRUFBRTtRQUNiLElBQUlDO1FBRUosTUFBTUMsYUFBYSxJQUFJLEVBQUcsR0FBRztRQUU3QkYsVUFBVUcsSUFBQUEsMEJBQWlCLEVBQUNELFlBQVlGLFVBQVUsR0FBRztRQUVyRCxNQUFNSSxhQUFhSixRQUFRSyxZQUFZO1FBRXZDLElBQUlELFlBQVk7WUFDZEgsUUFBUUssSUFBQUEsNEJBQXFCLEVBQUMsSUFBSSxDQUFDWCxLQUFLLEVBQUVZLGtCQUFVLEVBQUVQO1FBQ3hELE9BQU87WUFDTEMsUUFBUU8sSUFBQUEsaUJBQVUsRUFBQyxJQUFJLENBQUNiLEtBQUssRUFBRVksa0JBQVUsRUFBRVA7WUFFM0MsTUFBTVMsYUFBYUMsSUFBQUEsY0FBTyxFQUFDVDtZQUUzQkEsUUFBUVEsYUFDRVQsUUFBUVcsT0FBTyxDQUFDVixTQUNkO1FBQ2Q7UUFFQSxNQUFNUSxhQUFhQyxJQUFBQSxjQUFPLEVBQUNUO1FBRTNCLElBQUlRLFlBQVk7WUFDZFQsUUFBUVksTUFBTTtRQUNoQjtRQUVBLE9BQU9YO0lBQ1Q7SUFFQVksV0FBVztRQUNULElBQUlDO1FBRUosTUFBTUMsY0FBYyxJQUFJLENBQUNwQixLQUFLLENBQUNxQixNQUFNLENBQUMsQ0FBQ0QsYUFBYUU7WUFDbEQsTUFBTUMsYUFBYUQsS0FBS0osUUFBUTtZQUVoQyxJQUFJRSxnQkFBZ0JJLHVCQUFZLEVBQUU7Z0JBQ2hDSixjQUFjRyxZQUFZLEdBQUc7WUFDL0IsT0FBTztnQkFDTEgsY0FBYyxHQUFHQSxZQUFZLENBQUMsRUFBRUcsWUFBWTtZQUM5QztZQUVBLE9BQU9IO1FBQ1QsR0FBR0ksdUJBQVk7UUFFZkwsU0FBU0MsYUFBYSxHQUFHO1FBRXpCLElBQUksSUFBSSxDQUFDbkIsVUFBVSxLQUFLLE1BQU07WUFDNUIsTUFBTUEsYUFBYSxBQUFDLElBQUksQ0FBQ0EsVUFBVSxLQUFLd0IsV0FDbkIzQixrQkFDRSxJQUFJLENBQUNHLFVBQVU7WUFFdENrQixTQUFTLEdBQUdBLE9BQU8sRUFBRSxFQUFFbEIsV0FBVyxDQUFDLENBQUM7UUFDdEM7UUFFQSxPQUFPa0I7SUFDVDtJQUVBLE9BQU9PLFVBQVVDLEtBQUssRUFBRTNCLEtBQUssRUFBRTtRQUM3QixJQUFJQSxVQUFVNEIsV0FBVztZQUN2QjVCLFFBQVEyQixPQUFRLEdBQUc7WUFFbkJBLFFBQVE5QixZQUFZLEdBQUc7UUFDekI7UUFFQSxNQUFNSSxhQUFhLE1BQ2JNLGFBQWEsSUFBSW9CLE1BQU0zQixPQUFPQztRQUVwQyxPQUFPTTtJQUNUO0lBRUEsT0FBT3NCLHVCQUF1QkYsS0FBSyxFQUFFM0IsS0FBSyxFQUFFQyxVQUFVLEVBQUU7UUFDdEQsSUFBSUEsZUFBZTJCLFdBQVc7WUFDNUIzQixhQUFhRCxPQUFPLEdBQUc7WUFFdkJBLFFBQVEyQixPQUFRLEdBQUc7WUFFbkJBLFFBQVE5QixZQUFZLEdBQUc7UUFDekI7UUFFQSxNQUFNVSxhQUFhLElBQUlvQixNQUFNM0IsT0FBT0M7UUFFcEMsT0FBT007SUFDVDtBQUNGIn0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZpbml0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBjaGFyYWN0ZXJzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgRnJhbWUgZnJvbSBcIi4vZnJhbWVcIjtcblxuaW1wb3J0IHsgZW1wdHlGcmFtZSB9IGZyb20gXCIuL2ZyYW1lXCI7XG5pbXBvcnQgeyBldmVyeSBhcyBsaW5lYXJFdmVyeSAgfSBmcm9tIFwiLi91dGlsaXRpZXMvbGluZWFyXCI7XG5pbXBvcnQgeyBldmVyeSBhcyBicmFuY2hpbmdFdmVyeSAgfSBmcm9tIFwiLi91dGlsaXRpZXMvYnJhbmNoaW5nXCI7XG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcsIFRSQU5TUEFSRU5UX1BSRUNFREVOQ0UgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuY29uc3QgeyBTUEFDRV9DSEFSQUNURVIgfSA9IGNoYXJhY3RlcnM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERlZmluaXRpb24ge1xuICBjb25zdHJ1Y3RvcihwYXJ0cywgcHJlY2VkZW5jZSkge1xuICAgIHRoaXMucGFydHMgPSBwYXJ0cztcbiAgICB0aGlzLnByZWNlZGVuY2UgPSBwcmVjZWRlbmNlO1xuICB9XG5cbiAgZ2V0UGFydHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFydHM7XG4gIH1cblxuICBnZXRQcmVjZWRlbmNlKCkge1xuICAgIHJldHVybiB0aGlzLnByZWNlZGVuY2U7XG4gIH1cblxuICBwYXJzZShydWxlLCBmcmFtZSwgc3RhdGUsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCBzYXZlZEZyYW1lID0gZnJhbWUsIC8vL1xuICAgICAgICAgIGJyYW5jaGluZyA9IHN0YXRlLmlzQnJhbmNoaW5nKCksXG4gICAgICAgICAgZXZlcnkgPSBicmFuY2hpbmcgP1xuICAgICAgICAgICAgICAgICAgICBicmFuY2hpbmdFdmVyeSA6XG4gICAgICAgICAgICAgICAgICAgICAgbGluZWFyRXZlcnk7XG5cbiAgICByZXR1cm4gZXZlcnkodGhpcy5wYXJ0cywgKHBhcnQsIGZyYW1lLCBzdGF0ZSwgZm9yd2FyZCwgYmFjaykgPT4ge1xuICAgICAgcmV0dXJuIHBhcnQucGFyc2UoZnJhbWUsIHN0YXRlLCBmb3J3YXJkLCBiYWNrKTtcbiAgICB9LCBlbXB0eUZyYW1lLCBzdGF0ZSwgKGZyYW1lLCBzdGF0ZSwgYmFjaykgPT4ge1xuICAgICAgY29uc3QgZGVmaW5pdGlvbiA9IHRoaXM7ICAvLy9cblxuICAgICAgZnJhbWUgPSB0aGlzLmNvbXBvc2UocnVsZSwgZGVmaW5pdGlvbiwgc2F2ZWRGcmFtZSwgZnJhbWUsIHN0YXRlKTsgIC8vL1xuXG4gICAgICBpZiAoZnJhbWUgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZvcndhcmQoZnJhbWUsIHN0YXRlLCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIGNvbXBvc2UocnVsZSwgZGVmaW5pdGlvbiwgc2F2ZWRGcmFtZSwgZnJhbWUsIHN0YXRlKSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbm9uVGVybWluYWxOb2RlRnJvbVJ1bGVEZWZpbml0aW9uRnJhbWVBbmRTdGF0ZShydWxlLCBkZWZpbml0aW9uLCBmcmFtZSwgc3RhdGUpLFxuICAgICAgICAgIHVucGFsYXRhYmxlID0gbm9uVGVybWluYWxOb2RlLmlzVW5wYWxhdGFibGUoKTtcblxuICAgIGlmICh1bnBhbGF0YWJsZSkge1xuICAgICAgZnJhbWUgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjaGlsZE5vZGUgPSBub25UZXJtaW5hbE5vZGU7ICAvLy9cblxuICAgICAgZnJhbWUgPSBGcmFtZS5mcm9tQ2hpbGROb2RlKGNoaWxkTm9kZSk7IC8vL1xuXG4gICAgICBmcmFtZSA9IHNhdmVkRnJhbWUubWVyZ2UoZnJhbWUpOyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBhc1N0cmluZygpIHtcbiAgICBsZXQgc3RyaW5nO1xuXG4gICAgY29uc3QgcGFydHNTdHJpbmcgPSB0aGlzLnBhcnRzLnJlZHVjZSgocGFydHNTdHJpbmcsIHBhcnQpID0+IHtcbiAgICAgIGNvbnN0IHBhcnRTdHJpbmcgPSBwYXJ0LmFzU3RyaW5nKCk7XG5cbiAgICAgIGlmIChwYXJ0c1N0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSB7XG4gICAgICAgIHBhcnRzU3RyaW5nID0gcGFydFN0cmluZzsgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJ0c1N0cmluZyA9IGAke3BhcnRzU3RyaW5nfSAke3BhcnRTdHJpbmd9YDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhcnRzU3RyaW5nO1xuICAgIH0sIEVNUFRZX1NUUklORyk7XG5cbiAgICBzdHJpbmcgPSBwYXJ0c1N0cmluZzsgLy8vXG5cbiAgICBpZiAodGhpcy5wcmVjZWRlbmNlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBwcmVjZWRlbmNlID0gKHRoaXMucHJlY2VkZW5jZSA9PT0gVFJBTlNQQVJFTlRfUFJFQ0VERU5DRSkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BBQ0VfQ0hBUkFDVEVSIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmVjZWRlbmNlO1xuXG4gICAgICBzdHJpbmcgPSBgJHtzdHJpbmd9ICgke3ByZWNlZGVuY2V9KWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUGFydHMoQ2xhc3MsIHBhcnRzKSB7XG4gICAgaWYgKHBhcnRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHBhcnRzID0gQ2xhc3M7ICAvLy9cblxuICAgICAgQ2xhc3MgPSBEZWZpbml0aW9uOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBwcmVjZWRlbmNlID0gbnVsbCxcbiAgICAgICAgICBkZWZpbml0aW9uID0gbmV3IENsYXNzKHBhcnRzLCBwcmVjZWRlbmNlKTtcblxuICAgIHJldHVybiBkZWZpbml0aW9uO1xuICB9XG5cbiAgc3RhdGljIGZyb21QYXJ0c0FuZFByZWNlZGVuY2UoQ2xhc3MsIHBhcnRzLCBwcmVjZWRlbmNlKSB7XG4gICAgaWYgKHByZWNlZGVuY2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcHJlY2VkZW5jZSA9IHBhcnRzOyAvLy9cblxuICAgICAgcGFydHMgPSBDbGFzczsgIC8vL1xuXG4gICAgICBDbGFzcyA9IERlZmluaXRpb247IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IGRlZmluaXRpb24gPSBuZXcgQ2xhc3MocGFydHMsIHByZWNlZGVuY2UpO1xuXG4gICAgcmV0dXJuIGRlZmluaXRpb247XG4gIH1cbn1cblxuZnVuY3Rpb24gbm9uVGVybWluYWxOb2RlRnJvbVJ1bGVEZWZpbml0aW9uRnJhbWVBbmRTdGF0ZShydWxlLCBkZWZpbml0aW9uLCBmcmFtZSwgc3RhdGUpIHtcbiAgbGV0IG5vblRlcm1pbmFsTm9kZTtcblxuICBjb25zdCBvcGFjaXR5ID0gcnVsZS5nZXRPcGFjaXR5KCksXG4gICAgICAgIHJ1bGVOYW1lID0gcnVsZS5nZXROYW1lKCksXG4gICAgICAgIGNoaWxkTm9kZXMgPSBmcmFtZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgIHByZWNlZGVuY2UgPSBmcmFtZS5nZXRQcmVjZWRlbmNlKGRlZmluaXRpb24pLFxuICAgICAgICBOb25UZXJtaW5hbE5vZGUgPSBzdGF0ZS5Ob25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gIG5vblRlcm1pbmFsTm9kZSA9IE5vblRlcm1pbmFsTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzUHJlY2VkZW5jZUFuZE9wYWNpdHkocnVsZU5hbWUsIGNoaWxkTm9kZXMsIHByZWNlZGVuY2UsIG9wYWNpdHkpO1xuXG4gIG5vblRlcm1pbmFsTm9kZSA9IG5vblRlcm1pbmFsTm9kZS5yZXdyaXRlKHN0YXRlKTtcblxuICByZXR1cm4gbm9uVGVybWluYWxOb2RlO1xufVxuIl0sIm5hbWVzIjpbIkRlZmluaXRpb24iLCJTUEFDRV9DSEFSQUNURVIiLCJjaGFyYWN0ZXJzIiwicGFydHMiLCJwcmVjZWRlbmNlIiwiZ2V0UGFydHMiLCJnZXRQcmVjZWRlbmNlIiwicGFyc2UiLCJydWxlIiwiZnJhbWUiLCJzdGF0ZSIsImZvcndhcmQiLCJiYWNrIiwic2F2ZWRGcmFtZSIsImJyYW5jaGluZyIsImlzQnJhbmNoaW5nIiwiZXZlcnkiLCJicmFuY2hpbmdFdmVyeSIsImxpbmVhckV2ZXJ5IiwicGFydCIsImVtcHR5RnJhbWUiLCJkZWZpbml0aW9uIiwiY29tcG9zZSIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUZyb21SdWxlRGVmaW5pdGlvbkZyYW1lQW5kU3RhdGUiLCJ1bnBhbGF0YWJsZSIsImlzVW5wYWxhdGFibGUiLCJjaGlsZE5vZGUiLCJGcmFtZSIsImZyb21DaGlsZE5vZGUiLCJtZXJnZSIsImFzU3RyaW5nIiwic3RyaW5nIiwicGFydHNTdHJpbmciLCJyZWR1Y2UiLCJwYXJ0U3RyaW5nIiwiRU1QVFlfU1RSSU5HIiwiVFJBTlNQQVJFTlRfUFJFQ0VERU5DRSIsImZyb21QYXJ0cyIsIkNsYXNzIiwidW5kZWZpbmVkIiwiZnJvbVBhcnRzQW5kUHJlY2VkZW5jZSIsIm9wYWNpdHkiLCJnZXRPcGFjaXR5IiwicnVsZU5hbWUiLCJnZXROYW1lIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJOb25UZXJtaW5hbE5vZGUiLCJOb25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzUHJlY2VkZW5jZUFuZE9wYWNpdHkiLCJyZXdyaXRlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFhQTs7O2VBQXFCQTs7OzJCQVhNOytEQUVUO3dCQUdvQjsyQkFDRzsyQkFDWTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXJELE1BQU0sRUFBRUMsZUFBZSxF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
package/lib/frame.js CHANGED
@@ -9,9 +9,6 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- get cutFrame () {
13
- return cutFrame;
14
- },
15
12
  get default () {
16
13
  return Frame;
17
14
  },
@@ -20,6 +17,7 @@ _export(exports, {
20
17
  }
21
18
  });
22
19
  const _necessary = require("necessary");
20
+ const _constants = require("./constants");
23
21
  const { first } = _necessary.arrayUtilities;
24
22
  class Frame {
25
23
  constructor(childNodes, precedence){
@@ -29,8 +27,19 @@ class Frame {
29
27
  getChildNodes() {
30
28
  return this.childNodes;
31
29
  }
32
- getPrecedence() {
33
- return this.precedence;
30
+ getPrecedence(definition = null) {
31
+ let precedence;
32
+ if (definition === null) {
33
+ precedence = this.precedence;
34
+ } else {
35
+ const isolated = this.isIsolated();
36
+ if (isolated) {
37
+ precedence = null;
38
+ } else {
39
+ precedence = this.precedence !== null ? this.precedence : definition.getPrecedence();
40
+ }
41
+ }
42
+ return precedence;
34
43
  }
35
44
  setChildNodes(childNodes) {
36
45
  this.childNodes = childNodes;
@@ -38,6 +47,10 @@ class Frame {
38
47
  setPrecedence(precedence) {
39
48
  this.precedence = precedence;
40
49
  }
50
+ isIsolated() {
51
+ const isolated = this.precedence === _constants.ISOLATED_PRECEDENCE;
52
+ return isolated;
53
+ }
41
54
  getNode() {
42
55
  let node = null;
43
56
  const childNodesLength = this.childNodes.length;
@@ -74,7 +87,6 @@ class Frame {
74
87
  return frame;
75
88
  }
76
89
  }
77
- const cutFrame = Frame.fromNothing();
78
90
  const emptyFrame = Frame.fromNothing();
79
91
 
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcmFtZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmNvbnN0IHsgZmlyc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGcmFtZSB7XG4gIGNvbnN0cnVjdG9yKGNoaWxkTm9kZXMsIHByZWNlZGVuY2UpIHtcbiAgICB0aGlzLmNoaWxkTm9kZXMgPSBjaGlsZE5vZGVzO1xuICAgIHRoaXMucHJlY2VkZW5jZSA9IHByZWNlZGVuY2U7XG4gIH1cblxuICBnZXRDaGlsZE5vZGVzKCkge1xuICAgIHJldHVybiB0aGlzLmNoaWxkTm9kZXM7XG4gIH1cblxuICBnZXRQcmVjZWRlbmNlKCkge1xuICAgIHJldHVybiB0aGlzLnByZWNlZGVuY2U7XG4gIH1cblxuICBzZXRDaGlsZE5vZGVzKGNoaWxkTm9kZXMpIHtcbiAgICB0aGlzLmNoaWxkTm9kZXMgPSBjaGlsZE5vZGVzO1xuICB9XG5cbiAgc2V0UHJlY2VkZW5jZShwcmVjZWRlbmNlKSB7XG4gICAgdGhpcy5wcmVjZWRlbmNlID0gcHJlY2VkZW5jZTtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgbGV0IG5vZGUgPSBudWxsO1xuXG4gICAgY29uc3QgY2hpbGROb2Rlc0xlbmd0aCA9IHRoaXMuY2hpbGROb2Rlcy5sZW5ndGg7XG5cbiAgICBpZiAoY2hpbGROb2Rlc0xlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgZmlyc3RDaGlsZE5vZGUgPSBmaXJzdCh0aGlzLmNoaWxkTm9kZXMpO1xuXG4gICAgICBub2RlID0gZmlyc3RDaGlsZE5vZGU7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIG1lcmdlKGZyYW1lKSB7XG4gICAgbGV0IGNoaWxkTm9kZXMsXG4gICAgICAgIHByZWNlZGVuY2U7XG5cbiAgICBjaGlsZE5vZGVzID0gZnJhbWUuZ2V0Q2hpbGROb2RlcygpO1xuXG4gICAgcHJlY2VkZW5jZSA9IGZyYW1lLmdldFByZWNlZGVuY2UoKTtcblxuICAgIGNoaWxkTm9kZXMgPSBbICAvLy9cbiAgICAgIC4uLnRoaXMuY2hpbGROb2RlcyxcbiAgICAgIC4uLmNoaWxkTm9kZXNcbiAgICBdO1xuXG4gICAgcHJlY2VkZW5jZSA9IHByZWNlZGVuY2UgfHwgdGhpcy5wcmVjZWRlbmNlOyAvLy9cblxuICAgIGZyYW1lID0gbmV3IEZyYW1lKGNoaWxkTm9kZXMsIHByZWNlZGVuY2UpO1xuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBbXSxcbiAgICAgICAgICBwcmVjZWRlbmNlID0gbnVsbCxcbiAgICAgICAgICBmcmFtZSA9IG5ldyBGcmFtZShjaGlsZE5vZGVzLCBwcmVjZWRlbmNlKTtcblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ2hpbGROb2RlKGNoaWxkTm9kZSkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBbXG4gICAgICAgICAgICBjaGlsZE5vZGVcbiAgICAgICAgICBdLFxuICAgICAgICAgIHByZWNlZGVuY2UgPSBudWxsLFxuICAgICAgICAgIGZyYW1lID0gbmV3IEZyYW1lKGNoaWxkTm9kZXMsIHByZWNlZGVuY2UpO1xuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG5cbiAgc3RhdGljIGZyb21DaGlsZE5vZGVzQW5kUHJlY2VkZW5jZShjaGlsZE5vZGVzLCBwcmVjZWRlbmNlKSB7XG4gICAgY29uc3QgZnJhbWUgPSBuZXcgRnJhbWUoY2hpbGROb2RlcywgcHJlY2VkZW5jZSk7XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGN1dEZyYW1lID0gRnJhbWUuZnJvbU5vdGhpbmcoKTtcblxuZXhwb3J0IGNvbnN0IGVtcHR5RnJhbWUgPSBGcmFtZS5mcm9tTm90aGluZygpO1xuIl0sIm5hbWVzIjpbImN1dEZyYW1lIiwiRnJhbWUiLCJlbXB0eUZyYW1lIiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsImNoaWxkTm9kZXMiLCJwcmVjZWRlbmNlIiwiZ2V0Q2hpbGROb2RlcyIsImdldFByZWNlZGVuY2UiLCJzZXRDaGlsZE5vZGVzIiwic2V0UHJlY2VkZW5jZSIsImdldE5vZGUiLCJub2RlIiwiY2hpbGROb2Rlc0xlbmd0aCIsImxlbmd0aCIsImZpcnN0Q2hpbGROb2RlIiwibWVyZ2UiLCJmcmFtZSIsImZyb21Ob3RoaW5nIiwiZnJvbUNoaWxkTm9kZSIsImNoaWxkTm9kZSIsImZyb21DaGlsZE5vZGVzQW5kUHJlY2VkZW5jZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBdUZhQTtlQUFBQTs7UUFqRmI7ZUFBcUJDOztRQW1GUkM7ZUFBQUE7OzsyQkF2RmtCO0FBRS9CLE1BQU0sRUFBRUMsS0FBSyxFQUFFLEdBQUdDLHlCQUFjO0FBRWpCLE1BQU1IO0lBQ25CLFlBQVlJLFVBQVUsRUFBRUMsVUFBVSxDQUFFO1FBQ2xDLElBQUksQ0FBQ0QsVUFBVSxHQUFHQTtRQUNsQixJQUFJLENBQUNDLFVBQVUsR0FBR0E7SUFDcEI7SUFFQUMsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNGLFVBQVU7SUFDeEI7SUFFQUcsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNGLFVBQVU7SUFDeEI7SUFFQUcsY0FBY0osVUFBVSxFQUFFO1FBQ3hCLElBQUksQ0FBQ0EsVUFBVSxHQUFHQTtJQUNwQjtJQUVBSyxjQUFjSixVQUFVLEVBQUU7UUFDeEIsSUFBSSxDQUFDQSxVQUFVLEdBQUdBO0lBQ3BCO0lBRUFLLFVBQVU7UUFDUixJQUFJQyxPQUFPO1FBRVgsTUFBTUMsbUJBQW1CLElBQUksQ0FBQ1IsVUFBVSxDQUFDUyxNQUFNO1FBRS9DLElBQUlELHFCQUFxQixHQUFHO1lBQzFCLE1BQU1FLGlCQUFpQlosTUFBTSxJQUFJLENBQUNFLFVBQVU7WUFFNUNPLE9BQU9HLGdCQUFpQixHQUFHO1FBQzdCO1FBRUEsT0FBT0g7SUFDVDtJQUVBSSxNQUFNQyxLQUFLLEVBQUU7UUFDWCxJQUFJWixZQUNBQztRQUVKRCxhQUFhWSxNQUFNVixhQUFhO1FBRWhDRCxhQUFhVyxNQUFNVCxhQUFhO1FBRWhDSCxhQUFhO2VBQ1IsSUFBSSxDQUFDQSxVQUFVO2VBQ2ZBO1NBQ0o7UUFFREMsYUFBYUEsY0FBYyxJQUFJLENBQUNBLFVBQVUsRUFBRSxHQUFHO1FBRS9DVyxRQUFRLElBQUloQixNQUFNSSxZQUFZQztRQUU5QixPQUFPVztJQUNUO0lBRUEsT0FBT0MsY0FBYztRQUNuQixNQUFNYixhQUFhLEVBQUUsRUFDZkMsYUFBYSxNQUNiVyxRQUFRLElBQUloQixNQUFNSSxZQUFZQztRQUVwQyxPQUFPVztJQUNUO0lBRUEsT0FBT0UsY0FBY0MsU0FBUyxFQUFFO1FBQzlCLE1BQU1mLGFBQWE7WUFDWGU7U0FDRCxFQUNEZCxhQUFhLE1BQ2JXLFFBQVEsSUFBSWhCLE1BQU1JLFlBQVlDO1FBRXBDLE9BQU9XO0lBQ1Q7SUFFQSxPQUFPSSw0QkFBNEJoQixVQUFVLEVBQUVDLFVBQVUsRUFBRTtRQUN6RCxNQUFNVyxRQUFRLElBQUloQixNQUFNSSxZQUFZQztRQUVwQyxPQUFPVztJQUNUO0FBQ0Y7QUFFTyxNQUFNakIsV0FBV0MsTUFBTWlCLFdBQVc7QUFFbEMsTUFBTWhCLGFBQWFELE1BQU1pQixXQUFXIn0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcmFtZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5pbXBvcnQgeyBJU09MQVRFRF9QUkVDRURFTkNFIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IHsgZmlyc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGcmFtZSB7XG4gIGNvbnN0cnVjdG9yKGNoaWxkTm9kZXMsIHByZWNlZGVuY2UpIHtcbiAgICB0aGlzLmNoaWxkTm9kZXMgPSBjaGlsZE5vZGVzO1xuICAgIHRoaXMucHJlY2VkZW5jZSA9IHByZWNlZGVuY2U7XG4gIH1cblxuICBnZXRDaGlsZE5vZGVzKCkge1xuICAgIHJldHVybiB0aGlzLmNoaWxkTm9kZXM7XG4gIH1cblxuICBnZXRQcmVjZWRlbmNlKGRlZmluaXRpb24gPSBudWxsKSB7XG4gICAgbGV0IHByZWNlZGVuY2U7XG5cbiAgICBpZiAoZGVmaW5pdGlvbiA9PT0gbnVsbCkge1xuICAgICAgcHJlY2VkZW5jZSA9IHRoaXMucHJlY2VkZW5jZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaXNvbGF0ZWQgPSB0aGlzLmlzSXNvbGF0ZWQoKTtcblxuICAgICAgaWYgKGlzb2xhdGVkKSB7XG4gICAgICAgIHByZWNlZGVuY2UgPSBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcHJlY2VkZW5jZSA9ICh0aGlzLnByZWNlZGVuY2UgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJlY2VkZW5jZSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb24uZ2V0UHJlY2VkZW5jZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwcmVjZWRlbmNlO1xuICB9XG5cbiAgc2V0Q2hpbGROb2RlcyhjaGlsZE5vZGVzKSB7XG4gICAgdGhpcy5jaGlsZE5vZGVzID0gY2hpbGROb2RlcztcbiAgfVxuXG4gIHNldFByZWNlZGVuY2UocHJlY2VkZW5jZSkge1xuICAgIHRoaXMucHJlY2VkZW5jZSA9IHByZWNlZGVuY2U7XG4gIH1cblxuICBpc0lzb2xhdGVkKCkge1xuICAgIGNvbnN0IGlzb2xhdGVkID0gKHRoaXMucHJlY2VkZW5jZSA9PT0gSVNPTEFURURfUFJFQ0VERU5DRSk7XG5cbiAgICByZXR1cm4gaXNvbGF0ZWQ7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIGxldCBub2RlID0gbnVsbDtcblxuICAgIGNvbnN0IGNoaWxkTm9kZXNMZW5ndGggPSB0aGlzLmNoaWxkTm9kZXMubGVuZ3RoO1xuXG4gICAgaWYgKGNoaWxkTm9kZXNMZW5ndGggPT09IDEpIHtcbiAgICAgIGNvbnN0IGZpcnN0Q2hpbGROb2RlID0gZmlyc3QodGhpcy5jaGlsZE5vZGVzKTtcblxuICAgICAgbm9kZSA9IGZpcnN0Q2hpbGROb2RlOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBtZXJnZShmcmFtZSkge1xuICAgIGxldCBjaGlsZE5vZGVzLFxuICAgICAgICBwcmVjZWRlbmNlO1xuXG4gICAgY2hpbGROb2RlcyA9IGZyYW1lLmdldENoaWxkTm9kZXMoKTtcblxuICAgIHByZWNlZGVuY2UgPSBmcmFtZS5nZXRQcmVjZWRlbmNlKCk7XG5cbiAgICBjaGlsZE5vZGVzID0gWyAgLy8vXG4gICAgICAuLi50aGlzLmNoaWxkTm9kZXMsXG4gICAgICAuLi5jaGlsZE5vZGVzXG4gICAgXTtcblxuICAgIHByZWNlZGVuY2UgPSBwcmVjZWRlbmNlIHx8IHRoaXMucHJlY2VkZW5jZTsgLy8vXG5cbiAgICBmcmFtZSA9IG5ldyBGcmFtZShjaGlsZE5vZGVzLCBwcmVjZWRlbmNlKTtcblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gW10sXG4gICAgICAgICAgcHJlY2VkZW5jZSA9IG51bGwsXG4gICAgICAgICAgZnJhbWUgPSBuZXcgRnJhbWUoY2hpbGROb2RlcywgcHJlY2VkZW5jZSk7XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNoaWxkTm9kZShjaGlsZE5vZGUpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gW1xuICAgICAgICAgICAgY2hpbGROb2RlXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcmVjZWRlbmNlID0gbnVsbCxcbiAgICAgICAgICBmcmFtZSA9IG5ldyBGcmFtZShjaGlsZE5vZGVzLCBwcmVjZWRlbmNlKTtcblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ2hpbGROb2Rlc0FuZFByZWNlZGVuY2UoY2hpbGROb2RlcywgcHJlY2VkZW5jZSkge1xuICAgIGNvbnN0IGZyYW1lID0gbmV3IEZyYW1lKGNoaWxkTm9kZXMsIHByZWNlZGVuY2UpO1xuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBlbXB0eUZyYW1lID0gRnJhbWUuZnJvbU5vdGhpbmcoKTsiXSwibmFtZXMiOlsiRnJhbWUiLCJlbXB0eUZyYW1lIiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsImNoaWxkTm9kZXMiLCJwcmVjZWRlbmNlIiwiZ2V0Q2hpbGROb2RlcyIsImdldFByZWNlZGVuY2UiLCJkZWZpbml0aW9uIiwiaXNvbGF0ZWQiLCJpc0lzb2xhdGVkIiwic2V0Q2hpbGROb2RlcyIsInNldFByZWNlZGVuY2UiLCJJU09MQVRFRF9QUkVDRURFTkNFIiwiZ2V0Tm9kZSIsIm5vZGUiLCJjaGlsZE5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3RDaGlsZE5vZGUiLCJtZXJnZSIsImZyYW1lIiwiZnJvbU5vdGhpbmciLCJmcm9tQ2hpbGROb2RlIiwiY2hpbGROb2RlIiwiZnJvbUNoaWxkTm9kZXNBbmRQcmVjZWRlbmNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFPQTtlQUFxQkE7O1FBdUdSQztlQUFBQTs7OzJCQTVHa0I7MkJBQ0s7QUFFcEMsTUFBTSxFQUFFQyxLQUFLLEVBQUUsR0FBR0MseUJBQWM7QUFFakIsTUFBTUg7SUFDbkIsWUFBWUksVUFBVSxFQUFFQyxVQUFVLENBQUU7UUFDbEMsSUFBSSxDQUFDRCxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtJQUNwQjtJQUVBQyxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQ0YsVUFBVTtJQUN4QjtJQUVBRyxjQUFjQyxhQUFhLElBQUksRUFBRTtRQUMvQixJQUFJSDtRQUVKLElBQUlHLGVBQWUsTUFBTTtZQUN2QkgsYUFBYSxJQUFJLENBQUNBLFVBQVU7UUFDOUIsT0FBTztZQUNMLE1BQU1JLFdBQVcsSUFBSSxDQUFDQyxVQUFVO1lBRWhDLElBQUlELFVBQVU7Z0JBQ1pKLGFBQWE7WUFDZixPQUFPO2dCQUNMQSxhQUFhLEFBQUMsSUFBSSxDQUFDQSxVQUFVLEtBQUssT0FDbEIsSUFBSSxDQUFDQSxVQUFVLEdBQ2JHLFdBQVdELGFBQWE7WUFDNUM7UUFDRjtRQUVBLE9BQU9GO0lBQ1Q7SUFFQU0sY0FBY1AsVUFBVSxFQUFFO1FBQ3hCLElBQUksQ0FBQ0EsVUFBVSxHQUFHQTtJQUNwQjtJQUVBUSxjQUFjUCxVQUFVLEVBQUU7UUFDeEIsSUFBSSxDQUFDQSxVQUFVLEdBQUdBO0lBQ3BCO0lBRUFLLGFBQWE7UUFDWCxNQUFNRCxXQUFZLElBQUksQ0FBQ0osVUFBVSxLQUFLUSw4QkFBbUI7UUFFekQsT0FBT0o7SUFDVDtJQUVBSyxVQUFVO1FBQ1IsSUFBSUMsT0FBTztRQUVYLE1BQU1DLG1CQUFtQixJQUFJLENBQUNaLFVBQVUsQ0FBQ2EsTUFBTTtRQUUvQyxJQUFJRCxxQkFBcUIsR0FBRztZQUMxQixNQUFNRSxpQkFBaUJoQixNQUFNLElBQUksQ0FBQ0UsVUFBVTtZQUU1Q1csT0FBT0csZ0JBQWlCLEdBQUc7UUFDN0I7UUFFQSxPQUFPSDtJQUNUO0lBRUFJLE1BQU1DLEtBQUssRUFBRTtRQUNYLElBQUloQixZQUNBQztRQUVKRCxhQUFhZ0IsTUFBTWQsYUFBYTtRQUVoQ0QsYUFBYWUsTUFBTWIsYUFBYTtRQUVoQ0gsYUFBYTtlQUNSLElBQUksQ0FBQ0EsVUFBVTtlQUNmQTtTQUNKO1FBRURDLGFBQWFBLGNBQWMsSUFBSSxDQUFDQSxVQUFVLEVBQUUsR0FBRztRQUUvQ2UsUUFBUSxJQUFJcEIsTUFBTUksWUFBWUM7UUFFOUIsT0FBT2U7SUFDVDtJQUVBLE9BQU9DLGNBQWM7UUFDbkIsTUFBTWpCLGFBQWEsRUFBRSxFQUNmQyxhQUFhLE1BQ2JlLFFBQVEsSUFBSXBCLE1BQU1JLFlBQVlDO1FBRXBDLE9BQU9lO0lBQ1Q7SUFFQSxPQUFPRSxjQUFjQyxTQUFTLEVBQUU7UUFDOUIsTUFBTW5CLGFBQWE7WUFDWG1CO1NBQ0QsRUFDRGxCLGFBQWEsTUFDYmUsUUFBUSxJQUFJcEIsTUFBTUksWUFBWUM7UUFFcEMsT0FBT2U7SUFDVDtJQUVBLE9BQU9JLDRCQUE0QnBCLFVBQVUsRUFBRUMsVUFBVSxFQUFFO1FBQ3pELE1BQU1lLFFBQVEsSUFBSXBCLE1BQU1JLFlBQVlDO1FBRXBDLE9BQU9lO0lBQ1Q7QUFDRjtBQUVPLE1BQU1uQixhQUFhRCxNQUFNcUIsV0FBVyJ9