astn 0.111.29 → 0.112.0

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 (120) hide show
  1. package/dist/bin/convert_to_json.js +2 -2
  2. package/dist/bin/validate_astn.js +2 -2
  3. package/dist/exceptional/authoring_parse/ast/context.d.ts +11 -0
  4. package/dist/exceptional/authoring_parse/ast/context.js +43 -0
  5. package/dist/exceptional/authoring_parse/ast/helpers.d.ts +10 -0
  6. package/dist/exceptional/authoring_parse/ast/helpers.js +45 -0
  7. package/dist/exceptional/authoring_parse/ast/iterator.d.ts +9 -0
  8. package/dist/exceptional/authoring_parse/ast/iterator.js +29 -0
  9. package/dist/exceptional/authoring_parse/ast/refiners.d.ts +10 -0
  10. package/dist/exceptional/authoring_parse/ast/refiners.js +266 -0
  11. package/dist/exceptional/authoring_parse/astn_parse_generic.d.ts +4 -3
  12. package/dist/exceptional/authoring_parse/astn_parse_generic.js +1 -1
  13. package/dist/exceptional/authoring_parse/iterator.d.ts +7 -0
  14. package/dist/exceptional/authoring_parse/iterator.js +3 -0
  15. package/dist/exceptional/authoring_parse/iterators/characters.d.ts +36 -0
  16. package/dist/exceptional/authoring_parse/iterators/characters.js +113 -0
  17. package/dist/exceptional/authoring_parse/iterators/string_iterator.d.ts +36 -0
  18. package/dist/exceptional/authoring_parse/iterators/string_iterator.js +113 -0
  19. package/dist/exceptional/authoring_parse/iterators/token_iterator.d.ts +17 -0
  20. package/dist/exceptional/authoring_parse/iterators/token_iterator.js +50 -0
  21. package/dist/exceptional/authoring_parse/iterators/tokens.d.ts +22 -0
  22. package/dist/exceptional/authoring_parse/iterators/tokens.js +61 -0
  23. package/dist/exceptional/authoring_parse/parse.d.ts +2 -2
  24. package/dist/exceptional/authoring_parse/parse.js +14 -32
  25. package/dist/exceptional/authoring_parse/refine_guard.d.ts +3 -0
  26. package/dist/exceptional/authoring_parse/refine_guard.js +48 -0
  27. package/dist/exceptional/authoring_parse/refiners/ast.d.ts +10 -0
  28. package/dist/exceptional/authoring_parse/refiners/ast.js +266 -0
  29. package/dist/exceptional/authoring_parse/refiners/token.d.ts +9 -0
  30. package/dist/exceptional/authoring_parse/refiners/token.js +519 -0
  31. package/dist/exceptional/authoring_parse/string_iterator.d.ts +3 -8
  32. package/dist/exceptional/authoring_parse/token_iterator.d.ts +5 -0
  33. package/dist/exceptional/authoring_parse/token_iterator.js +3 -0
  34. package/dist/exceptional/authoring_parse/tokens/context.d.ts +9 -0
  35. package/dist/exceptional/authoring_parse/tokens/context.js +37 -0
  36. package/dist/exceptional/authoring_parse/tokens/helpers.d.ts +3 -0
  37. package/dist/exceptional/authoring_parse/tokens/helpers.js +14 -0
  38. package/dist/exceptional/authoring_parse/tokens/iterator.d.ts +27 -0
  39. package/dist/exceptional/authoring_parse/tokens/iterator.js +108 -0
  40. package/dist/exceptional/authoring_parse/tokens/refiners.d.ts +7 -0
  41. package/dist/exceptional/authoring_parse/tokens/refiners.js +521 -0
  42. package/dist/implementation/algorithms/operations/impure/string/serialize_apostrophed_string.js +12 -0
  43. package/dist/implementation/algorithms/operations/impure/string/serialize_backticked_string.js +12 -0
  44. package/dist/implementation/algorithms/operations/impure/string/serialize_quoted_string.js +12 -0
  45. package/dist/implementation/{procedures → algorithms/procedures}/unguaranteed/convert_to_json.js +5 -5
  46. package/dist/implementation/{procedures → algorithms/procedures}/unguaranteed/validate_astn.js +5 -5
  47. package/dist/implementation/{transformations → algorithms/transformations}/authoring_parse_tree/authoring_target.js +1 -1
  48. package/dist/implementation/{transformations → algorithms/transformations}/authoring_parse_tree/ide.d.ts +3 -3
  49. package/dist/implementation/algorithms/transformations/authoring_parse_tree/ide.js +171 -0
  50. package/dist/implementation/{transformations → algorithms/transformations}/authoring_parse_tree/json_target.d.ts +1 -1
  51. package/dist/implementation/algorithms/transformations/authoring_parse_tree/json_target.js +90 -0
  52. package/dist/implementation/algorithms/transformations/authoring_parse_tree/temp_value_range.d.ts +3 -0
  53. package/dist/implementation/algorithms/transformations/authoring_parse_tree/temp_value_range.js +88 -0
  54. package/dist/implementation/{transformations → algorithms/transformations}/authoring_target/fountain_pen_block.d.ts +2 -2
  55. package/dist/implementation/algorithms/transformations/authoring_target/fountain_pen_block.js +179 -0
  56. package/dist/implementation/algorithms/transformations/parse_result/string.d.ts +5 -0
  57. package/dist/implementation/algorithms/transformations/parse_result/string.js +90 -0
  58. package/dist/implementation/{transformations → algorithms/transformations}/sealed_target/fountain_pen_block.d.ts +1 -1
  59. package/dist/implementation/algorithms/transformations/sealed_target/fountain_pen_block.js +123 -0
  60. package/dist/implementation/generated/pareto/generic/parse/ast.d.ts +10 -0
  61. package/dist/implementation/generated/pareto/generic/parse/ast.js +245 -0
  62. package/dist/implementation/generated/pareto/generic/parse/astn_parse_generic.d.ts +13 -0
  63. package/dist/implementation/generated/pareto/generic/parse/astn_parse_generic.js +50 -0
  64. package/dist/implementation/generated/pareto/generic/parse/parse.d.ts +6 -0
  65. package/dist/implementation/generated/pareto/generic/parse/parse.js +65 -0
  66. package/dist/implementation/generated/pareto/generic/parse/string_iterator.d.ts +41 -0
  67. package/dist/implementation/generated/pareto/generic/parse/string_iterator.js +113 -0
  68. package/dist/implementation/generated/pareto/generic/parse/token.d.ts +9 -0
  69. package/dist/implementation/generated/pareto/generic/parse/token.js +519 -0
  70. package/dist/implementation/generated/pareto/generic/resolve.js +5 -5
  71. package/dist/implementation/generated/pareto/generic/serialize.d.ts +4 -0
  72. package/dist/implementation/generated/pareto/generic/serialize.js +93 -0
  73. package/dist/implementation/generated/pareto/generic/unmarshall.d.ts +26 -26
  74. package/dist/implementation/generated/pareto/generic/unmarshall.js +38 -29
  75. package/dist/implementation/generated/pareto/schemas/astn_schema/resolve.js +3 -3
  76. package/dist/interface/algorithms/operations/impure/string/serialize_apostrophed_string.d.ts +1 -0
  77. package/dist/interface/algorithms/operations/impure/string/serialize_apostrophed_string.js +5 -0
  78. package/dist/interface/algorithms/operations/impure/string/serialize_backticked_string.d.ts +1 -0
  79. package/dist/interface/algorithms/operations/impure/string/serialize_backticked_string.js +5 -0
  80. package/dist/interface/algorithms/operations/impure/string/serialize_quoted_string.d.ts +1 -0
  81. package/dist/interface/algorithms/operations/impure/string/serialize_quoted_string.js +5 -0
  82. package/dist/interface/algorithms/procedures/unguaranteed/convert_to_json.d.ts +1 -0
  83. package/dist/interface/algorithms/procedures/unguaranteed/convert_to_json.js +5 -0
  84. package/dist/interface/algorithms/procedures/unguaranteed/validate_astn.d.ts +1 -0
  85. package/dist/interface/algorithms/procedures/unguaranteed/validate_astn.js +5 -0
  86. package/dist/interface/algorithms/transformations/authoring_parse_tree/authoring_target.d.ts +1 -0
  87. package/dist/interface/algorithms/transformations/authoring_parse_tree/authoring_target.js +5 -0
  88. package/dist/interface/algorithms/transformations/authoring_parse_tree/ide.d.ts +1 -0
  89. package/dist/interface/algorithms/transformations/authoring_parse_tree/ide.js +5 -0
  90. package/dist/interface/algorithms/transformations/authoring_parse_tree/json_target.d.ts +1 -0
  91. package/dist/interface/algorithms/transformations/authoring_parse_tree/json_target.js +5 -0
  92. package/dist/interface/algorithms/transformations/authoring_parse_tree/temp_value_range.d.ts +1 -0
  93. package/dist/interface/algorithms/transformations/authoring_parse_tree/temp_value_range.js +5 -0
  94. package/dist/interface/algorithms/transformations/authoring_target/fountain_pen_block.d.ts +1 -0
  95. package/dist/interface/algorithms/transformations/authoring_target/fountain_pen_block.js +5 -0
  96. package/dist/interface/algorithms/transformations/sealed_target/fountain_pen_block.d.ts +1 -0
  97. package/dist/interface/algorithms/transformations/sealed_target/fountain_pen_block.js +5 -0
  98. package/dist/interface/generated/pareto/core/astn_source.d.ts +15 -0
  99. package/dist/interface/generated/pareto/core/parse_result.d.ts +25 -0
  100. package/dist/interface/generated/pareto/core/parse_result.js +3 -0
  101. package/dist/interface/generated/pareto/core/token.d.ts +49 -0
  102. package/dist/interface/generated/pareto/core/token.js +3 -0
  103. package/dist/shorthands/parse_result.d.ts +6 -0
  104. package/dist/shorthands/parse_result.js +36 -0
  105. package/package.json +8 -8
  106. package/dist/implementation/operations/impure/string/serialize_apostrophed_string.js +0 -12
  107. package/dist/implementation/operations/impure/string/serialize_backticked_string.js +0 -12
  108. package/dist/implementation/operations/impure/string/serialize_quoted_string.js +0 -12
  109. package/dist/implementation/transformations/authoring_parse_tree/ide.js +0 -171
  110. package/dist/implementation/transformations/authoring_parse_tree/json_target.js +0 -90
  111. package/dist/implementation/transformations/authoring_parse_tree/temp_value_range.d.ts +0 -3
  112. package/dist/implementation/transformations/authoring_parse_tree/temp_value_range.js +0 -88
  113. package/dist/implementation/transformations/authoring_target/fountain_pen_block.js +0 -179
  114. package/dist/implementation/transformations/sealed_target/fountain_pen_block.js +0 -123
  115. /package/dist/implementation/{operations → algorithms/operations}/impure/string/serialize_apostrophed_string.d.ts +0 -0
  116. /package/dist/implementation/{operations → algorithms/operations}/impure/string/serialize_backticked_string.d.ts +0 -0
  117. /package/dist/implementation/{operations → algorithms/operations}/impure/string/serialize_quoted_string.d.ts +0 -0
  118. /package/dist/implementation/{procedures → algorithms/procedures}/unguaranteed/convert_to_json.d.ts +0 -0
  119. /package/dist/implementation/{procedures → algorithms/procedures}/unguaranteed/validate_astn.d.ts +0 -0
  120. /package/dist/implementation/{transformations → algorithms/transformations}/authoring_parse_tree/authoring_target.d.ts +0 -0
@@ -25,6 +25,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  };
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
27
  const _eb = __importStar(require("exupery-core-bin"));
28
- const convert_to_json_1 = require("../implementation/procedures/unguaranteed/convert_to_json");
28
+ const convert_to_json_1 = require("../implementation/algorithms/procedures/unguaranteed/convert_to_json");
29
29
  _eb.run_unguaranteed_main_procedure(convert_to_json_1.$$);
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydF90b19qc29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9jb252ZXJ0X3RvX2pzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxzREFBdUM7QUFFdkMsK0ZBQThFO0FBRTlFLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxvQkFBRSxDQUFDLENBQUEifQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydF90b19qc29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9jb252ZXJ0X3RvX2pzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxzREFBdUM7QUFFdkMsMEdBQXlGO0FBRXpGLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxvQkFBRSxDQUFDLENBQUEifQ==
@@ -25,6 +25,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  };
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
27
  const _eb = __importStar(require("exupery-core-bin"));
28
- const validate_astn_1 = require("../implementation/procedures/unguaranteed/validate_astn");
28
+ const validate_astn_1 = require("../implementation/algorithms/procedures/unguaranteed/validate_astn");
29
29
  _eb.run_unguaranteed_main_procedure(validate_astn_1.$$);
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVfYXN0bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vdmFsaWRhdGVfYXN0bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLHNEQUF1QztBQUV2QywyRkFBNEU7QUFFNUUsR0FBRyxDQUFDLCtCQUErQixDQUFDLGtCQUFFLENBQUMsQ0FBQSJ9
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVfYXN0bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vdmFsaWRhdGVfYXN0bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLHNEQUF1QztBQUV2QyxzR0FBdUY7QUFFdkYsR0FBRyxDQUFDLCtCQUErQixDQUFDLGtCQUFFLENBQUMsQ0FBQSJ9
@@ -0,0 +1,11 @@
1
+ import * as _et from 'exupery-core-types';
2
+ import * as _ea from 'exupery-core-alg';
3
+ import * as _source from "../../../interface/generated/pareto/schemas/token/data_types/source";
4
+ import * as d_parse_result from "../../../interface/generated/pareto/schemas/authoring_parse_result/data_types/target";
5
+ import { ASTN_Tokens_Iterator } from "./iterator";
6
+ export type Refinement_Context = {
7
+ iterator: ASTN_Tokens_Iterator;
8
+ get_required_token: (expected: _et.Array<d_parse_result.Parse_Error._type.SG.parser.expected.L>) => _source.Annotated_Token;
9
+ unexpected_token: (token: _source.Annotated_Token, expected: _et.Array<d_parse_result.Parse_Error._type.SG.parser.expected.L>) => never;
10
+ };
11
+ export declare const create_context: (token_iterator: ASTN_Tokens_Iterator, abort: _ea.Abort<d_parse_result.Parse_Error>) => Refinement_Context;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.create_context = void 0;
27
+ const sh = __importStar(require("../../../shorthands/parse_result"));
28
+ const create_context = (token_iterator, abort) => {
29
+ return {
30
+ iterator: token_iterator,
31
+ get_required_token: (expected) => {
32
+ return token_iterator['get current']().transform(($) => $, () => abort(sh.parse_error(['parser', {
33
+ 'expected': expected,
34
+ 'cause': ['missing token', null]
35
+ }], token_iterator['get state']())));
36
+ },
37
+ unexpected_token: (token, expected) => {
38
+ return abort(sh.unexpected_token(token, expected));
39
+ }
40
+ };
41
+ };
42
+ exports.create_context = create_context;
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9leGNlcHRpb25hbC9hdXRob3JpbmdfcGFyc2UvYXN0L2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPQSxxRUFBc0Q7QUFhL0MsTUFBTSxjQUFjLEdBQUcsQ0FDMUIsY0FBb0MsRUFDcEMsS0FBNEMsRUFDMUIsRUFBRTtJQUNwQixPQUFPO1FBQ0gsUUFBUSxFQUFFLGNBQWM7UUFDeEIsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUM3QixPQUFPLGNBQWMsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FDNUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDUixHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FDdEIsQ0FBQyxRQUFRLEVBQUU7b0JBQ1AsVUFBVSxFQUFFLFFBQVE7b0JBQ3BCLE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUM7aUJBQ25DLENBQUMsRUFDRixjQUFjLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FDaEMsQ0FBQyxDQUNMLENBQUE7UUFDTCxDQUFDO1FBQ0QsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDbEMsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUM1QixLQUFLLEVBQ0wsUUFBUSxDQUNYLENBQUMsQ0FBQTtRQUNOLENBQUM7S0FDSixDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBekJZLFFBQUEsY0FBYyxrQkF5QjFCIn0=
@@ -0,0 +1,10 @@
1
+ import * as _et from 'exupery-core-types';
2
+ import * as _ea from 'exupery-core-alg';
3
+ import * as _source from "../../../interface/generated/pareto/schemas/token/data_types/source";
4
+ import * as d_parse_result from "../../../interface/generated/pareto/schemas/authoring_parse_result/data_types/target";
5
+ import { ASTN_Tokens_Iterator } from "./iterator";
6
+ export type Refinement_Context = {
7
+ get_required_token: (expected: _et.Array<d_parse_result.Parse_Error._type.SG.parser.expected.L>) => _source.Annotated_Token;
8
+ unexpected_token: (token: _source.Annotated_Token, expected: _et.Array<d_parse_result.Parse_Error._type.SG.parser.expected.L>) => never;
9
+ };
10
+ export declare const create_context: (token_iterator: ASTN_Tokens_Iterator, abort: _ea.Abort<d_parse_result.Parse_Error>) => Refinement_Context;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.create_context = void 0;
27
+ const sh = __importStar(require("../../../shorthands/parse_result"));
28
+ const get_required_token = (token_iterator, expected, abort) => {
29
+ return token_iterator['get current']().transform(($) => $, () => abort(sh.parse_error(['parser', {
30
+ 'expected': expected,
31
+ 'cause': ['missing token', null]
32
+ }], token_iterator['get state']())));
33
+ };
34
+ const create_context = (token_iterator, abort) => {
35
+ return {
36
+ get_required_token: (expected) => {
37
+ return get_required_token(token_iterator, expected, abort);
38
+ },
39
+ unexpected_token: (token, expected) => {
40
+ return abort(sh.unexpected_token(token, expected));
41
+ }
42
+ };
43
+ };
44
+ exports.create_context = create_context;
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9leGNlcHRpb25hbC9hdXRob3JpbmdfcGFyc2UvYXN0L2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPQSxxRUFBc0Q7QUFFdEQsTUFBTSxrQkFBa0IsR0FBRyxDQUN2QixjQUFvQyxFQUNwQyxRQUEwRSxFQUMxRSxLQUE0QyxFQUNyQixFQUFFO0lBQ3pCLE9BQU8sY0FBYyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUM1QyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUNSLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUN0QixDQUFDLFFBQVEsRUFBRTtZQUNQLFVBQVUsRUFBRSxRQUFRO1lBQ3BCLE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUM7U0FDbkMsQ0FBQyxFQUNGLGNBQWMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUNoQyxDQUFDLENBQ0wsQ0FBQTtBQUNMLENBQUMsQ0FBQTtBQVlNLE1BQU0sY0FBYyxHQUFHLENBQzFCLGNBQW9DLEVBQ3BDLEtBQTRDLEVBQzFCLEVBQUU7SUFDcEIsT0FBTztRQUNILGtCQUFrQixFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDN0IsT0FBTyxrQkFBa0IsQ0FDckIsY0FBYyxFQUNkLFFBQVEsRUFDUixLQUFLLENBQ1IsQ0FBQTtRQUNMLENBQUM7UUFDRCxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUNsQyxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQzVCLEtBQUssRUFDTCxRQUFRLENBQ1gsQ0FBQyxDQUFBO1FBQ04sQ0FBQztLQUNKLENBQUE7QUFDTCxDQUFDLENBQUE7QUFuQlksUUFBQSxjQUFjLGtCQW1CMUIifQ==
@@ -0,0 +1,9 @@
1
+ import * as string_iterator from "../tokens/iterator";
2
+ import * as _source from "../../../interface/generated/pareto/schemas/token/data_types/source";
3
+ import { Iterator } from "../iterator";
4
+ export type My_Location = {
5
+ 'start': string_iterator.Iterator_Location;
6
+ 'end': string_iterator.Iterator_Location;
7
+ };
8
+ export type ASTN_Tokens_Iterator = Iterator<_source.Annotated_Token, My_Location>;
9
+ export declare const create_iterator: ($: _source.Tokenizer_Result.tokens, end: string_iterator.Iterator_Location) => ASTN_Tokens_Iterator;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.create_iterator = void 0;
4
+ const create_iterator = ($, end) => {
5
+ let position = 0;
6
+ return {
7
+ 'get current': () => {
8
+ return $.__get_element_at(position);
9
+ },
10
+ 'look ahead': (offset) => {
11
+ return $.__get_element_at(position + offset);
12
+ },
13
+ 'get state': () => {
14
+ const current_token = $.__get_element_at(position);
15
+ return current_token.transform(($) => ({
16
+ 'start': $.start,
17
+ 'end': $.end,
18
+ }), () => ({
19
+ 'start': end,
20
+ 'end': end,
21
+ }));
22
+ },
23
+ 'consume': () => {
24
+ position += 1;
25
+ },
26
+ };
27
+ };
28
+ exports.create_iterator = create_iterator;
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZXhjZXB0aW9uYWwvYXV0aG9yaW5nX3BhcnNlL2FzdC9pdGVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFnQk8sTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFrQyxFQUFFLEdBQXNDLEVBQXdCLEVBQUU7SUFDaEksSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLE9BQU87UUFDSCxhQUFhLEVBQUUsR0FBRyxFQUFFO1lBQ2hCLE9BQU8sQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3ZDLENBQUM7UUFDRCxZQUFZLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUM3QixPQUFPLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUE7UUFDaEQsQ0FBQztRQUNELFdBQVcsRUFBRSxHQUFHLEVBQUU7WUFDZCxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDbEQsT0FBTyxhQUFhLENBQUMsU0FBUyxDQUMxQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDSixPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUs7Z0JBQ2hCLEtBQUssRUFBRSxDQUFDLENBQUMsR0FBRzthQUNmLENBQUMsRUFDRixHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNILE9BQU8sRUFBRSxHQUFHO2dCQUNaLEtBQUssRUFBRSxHQUFHO2FBQ2IsQ0FBQyxDQUNMLENBQUE7UUFDTCxDQUFDO1FBQ0QsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNaLFFBQVEsSUFBSSxDQUFDLENBQUE7UUFDakIsQ0FBQztLQUNKLENBQUE7QUFDTCxDQUFDLENBQUE7QUExQlksUUFBQSxlQUFlLG1CQTBCM0IifQ==
@@ -0,0 +1,10 @@
1
+ import * as _target from "../../../interface/generated/pareto/schemas/authoring_parse_tree/data_types/target";
2
+ import * as d_parse_result from "../../../interface/generated/pareto/schemas/authoring_parse_result/data_types/target";
3
+ import * as _source from "../../../interface/generated/pareto/schemas/token/data_types/source";
4
+ import * as c from "./context";
5
+ export declare const Structural_Token: (token: _source.Annotated_Token, context: c.Refinement_Context) => _target.Structural_Token;
6
+ export declare const String: (context: c.Refinement_Context) => _target.String;
7
+ export declare const Document: (context: c.Refinement_Context) => _target.Document;
8
+ export declare const Elements: (end_reached: ($: _source.Token_Type) => boolean, end_token: d_parse_result.Parse_Error._type.SG.parser.expected.L, context: c.Refinement_Context) => _target.Elements;
9
+ export declare const Key_Value_Pairs: (end_reached: ($: _source.Token_Type) => boolean, end_token: d_parse_result.Parse_Error._type.SG.parser.expected.L, context: c.Refinement_Context) => _target.Key_Value_Pairs;
10
+ export declare const Value: (context: c.Refinement_Context) => _target.Value;
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Value = exports.Key_Value_Pairs = exports.Elements = exports.Document = exports.String = exports.Structural_Token = void 0;
27
+ const _ea = __importStar(require("exupery-core-alg"));
28
+ //this file contains the parser functionality, each function return a type from the 'ast' schema
29
+ const Structural_Token = (token, //FIXME: this should be an iterator
30
+ context) => {
31
+ return {
32
+ 'trailing trivia': token['trailing trivia'],
33
+ 'range': {
34
+ 'start': token['start'],
35
+ 'end': token['end']
36
+ }
37
+ };
38
+ };
39
+ exports.Structural_Token = Structural_Token;
40
+ const String = (context) => {
41
+ const token = context.get_required_token(_ea.array_literal([['a string', null]]));
42
+ if (token.type[0] !== 'string') {
43
+ return context.unexpected_token(token, _ea.array_literal([['a string', null]]));
44
+ }
45
+ context.iterator['consume']();
46
+ return {
47
+ 'range': {
48
+ 'start': token['start'],
49
+ 'end': token['end']
50
+ },
51
+ 'value': token.type[1].value,
52
+ 'type': token.type[1].type,
53
+ 'trailing trivia': token['trailing trivia'],
54
+ };
55
+ };
56
+ exports.String = String;
57
+ const Document = (context) => {
58
+ return {
59
+ 'header': _ea.block(() => {
60
+ const token = context.get_required_token(_ea.array_literal([['!', null], ['a value', null]]));
61
+ if (token.type[0] !== '!') {
62
+ return _ea.not_set();
63
+ }
64
+ context.iterator['consume']();
65
+ return _ea.set({
66
+ '!': (0, exports.Structural_Token)(token, context),
67
+ 'value': (0, exports.Value)(context)
68
+ });
69
+ }),
70
+ 'content': (0, exports.Value)(context)
71
+ };
72
+ };
73
+ exports.Document = Document;
74
+ const Elements = (end_reached, end_token, context) => {
75
+ return _ea.build_list(($i) => {
76
+ while (true) {
77
+ const current_token = context.get_required_token(_ea.array_literal([end_token, ['a value', null]]));
78
+ if (end_reached(current_token.type)) {
79
+ return;
80
+ }
81
+ $i['add element']({
82
+ 'value': (0, exports.Value)(context)
83
+ });
84
+ }
85
+ });
86
+ };
87
+ exports.Elements = Elements;
88
+ const Key_Value_Pairs = (end_reached, end_token, context) => {
89
+ return _ea.build_list(($i) => {
90
+ while (true) {
91
+ const current_token = context.get_required_token(_ea.array_literal([end_token, ['a string', null]]));
92
+ if (end_reached(current_token.type)) {
93
+ return;
94
+ }
95
+ $i['add element']({
96
+ 'key': (0, exports.String)(context),
97
+ 'value': _ea.block(() => {
98
+ const candidate_colon = context.get_required_token(_ea.array_literal([['a string', null], [':', null], end_token]));
99
+ if (candidate_colon.type[0] !== ':') {
100
+ return _ea.not_set();
101
+ }
102
+ context.iterator['consume']();
103
+ return _ea.set({
104
+ ':': (0, exports.Structural_Token)(candidate_colon, context),
105
+ 'value': (0, exports.Value)(context)
106
+ });
107
+ }),
108
+ ',': _ea.not_set()
109
+ });
110
+ }
111
+ });
112
+ };
113
+ exports.Key_Value_Pairs = Key_Value_Pairs;
114
+ const Value = (context) => {
115
+ const token = context.get_required_token(_ea.array_literal([['a value', null]]));
116
+ return {
117
+ 'type': _ea.cc(token.type, ($) => {
118
+ switch ($[0]) {
119
+ case 'string': return _ea.ss($, ($) => {
120
+ return ['concrete', ['string', (0, exports.String)(context)]];
121
+ });
122
+ case '{': return _ea.ss($, ($) => {
123
+ context.iterator['consume']();
124
+ return ['concrete', ['indexed collection', ['dictionary', {
125
+ '{': (0, exports.Structural_Token)(token, context),
126
+ 'entries': (0, exports.Key_Value_Pairs)(($) => $[0] === '}', ['}', null], context),
127
+ '}': _ea.block(() => {
128
+ const current_token = context.get_required_token(_ea.array_literal([['}', null]]));
129
+ context.iterator['consume']();
130
+ return (0, exports.Structural_Token)(current_token, context);
131
+ })
132
+ }]]];
133
+ });
134
+ case '(': return _ea.ss($, ($) => {
135
+ context.iterator['consume']();
136
+ return ['concrete', ['indexed collection', ['verbose group', {
137
+ '(': (0, exports.Structural_Token)(token, context),
138
+ 'entries': (0, exports.Key_Value_Pairs)(($) => $[0] === ')', [')', null], context),
139
+ ')': _ea.block(() => {
140
+ const current_token = context.get_required_token(_ea.array_literal([[')', null]]));
141
+ context.iterator['consume']();
142
+ return (0, exports.Structural_Token)(current_token, context);
143
+ })
144
+ }]]];
145
+ });
146
+ case '[': return _ea.ss($, ($) => {
147
+ context.iterator['consume']();
148
+ return ['concrete', ['ordered collection', ['list', {
149
+ '[': (0, exports.Structural_Token)(token, context),
150
+ 'elements': (0, exports.Elements)(($) => $[0] === ']', [']', null], context),
151
+ ']': _ea.block(() => {
152
+ const current_token = context.get_required_token(_ea.array_literal([[']', null]]));
153
+ context.iterator['consume']();
154
+ return (0, exports.Structural_Token)(current_token, context);
155
+ }),
156
+ }]]];
157
+ });
158
+ case '<': return _ea.ss($, ($) => {
159
+ context.iterator['consume']();
160
+ return ['concrete', ['ordered collection', ['concise group', {
161
+ '<': (0, exports.Structural_Token)(token, context),
162
+ 'elements': (0, exports.Elements)(($) => $[0] === '>', ['>', null], context),
163
+ '>': _ea.block(() => {
164
+ const current_token = context.get_required_token(_ea.array_literal([['>', null]]));
165
+ context.iterator['consume']();
166
+ return (0, exports.Structural_Token)(current_token, context);
167
+ }),
168
+ }]]];
169
+ });
170
+ case '@': return _ea.ss($, ($) => {
171
+ context.iterator['consume']();
172
+ return ['include', {
173
+ '@': (0, exports.Structural_Token)(token, context),
174
+ 'path': (0, exports.String)(context)
175
+ }];
176
+ });
177
+ case '~': return _ea.ss($, ($) => {
178
+ context.iterator['consume']();
179
+ return ['concrete', ['not set', {
180
+ '~': (0, exports.Structural_Token)(token, context),
181
+ }]];
182
+ });
183
+ case '|': return _ea.ss($, ($) => {
184
+ context.iterator['consume']();
185
+ const token = context.get_required_token(_ea.array_literal([['a value', null], ['#', null]]));
186
+ return ['concrete', ['tagged value', {
187
+ '|': (0, exports.Structural_Token)(token, context),
188
+ 'status': _ea.cc(token.type, ($) => {
189
+ switch ($[0]) {
190
+ case 'string': return _ea.ss($, ($) => {
191
+ return ['set', {
192
+ 'state': (0, exports.String)(context),
193
+ 'value': (0, exports.Value)(context)
194
+ }];
195
+ });
196
+ case '#': return _ea.ss($, ($) => {
197
+ context.iterator['consume']();
198
+ return ['missing data', {
199
+ '#': (0, exports.Structural_Token)(token, context),
200
+ }];
201
+ });
202
+ default: return context.unexpected_token(token, _ea.array_literal([
203
+ ['a value', null],
204
+ ['#', null],
205
+ ]));
206
+ }
207
+ })
208
+ }]];
209
+ });
210
+ case '*': return _ea.ss($, ($) => {
211
+ context.iterator['consume']();
212
+ return ['concrete', ['set optional value', {
213
+ '*': (0, exports.Structural_Token)(token, context),
214
+ 'value': (0, exports.Value)(context)
215
+ }]];
216
+ });
217
+ case '#': return _ea.ss($, ($) => {
218
+ context.iterator['consume']();
219
+ return ['missing data', {
220
+ '#': (0, exports.Structural_Token)(token, context),
221
+ }];
222
+ });
223
+ //unexpected tokens
224
+ case '!': return _ea.ss($, ($) => {
225
+ context.iterator['consume']();
226
+ return context.unexpected_token(token, _ea.array_literal([
227
+ ['a value', null]
228
+ ]));
229
+ });
230
+ case ':': return _ea.ss($, ($) => {
231
+ context.iterator['consume']();
232
+ return context.unexpected_token(token, _ea.array_literal([
233
+ ['a value', null]
234
+ ]));
235
+ });
236
+ case ')': return _ea.ss($, ($) => {
237
+ context.iterator['consume']();
238
+ return context.unexpected_token(token, _ea.array_literal([
239
+ ['a value', null]
240
+ ]));
241
+ });
242
+ case '>': return _ea.ss($, ($) => {
243
+ context.iterator['consume']();
244
+ return context.unexpected_token(token, _ea.array_literal([
245
+ ['a value', null]
246
+ ]));
247
+ });
248
+ case ']': return _ea.ss($, ($) => {
249
+ context.iterator['consume']();
250
+ return context.unexpected_token(token, _ea.array_literal([
251
+ ['a value', null]
252
+ ]));
253
+ });
254
+ case '}': return _ea.ss($, ($) => {
255
+ context.iterator['consume']();
256
+ return context.unexpected_token(token, _ea.array_literal([
257
+ ['a value', null]
258
+ ]));
259
+ });
260
+ default: return _ea.au($[0]);
261
+ }
262
+ })
263
+ };
264
+ };
265
+ exports.Value = Value;
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmaW5lcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZXhjZXB0aW9uYWwvYXV0aG9yaW5nX3BhcnNlL2FzdC9yZWZpbmVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUF1QztBQVd2QyxnR0FBZ0c7QUFFekYsTUFBTSxnQkFBZ0IsR0FBRyxDQUM1QixLQUE4QixFQUFFLG1DQUFtQztBQUNuRSxPQUE2QixFQUNMLEVBQUU7SUFDMUIsT0FBTztRQUNILGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztRQUMzQyxPQUFPLEVBQUU7WUFDTCxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUN2QixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQztTQUN0QjtLQUNKLENBQUE7QUFDTCxDQUFDLENBQUE7QUFYWSxRQUFBLGdCQUFnQixvQkFXNUI7QUFFTSxNQUFNLE1BQU0sR0FBRyxDQUNsQixPQUE2QixFQUNmLEVBQUU7SUFDaEIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNqRixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDN0IsT0FBTyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNuRixDQUFDO0lBQ0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFBO0lBQzdCLE9BQU87UUFDSCxPQUFPLEVBQUU7WUFDTCxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUN2QixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQztTQUN0QjtRQUNELE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7UUFDNUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUMxQixpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUM7S0FDOUMsQ0FBQTtBQUNMLENBQUMsQ0FBQTtBQWpCWSxRQUFBLE1BQU0sVUFpQmxCO0FBRU0sTUFBTSxRQUFRLEdBQUcsQ0FDcEIsT0FBNkIsRUFDYixFQUFFO0lBQ2xCLE9BQU87UUFDSCxRQUFRLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDckIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM3RixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ3hCLE9BQU8sR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBQ3hCLENBQUM7WUFDRCxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUE7WUFDN0IsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDO2dCQUNYLEdBQUcsRUFBRSxJQUFBLHdCQUFnQixFQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7Z0JBQ3JDLE9BQU8sRUFBRSxJQUFBLGFBQUssRUFBQyxPQUFPLENBQUM7YUFDMUIsQ0FBQyxDQUFBO1FBQ04sQ0FBQyxDQUFDO1FBQ0YsU0FBUyxFQUFFLElBQUEsYUFBSyxFQUFDLE9BQU8sQ0FBQztLQUM1QixDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBakJZLFFBQUEsUUFBUSxZQWlCcEI7QUFFTSxNQUFNLFFBQVEsR0FBRyxDQUNwQixXQUErQyxFQUMvQyxTQUFnRSxFQUNoRSxPQUE2QixFQUNiLEVBQUU7SUFDbEIsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFxQixDQUFDLEVBQUUsRUFBUSxFQUFFO1FBQ25ELE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDVixNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNuRyxJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDbEMsT0FBTTtZQUNWLENBQUM7WUFDRCxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ2QsT0FBTyxFQUFFLElBQUEsYUFBSyxFQUFDLE9BQU8sQ0FBQzthQUMxQixDQUFDLENBQUE7UUFDTixDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUFoQlksUUFBQSxRQUFRLFlBZ0JwQjtBQUVNLE1BQU0sZUFBZSxHQUFHLENBQzNCLFdBQStDLEVBQy9DLFNBQWdFLEVBQ2hFLE9BQTZCLEVBQ04sRUFBRTtJQUN6QixPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQTRCLENBQUMsRUFBRSxFQUFRLEVBQUU7UUFDMUQsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNWLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3BHLElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxPQUFNO1lBQ1YsQ0FBQztZQUVELEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDZCxLQUFLLEVBQUUsSUFBQSxjQUFNLEVBQUMsT0FBTyxDQUFDO2dCQUN0QixPQUFPLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7b0JBQ3BCLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUNuSCxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7d0JBQ2xDLE9BQU8sR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFBO29CQUN4QixDQUFDO29CQUNELE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQTtvQkFFN0IsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDO3dCQUNYLEdBQUcsRUFBRSxJQUFBLHdCQUFnQixFQUFDLGVBQWUsRUFBRSxPQUFPLENBQUM7d0JBQy9DLE9BQU8sRUFBRSxJQUFBLGFBQUssRUFBQyxPQUFPLENBQUM7cUJBQzFCLENBQUMsQ0FBQTtnQkFDTixDQUFDLENBQUM7Z0JBQ0YsR0FBRyxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUU7YUFDckIsQ0FBQyxDQUFBO1FBQ04sQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBOUJZLFFBQUEsZUFBZSxtQkE4QjNCO0FBRU0sTUFBTSxLQUFLLEdBQUcsQ0FDakIsT0FBNkIsRUFDaEIsRUFBRTtJQUNmLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDaEYsT0FBTztRQUNILE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQXVCLEVBQUU7WUFFbEQsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxLQUFLLFFBQVEsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQXVCLEVBQUU7b0JBRXZELE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBQSxjQUFNLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUNwRCxDQUFDLENBQUMsQ0FBQTtnQkFDRixLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDN0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFBO29CQUM3QixPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxZQUFZLEVBQUU7b0NBQ3RELEdBQUcsRUFBRSxJQUFBLHdCQUFnQixFQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7b0NBQ3JDLFNBQVMsRUFBRSxJQUFBLHVCQUFlLEVBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDO29DQUNyRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7d0NBQ2hCLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7d0NBQ2xGLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQTt3Q0FDN0IsT0FBTyxJQUFBLHdCQUFnQixFQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQTtvQ0FDbkQsQ0FBQyxDQUFDO2lDQUNMLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ1IsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQzdCLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQTtvQkFDN0IsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLG9CQUFvQixFQUFFLENBQUMsZUFBZSxFQUFFO29DQUN6RCxHQUFHLEVBQUUsSUFBQSx3QkFBZ0IsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO29DQUNyQyxTQUFTLEVBQUUsSUFBQSx1QkFBZSxFQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLE9BQU8sQ0FBQztvQ0FDckUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO3dDQUNoQixNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO3dDQUNsRixPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUE7d0NBQzdCLE9BQU8sSUFBQSx3QkFBZ0IsRUFBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUE7b0NBQ25ELENBQUMsQ0FBQztpQ0FDTCxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUNSLENBQUMsQ0FBQyxDQUFBO2dCQUNGLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBdUIsRUFBRTtvQkFDbEQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFBO29CQUM3QixPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxNQUFNLEVBQUU7b0NBQ2hELEdBQUcsRUFBRSxJQUFBLHdCQUFnQixFQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7b0NBQ3JDLFVBQVUsRUFBRSxJQUFBLGdCQUFRLEVBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDO29DQUMvRCxHQUFHLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7d0NBQ2hCLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7d0NBQ2xGLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQTt3Q0FDN0IsT0FBTyxJQUFBLHdCQUFnQixFQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQTtvQ0FDbkQsQ0FBQyxDQUFDO2lDQUNMLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ1IsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUF1QixFQUFFO29CQUNsRCxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUE7b0JBQzdCLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLGVBQWUsRUFBRTtvQ0FDekQsR0FBRyxFQUFFLElBQUEsd0JBQWdCLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztvQ0FDckMsVUFBVSxFQUFFLElBQUEsZ0JBQVEsRUFBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxPQUFPLENBQUM7b0NBQy9ELEdBQUcsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRTt3Q0FDaEIsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTt3Q0FDbEYsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFBO3dDQUM3QixPQUFPLElBQUEsd0JBQWdCLEVBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFBO29DQUNuRCxDQUFDLENBQUM7aUNBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDUixDQUFDLENBQUMsQ0FBQTtnQkFDRixLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDN0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFBO29CQUM3QixPQUFPLENBQUMsU0FBUyxFQUFFOzRCQUNmLEdBQUcsRUFBRSxJQUFBLHdCQUFnQixFQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7NEJBQ3JDLE1BQU0sRUFBRSxJQUFBLGNBQU0sRUFBQyxPQUFPLENBQUM7eUJBQzFCLENBQUMsQ0FBQTtnQkFDTixDQUFDLENBQUMsQ0FBQTtnQkFDRixLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDN0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFBO29CQUM3QixPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFO2dDQUM1QixHQUFHLEVBQUUsSUFBQSx3QkFBZ0IsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDOzZCQUN4QyxDQUFDLENBQUMsQ0FBQTtnQkFDUCxDQUFDLENBQUMsQ0FBQTtnQkFDRixLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDN0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFBO29CQUM3QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUU3RixPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsY0FBYyxFQUFFO2dDQUNqQyxHQUFHLEVBQUUsSUFBQSx3QkFBZ0IsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO2dDQUNyQyxRQUFRLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFpRCxFQUFFO29DQUM5RSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO3dDQUNYLEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFOzRDQUNsQyxPQUFPLENBQUMsS0FBSyxFQUFFO29EQUNYLE9BQU8sRUFBRSxJQUFBLGNBQU0sRUFBQyxPQUFPLENBQUM7b0RBQ3hCLE9BQU8sRUFBRSxJQUFBLGFBQUssRUFBQyxPQUFPLENBQUM7aURBQzFCLENBQUMsQ0FBQTt3Q0FDTixDQUFDLENBQUMsQ0FBQTt3Q0FDRixLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTs0Q0FDN0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFBOzRDQUM3QixPQUFPLENBQUMsY0FBYyxFQUFFO29EQUNwQixHQUFHLEVBQUUsSUFBQSx3QkFBZ0IsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO2lEQUN4QyxDQUFDLENBQUE7d0NBQ04sQ0FBQyxDQUFDLENBQUE7d0NBQ0YsT0FBTyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUM7NENBQzlELENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQzs0Q0FDakIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDO3lDQUNkLENBQUMsQ0FBQyxDQUFBO29DQUNQLENBQUM7Z0NBQ0wsQ0FBQyxDQUFDOzZCQUNMLENBQUMsQ0FBQyxDQUFBO2dCQUNQLENBQUMsQ0FBQyxDQUFBO2dCQUNGLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUM3QixPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUE7b0JBQzdCLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRTtnQ0FDdkMsR0FBRyxFQUFFLElBQUEsd0JBQWdCLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztnQ0FDckMsT0FBTyxFQUFFLElBQUEsYUFBSyxFQUFDLE9BQU8sQ0FBQzs2QkFDMUIsQ0FBQyxDQUFDLENBQUE7Z0JBQ1AsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQzdCLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQTtvQkFDN0IsT0FBTyxDQUFDLGNBQWMsRUFBRTs0QkFDcEIsR0FBRyxFQUFFLElBQUEsd0JBQWdCLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQzt5QkFDeEMsQ0FBQyxDQUFBO2dCQUNOLENBQUMsQ0FBQyxDQUFBO2dCQUVGLG1CQUFtQjtnQkFFbkIsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQzdCLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQTtvQkFDN0IsT0FBTyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUM7d0JBQ3JELENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztxQkFDcEIsQ0FBQyxDQUFDLENBQUE7Z0JBQ1AsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQzdCLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQTtvQkFDN0IsT0FBTyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUM7d0JBQ3JELENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztxQkFDcEIsQ0FBQyxDQUFDLENBQUE7Z0JBQ1AsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQzdCLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQTtvQkFDN0IsT0FBTyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUM7d0JBQ3JELENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztxQkFDcEIsQ0FBQyxDQUFDLENBQUE7Z0JBQ1AsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQzdCLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQTtvQkFDN0IsT0FBTyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUM7d0JBQ3JELENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztxQkFDcEIsQ0FBQyxDQUFDLENBQUE7Z0JBQ1AsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQzdCLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQTtvQkFDN0IsT0FBTyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUM7d0JBQ3JELENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztxQkFDcEIsQ0FBQyxDQUFDLENBQUE7Z0JBQ1AsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQzdCLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQTtvQkFDN0IsT0FBTyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUM7d0JBQ3JELENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztxQkFDcEIsQ0FBQyxDQUFDLENBQUE7Z0JBQ1AsQ0FBQyxDQUFDLENBQUE7Z0JBRUYsT0FBTyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ2hDLENBQUM7UUFDTCxDQUFDLENBQUM7S0FDTCxDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBOUpZLFFBQUEsS0FBSyxTQThKakIifQ==
@@ -1,5 +1,6 @@
1
1
  import * as _et from 'exupery-core-types';
2
- import * as si from "./string_iterator";
2
+ import * as string_iterator from "./string_iterator";
3
+ import * as token_iterator from "./token_iterator";
3
4
  import * as _source from "../../interface/generated/pareto/schemas/token/data_types/source";
4
5
  import * as d_parse_result from "../../interface/generated/pareto/schemas/authoring_parse_result/data_types/target";
5
6
  export declare class Parse_Error_Class {
@@ -9,5 +10,5 @@ export declare class Parse_Error_Class {
9
10
  }
10
11
  export declare const throw_lexer_error: (type: d_parse_result.Parse_Error._type.SG.lexer, range: _source.Range) => never;
11
12
  export declare const throw_unexpected_token: (found: _source.Annotated_Token, expected: _et.Array<d_parse_result.Parse_Error._type.SG.parser.expected.L>) => never;
12
- export type ASTN_Token_Iterator = si.Token_Iterator<d_parse_result.Parse_Error._type.SG.parser.expected.L, _source.Annotated_Token>;
13
- export declare const create_astn_token_iterator: ($: _source.Tokenizer_Result.tokens, end: si.Location) => ASTN_Token_Iterator;
13
+ export type ASTN_Token_Iterator = token_iterator.Token_Iterator<d_parse_result.Parse_Error._type.SG.parser.expected.L, _source.Annotated_Token>;
14
+ export declare const create_astn_token_iterator: ($: _source.Tokenizer_Result.tokens, end: string_iterator.Iterator_Location) => ASTN_Token_Iterator;
@@ -47,4 +47,4 @@ const create_astn_token_iterator = ($, end) => {
47
47
  };
48
48
  };
49
49
  exports.create_astn_token_iterator = create_astn_token_iterator;
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0bl9wYXJzZV9nZW5lcmljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2V4Y2VwdGlvbmFsL2F1dGhvcmluZ19wYXJzZS9hc3RuX3BhcnNlX2dlbmVyaWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBUUEsTUFBYSxpQkFBaUI7SUFHTjtJQUNBO0lBRnBCLFlBQ29CLElBQXNDLEVBQ3RDLEtBQW9CO1FBRHBCLFNBQUksR0FBSixJQUFJLENBQWtDO1FBQ3RDLFVBQUssR0FBTCxLQUFLLENBQWU7SUFFdkMsQ0FBQztDQUNMO0FBUEQsOENBT0M7QUFFRCxNQUFNLGlCQUFpQixHQUFHLENBQ3RCLElBQXNDLEVBQ3RDLEtBQW9CLEVBQ2YsRUFBRTtJQUNQLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFDNUMsQ0FBQyxDQUFBO0FBRU0sTUFBTSxpQkFBaUIsR0FBRyxDQUM3QixJQUErQyxFQUMvQyxLQUFvQixFQUNmLEVBQUU7SUFDUCxNQUFNLElBQUksaUJBQWlCLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFDdkQsQ0FBQyxDQUFBO0FBTFksUUFBQSxpQkFBaUIscUJBSzdCO0FBRU0sTUFBTSxzQkFBc0IsR0FBRyxDQUNsQyxLQUE4QixFQUM5QixRQUEwRSxFQUNyRSxFQUFFO0lBQ1AsT0FBTyxpQkFBaUIsQ0FDcEIsQ0FBQyxRQUFRLEVBQUU7WUFDUCxVQUFVLEVBQUUsUUFBUTtZQUNwQixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRTtvQkFDMUIsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJO2lCQUN0QixDQUFDO1NBQ0wsQ0FBQyxFQUNGO1FBQ0ksT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLO1FBQ3BCLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRztLQUNuQixDQUNKLENBQUE7QUFDTCxDQUFDLENBQUE7QUFoQlksUUFBQSxzQkFBc0IsMEJBZ0JsQztBQUlNLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxDQUFrQyxFQUFFLEdBQWdCLEVBQXVCLEVBQUU7SUFDcEgsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLE9BQU87UUFDSCxvQkFBb0IsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FDekMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDUixHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FDbkIsQ0FBQyxRQUFRLEVBQUU7b0JBQ1AsVUFBVSxFQUFFLEdBQUc7b0JBQ2YsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQztpQkFDbkMsQ0FBQyxFQUNGO2dCQUNJLE9BQU8sRUFBRSxHQUFHO2dCQUNaLEtBQUssRUFBRSxHQUFHO2FBQ2IsQ0FDSixDQUNKLENBQUE7UUFDTCxDQUFDO1FBQ0QsZUFBZSxFQUFFLEdBQUcsRUFBRTtZQUNsQixRQUFRLElBQUksQ0FBQyxDQUFBO1FBQ2pCLENBQUM7S0FDSixDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBdEJZLFFBQUEsMEJBQTBCLDhCQXNCdEMifQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0bl9wYXJzZV9nZW5lcmljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2V4Y2VwdGlvbmFsL2F1dGhvcmluZ19wYXJzZS9hc3RuX3BhcnNlX2dlbmVyaWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBU0EsTUFBYSxpQkFBaUI7SUFHTjtJQUNBO0lBRnBCLFlBQ29CLElBQXNDLEVBQ3RDLEtBQW9CO1FBRHBCLFNBQUksR0FBSixJQUFJLENBQWtDO1FBQ3RDLFVBQUssR0FBTCxLQUFLLENBQWU7SUFFdkMsQ0FBQztDQUNMO0FBUEQsOENBT0M7QUFFRCxNQUFNLGlCQUFpQixHQUFHLENBQ3RCLElBQXNDLEVBQ3RDLEtBQW9CLEVBQ2YsRUFBRTtJQUNQLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFDNUMsQ0FBQyxDQUFBO0FBRU0sTUFBTSxpQkFBaUIsR0FBRyxDQUM3QixJQUErQyxFQUMvQyxLQUFvQixFQUNmLEVBQUU7SUFDUCxNQUFNLElBQUksaUJBQWlCLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFDdkQsQ0FBQyxDQUFBO0FBTFksUUFBQSxpQkFBaUIscUJBSzdCO0FBRU0sTUFBTSxzQkFBc0IsR0FBRyxDQUNsQyxLQUE4QixFQUM5QixRQUEwRSxFQUNyRSxFQUFFO0lBQ1AsT0FBTyxpQkFBaUIsQ0FDcEIsQ0FBQyxRQUFRLEVBQUU7WUFDUCxVQUFVLEVBQUUsUUFBUTtZQUNwQixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRTtvQkFDMUIsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJO2lCQUN0QixDQUFDO1NBQ0wsQ0FBQyxFQUNGO1FBQ0ksT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLO1FBQ3BCLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRztLQUNuQixDQUNKLENBQUE7QUFDTCxDQUFDLENBQUE7QUFoQlksUUFBQSxzQkFBc0IsMEJBZ0JsQztBQUlNLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxDQUFrQyxFQUFFLEdBQXNDLEVBQXVCLEVBQUU7SUFDMUksSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLE9BQU87UUFDSCxvQkFBb0IsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FDekMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDUixHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FDbkIsQ0FBQyxRQUFRLEVBQUU7b0JBQ1AsVUFBVSxFQUFFLEdBQUc7b0JBQ2YsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQztpQkFDbkMsQ0FBQyxFQUNGO2dCQUNJLE9BQU8sRUFBRSxHQUFHO2dCQUNaLEtBQUssRUFBRSxHQUFHO2FBQ2IsQ0FDSixDQUNKLENBQUE7UUFDTCxDQUFDO1FBQ0QsZUFBZSxFQUFFLEdBQUcsRUFBRTtZQUNsQixRQUFRLElBQUksQ0FBQyxDQUFBO1FBQ2pCLENBQUM7S0FDSixDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBdEJZLFFBQUEsMEJBQTBCLDhCQXNCdEMifQ==
@@ -0,0 +1,7 @@
1
+ import * as _et from 'exupery-core-types';
2
+ export type Iterator<Element, State> = {
3
+ 'get current': () => _et.Optional_Value<Element>;
4
+ 'look ahead': (offset: number) => _et.Optional_Value<Element>;
5
+ 'consume': () => void;
6
+ 'get state': () => State;
7
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXhjZXB0aW9uYWwvYXV0aG9yaW5nX3BhcnNlL2l0ZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1,36 @@
1
+ export type Iterator_Location = {
2
+ 'absolute': number;
3
+ 'relative': {
4
+ 'line': number;
5
+ 'column': number;
6
+ };
7
+ };
8
+ export type Characters_Iterator = {
9
+ 'consume character': () => void;
10
+ 'consume string': ($: string) => void;
11
+ /**
12
+ * returns the current character, or null if the end of the string has been reached.
13
+ * equivalent to `look ahead(0)`
14
+ */
15
+ 'get current character': () => number | null;
16
+ 'look ahead': ($: number) => number | null;
17
+ 'create offset location info': (subtract: number) => Iterator_Location;
18
+ 'create location info': () => Iterator_Location;
19
+ 'create location info string': () => string;
20
+ /**
21
+ * if no non-whitespace character has been found yet on the current line,
22
+ * this will return the current column,
23
+ * otherwise it will return the offset of that first non-whitespace character
24
+ * (which is the indentation of the line)
25
+ */
26
+ 'get line indentation': () => number;
27
+ 'starts with': ($: string) => boolean;
28
+ };
29
+ export declare const is_control_character: ($: number) => boolean;
30
+ /**
31
+ * Creates a string iterator that allows iterating over characters in a string,
32
+ * while keeping track of line numbers, columns, and line indentation.
33
+ */
34
+ export declare const create_string_iterator: ($: string, $p: {
35
+ "tab size": number;
36
+ }) => Characters_Iterator;