@gmb/bitmark-parser-generator 1.4.7 → 1.4.9

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 (209) hide show
  1. package/dist/browser/bitmark-parser-generator.min.js +1 -1
  2. package/dist/browser/bundle-report.html +2 -2
  3. package/dist/cjs/BitmarkParserGenerator.js +6 -3
  4. package/dist/cjs/BitmarkParserGenerator.js.map +1 -1
  5. package/dist/cjs/ast/BaseBuilder.js +6 -5
  6. package/dist/cjs/ast/BaseBuilder.js.map +1 -1
  7. package/dist/cjs/ast/Builder.js +28 -34
  8. package/dist/cjs/ast/Builder.js.map +1 -1
  9. package/dist/cjs/ast/ResourceBuilder.js +2 -1
  10. package/dist/cjs/ast/ResourceBuilder.js.map +1 -1
  11. package/dist/cjs/breakscaping/Breakscape.js +240 -0
  12. package/dist/cjs/breakscaping/Breakscape.js.map +1 -0
  13. package/dist/cjs/config/raw/cardSets.js +8 -8
  14. package/dist/cjs/config/raw/cardSets.js.map +1 -1
  15. package/dist/cjs/config/raw/groups.js +4 -0
  16. package/dist/cjs/config/raw/groups.js.map +1 -1
  17. package/dist/cjs/config/raw/properties.js +2 -19
  18. package/dist/cjs/config/raw/properties.js.map +1 -1
  19. package/dist/cjs/generated/build-info.js +1 -1
  20. package/dist/cjs/generated/parser/bitmark/bitmark-peggy-parser.js +193 -73
  21. package/dist/cjs/generated/parser/bitmark/bitmark-peggy-parser.js.map +1 -1
  22. package/dist/cjs/generated/parser/text/text-peggy-parser.js +9 -9
  23. package/dist/cjs/generated/parser/text/text-peggy-parser.js.map +1 -1
  24. package/dist/cjs/generator/bitmark/BitmarkGenerator.js +3 -11
  25. package/dist/cjs/generator/bitmark/BitmarkGenerator.js.map +1 -1
  26. package/dist/cjs/generator/json/JsonGenerator.js +144 -140
  27. package/dist/cjs/generator/json/JsonGenerator.js.map +1 -1
  28. package/dist/cjs/generator/text/TextGenerator.js +13 -28
  29. package/dist/cjs/generator/text/TextGenerator.js.map +1 -1
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/model/ast/BreakscapedString.js +3 -0
  32. package/dist/cjs/model/ast/BreakscapedString.js.map +1 -0
  33. package/dist/cjs/model/ast/NodeType.js +0 -1
  34. package/dist/cjs/model/ast/NodeType.js.map +1 -1
  35. package/dist/cjs/model/ast/StardardString.js +3 -0
  36. package/dist/cjs/model/ast/StardardString.js.map +1 -0
  37. package/dist/cjs/model/config/enum/PropertyConfigKey.js +1 -3
  38. package/dist/cjs/model/config/enum/PropertyConfigKey.js.map +1 -1
  39. package/dist/cjs/model/enum/PropertyAstKey.js +0 -1
  40. package/dist/cjs/model/enum/PropertyAstKey.js.map +1 -1
  41. package/dist/cjs/model/enum/PropertyJsonKey.js +1 -2
  42. package/dist/cjs/model/enum/PropertyJsonKey.js.map +1 -1
  43. package/dist/cjs/model/enum/PropertyTag.js +1 -3
  44. package/dist/cjs/model/enum/PropertyTag.js.map +1 -1
  45. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserProcessor.js +8 -7
  46. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserProcessor.js.map +1 -1
  47. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserTypes.js.map +1 -1
  48. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserValidator.js.map +1 -1
  49. package/dist/cjs/parser/bitmark/peg/contentProcessors/BookChainContentProcessor.js.map +1 -1
  50. package/dist/cjs/parser/bitmark/peg/contentProcessors/CardContentProcessor.js +27 -22
  51. package/dist/cjs/parser/bitmark/peg/contentProcessors/CardContentProcessor.js.map +1 -1
  52. package/dist/cjs/parser/bitmark/peg/contentProcessors/ClozeTagContentProcessor.js.map +1 -1
  53. package/dist/cjs/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js.map +1 -1
  54. package/dist/cjs/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js.map +1 -1
  55. package/dist/cjs/parser/bitmark/peg/contentProcessors/GapChainContentProcessor.js +1 -1
  56. package/dist/cjs/parser/bitmark/peg/contentProcessors/GapChainContentProcessor.js.map +1 -1
  57. package/dist/cjs/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js +2 -1
  58. package/dist/cjs/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js.map +1 -1
  59. package/dist/cjs/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.js.map +1 -1
  60. package/dist/cjs/parser/bitmark/peg/contentProcessors/MarkChainContentProcessor.js +2 -1
  61. package/dist/cjs/parser/bitmark/peg/contentProcessors/MarkChainContentProcessor.js.map +1 -1
  62. package/dist/cjs/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js +1 -1
  63. package/dist/cjs/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js.map +1 -1
  64. package/dist/cjs/parser/bitmark/peg/contentProcessors/MarkTagContentProcessor.js.map +1 -1
  65. package/dist/cjs/parser/bitmark/peg/contentProcessors/PartnerChainContentProcessor.js.map +1 -1
  66. package/dist/cjs/parser/bitmark/peg/contentProcessors/ReferenceTagContentProcessor.js.map +1 -1
  67. package/dist/cjs/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js.map +1 -1
  68. package/dist/cjs/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.js.map +1 -1
  69. package/dist/cjs/parser/bitmark/peg/contentProcessors/TrueFalseTagContentProcessor.js.map +1 -1
  70. package/dist/cjs/parser/json/JsonParser.js +108 -111
  71. package/dist/cjs/parser/json/JsonParser.js.map +1 -1
  72. package/dist/esm/BitmarkParserGenerator.js +7 -4
  73. package/dist/esm/BitmarkParserGenerator.js.map +1 -1
  74. package/dist/esm/ast/BaseBuilder.js +6 -5
  75. package/dist/esm/ast/BaseBuilder.js.map +1 -1
  76. package/dist/esm/ast/Builder.js +28 -34
  77. package/dist/esm/ast/Builder.js.map +1 -1
  78. package/dist/esm/ast/ResourceBuilder.js +2 -1
  79. package/dist/esm/ast/ResourceBuilder.js.map +1 -1
  80. package/dist/esm/breakscaping/Breakscape.js +237 -0
  81. package/dist/esm/breakscaping/Breakscape.js.map +1 -0
  82. package/dist/esm/config/raw/cardSets.js +8 -8
  83. package/dist/esm/config/raw/cardSets.js.map +1 -1
  84. package/dist/esm/config/raw/groups.js +4 -0
  85. package/dist/esm/config/raw/groups.js.map +1 -1
  86. package/dist/esm/config/raw/properties.js +2 -19
  87. package/dist/esm/config/raw/properties.js.map +1 -1
  88. package/dist/esm/generated/build-info.js +1 -1
  89. package/dist/esm/generated/parser/bitmark/bitmark-peggy-parser.js +193 -73
  90. package/dist/esm/generated/parser/bitmark/bitmark-peggy-parser.js.map +1 -1
  91. package/dist/esm/generated/parser/text/text-peggy-parser.js +9 -8
  92. package/dist/esm/generated/parser/text/text-peggy-parser.js.map +1 -1
  93. package/dist/esm/generator/bitmark/BitmarkGenerator.js +3 -11
  94. package/dist/esm/generator/bitmark/BitmarkGenerator.js.map +1 -1
  95. package/dist/esm/generator/json/JsonGenerator.js +144 -140
  96. package/dist/esm/generator/json/JsonGenerator.js.map +1 -1
  97. package/dist/esm/generator/text/TextGenerator.js +13 -26
  98. package/dist/esm/generator/text/TextGenerator.js.map +1 -1
  99. package/dist/esm/index.js.map +1 -1
  100. package/dist/esm/model/ast/BreakscapedString.js +2 -0
  101. package/dist/esm/model/ast/BreakscapedString.js.map +1 -0
  102. package/dist/esm/model/ast/NodeType.js +0 -1
  103. package/dist/esm/model/ast/NodeType.js.map +1 -1
  104. package/dist/esm/model/ast/StardardString.js +2 -0
  105. package/dist/esm/model/ast/StardardString.js.map +1 -0
  106. package/dist/esm/model/config/enum/PropertyConfigKey.js +1 -3
  107. package/dist/esm/model/config/enum/PropertyConfigKey.js.map +1 -1
  108. package/dist/esm/model/enum/PropertyAstKey.js +0 -1
  109. package/dist/esm/model/enum/PropertyAstKey.js.map +1 -1
  110. package/dist/esm/model/enum/PropertyJsonKey.js +1 -2
  111. package/dist/esm/model/enum/PropertyJsonKey.js.map +1 -1
  112. package/dist/esm/model/enum/PropertyTag.js +1 -3
  113. package/dist/esm/model/enum/PropertyTag.js.map +1 -1
  114. package/dist/esm/parser/bitmark/peg/BitmarkPegParserProcessor.js +8 -7
  115. package/dist/esm/parser/bitmark/peg/BitmarkPegParserProcessor.js.map +1 -1
  116. package/dist/esm/parser/bitmark/peg/BitmarkPegParserTypes.js.map +1 -1
  117. package/dist/esm/parser/bitmark/peg/BitmarkPegParserValidator.js.map +1 -1
  118. package/dist/esm/parser/bitmark/peg/contentProcessors/BookChainContentProcessor.js.map +1 -1
  119. package/dist/esm/parser/bitmark/peg/contentProcessors/CardContentProcessor.js +27 -22
  120. package/dist/esm/parser/bitmark/peg/contentProcessors/CardContentProcessor.js.map +1 -1
  121. package/dist/esm/parser/bitmark/peg/contentProcessors/ClozeTagContentProcessor.js.map +1 -1
  122. package/dist/esm/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js.map +1 -1
  123. package/dist/esm/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js.map +1 -1
  124. package/dist/esm/parser/bitmark/peg/contentProcessors/GapChainContentProcessor.js +1 -1
  125. package/dist/esm/parser/bitmark/peg/contentProcessors/GapChainContentProcessor.js.map +1 -1
  126. package/dist/esm/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js +2 -1
  127. package/dist/esm/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js.map +1 -1
  128. package/dist/esm/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.js.map +1 -1
  129. package/dist/esm/parser/bitmark/peg/contentProcessors/MarkChainContentProcessor.js +2 -1
  130. package/dist/esm/parser/bitmark/peg/contentProcessors/MarkChainContentProcessor.js.map +1 -1
  131. package/dist/esm/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js +1 -1
  132. package/dist/esm/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js.map +1 -1
  133. package/dist/esm/parser/bitmark/peg/contentProcessors/MarkTagContentProcessor.js.map +1 -1
  134. package/dist/esm/parser/bitmark/peg/contentProcessors/PartnerChainContentProcessor.js.map +1 -1
  135. package/dist/esm/parser/bitmark/peg/contentProcessors/ReferenceTagContentProcessor.js.map +1 -1
  136. package/dist/esm/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js.map +1 -1
  137. package/dist/esm/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.js.map +1 -1
  138. package/dist/esm/parser/bitmark/peg/contentProcessors/TrueFalseTagContentProcessor.js.map +1 -1
  139. package/dist/esm/parser/json/JsonParser.js +108 -111
  140. package/dist/esm/parser/json/JsonParser.js.map +1 -1
  141. package/dist/types/BitmarkParserGenerator.d.ts.map +1 -1
  142. package/dist/types/ast/BaseBuilder.d.ts +4 -3
  143. package/dist/types/ast/BaseBuilder.d.ts.map +1 -1
  144. package/dist/types/ast/Builder.d.ts +158 -168
  145. package/dist/types/ast/Builder.d.ts.map +1 -1
  146. package/dist/types/ast/ResourceBuilder.d.ts +111 -110
  147. package/dist/types/ast/ResourceBuilder.d.ts.map +1 -1
  148. package/dist/types/breakscaping/Breakscape.d.ts +49 -0
  149. package/dist/types/breakscaping/Breakscape.d.ts.map +1 -0
  150. package/dist/types/config/raw/groups.d.ts.map +1 -1
  151. package/dist/types/config/raw/properties.d.ts.map +1 -1
  152. package/dist/types/generated/parser/bitmark/bitmark-peggy-parser.d.ts.map +1 -1
  153. package/dist/types/generated/parser/text/text-peggy-parser.d.ts +0 -1
  154. package/dist/types/generated/parser/text/text-peggy-parser.d.ts.map +1 -1
  155. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts +1 -1
  156. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts.map +1 -1
  157. package/dist/types/generator/json/JsonGenerator.d.ts +8 -7
  158. package/dist/types/generator/json/JsonGenerator.d.ts.map +1 -1
  159. package/dist/types/generator/text/TextGenerator.d.ts +11 -12
  160. package/dist/types/generator/text/TextGenerator.d.ts.map +1 -1
  161. package/dist/types/index.d.ts +1 -0
  162. package/dist/types/index.d.ts.map +1 -1
  163. package/dist/types/model/ast/BreakscapedString.d.ts +4 -0
  164. package/dist/types/model/ast/BreakscapedString.d.ts.map +1 -0
  165. package/dist/types/model/ast/NodeType.d.ts +0 -2
  166. package/dist/types/model/ast/NodeType.d.ts.map +1 -1
  167. package/dist/types/model/ast/Nodes.d.ts +98 -106
  168. package/dist/types/model/ast/Nodes.d.ts.map +1 -1
  169. package/dist/types/model/ast/StardardString.d.ts +4 -0
  170. package/dist/types/model/ast/StardardString.d.ts.map +1 -0
  171. package/dist/types/model/config/enum/ConfigKey.d.ts +2 -6
  172. package/dist/types/model/config/enum/ConfigKey.d.ts.map +1 -1
  173. package/dist/types/model/config/enum/PropertyConfigKey.d.ts +3 -9
  174. package/dist/types/model/config/enum/PropertyConfigKey.d.ts.map +1 -1
  175. package/dist/types/model/enum/PropertyAstKey.d.ts +0 -2
  176. package/dist/types/model/enum/PropertyAstKey.d.ts.map +1 -1
  177. package/dist/types/model/enum/PropertyJsonKey.d.ts +1 -7
  178. package/dist/types/model/enum/PropertyJsonKey.d.ts.map +1 -1
  179. package/dist/types/model/enum/PropertyTag.d.ts +2 -6
  180. package/dist/types/model/enum/PropertyTag.d.ts.map +1 -1
  181. package/dist/types/model/json/BitJson.d.ts +2 -9
  182. package/dist/types/model/json/BitJson.d.ts.map +1 -1
  183. package/dist/types/model/json/BodyBitJson.d.ts +0 -2
  184. package/dist/types/model/json/BodyBitJson.d.ts.map +1 -1
  185. package/dist/types/parser/bitmark/peg/BitmarkPegParserProcessor.d.ts.map +1 -1
  186. package/dist/types/parser/bitmark/peg/BitmarkPegParserTypes.d.ts +36 -36
  187. package/dist/types/parser/bitmark/peg/BitmarkPegParserTypes.d.ts.map +1 -1
  188. package/dist/types/parser/bitmark/peg/BitmarkPegParserValidator.d.ts +4 -3
  189. package/dist/types/parser/bitmark/peg/BitmarkPegParserValidator.d.ts.map +1 -1
  190. package/dist/types/parser/bitmark/peg/contentProcessors/BookChainContentProcessor.d.ts.map +1 -1
  191. package/dist/types/parser/bitmark/peg/contentProcessors/CardContentProcessor.d.ts.map +1 -1
  192. package/dist/types/parser/bitmark/peg/contentProcessors/ClozeTagContentProcessor.d.ts.map +1 -1
  193. package/dist/types/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.d.ts.map +1 -1
  194. package/dist/types/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.d.ts.map +1 -1
  195. package/dist/types/parser/bitmark/peg/contentProcessors/GapChainContentProcessor.d.ts.map +1 -1
  196. package/dist/types/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.d.ts.map +1 -1
  197. package/dist/types/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.d.ts.map +1 -1
  198. package/dist/types/parser/bitmark/peg/contentProcessors/MarkChainContentProcessor.d.ts.map +1 -1
  199. package/dist/types/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.d.ts.map +1 -1
  200. package/dist/types/parser/bitmark/peg/contentProcessors/MarkTagContentProcessor.d.ts.map +1 -1
  201. package/dist/types/parser/bitmark/peg/contentProcessors/PartnerChainContentProcessor.d.ts.map +1 -1
  202. package/dist/types/parser/bitmark/peg/contentProcessors/ReferenceTagContentProcessor.d.ts.map +1 -1
  203. package/dist/types/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.d.ts.map +1 -1
  204. package/dist/types/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.d.ts +2 -1
  205. package/dist/types/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.d.ts.map +1 -1
  206. package/dist/types/parser/bitmark/peg/contentProcessors/TrueFalseTagContentProcessor.d.ts.map +1 -1
  207. package/dist/types/parser/json/JsonParser.d.ts +9 -0
  208. package/dist/types/parser/json/JsonParser.d.ts.map +1 -1
  209. package/package.json +1 -1
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JsonParser = void 0;
4
4
  const Builder_1 = require("../../ast/Builder");
5
5
  const ResourceBuilder_1 = require("../../ast/ResourceBuilder");
6
+ const Breakscape_1 = require("../../breakscaping/Breakscape");
6
7
  const Config_1 = require("../../config/Config");
7
8
  const TextGenerator_1 = require("../../generator/text/TextGenerator");
8
9
  const BitType_1 = require("../../model/enum/BitType");
@@ -10,6 +11,7 @@ const BodyBitType_1 = require("../../model/enum/BodyBitType");
10
11
  const ResourceTag_1 = require("../../model/enum/ResourceTag");
11
12
  const TextFormat_1 = require("../../model/enum/TextFormat");
12
13
  const StringUtils_1 = require("../../utils/StringUtils");
14
+ const TextParser_1 = require("../text/TextParser");
13
15
  const builder = new Builder_1.Builder();
14
16
  const resourceBuilder = new ResourceBuilder_1.ResourceBuilder();
15
17
  /**
@@ -18,6 +20,7 @@ const resourceBuilder = new ResourceBuilder_1.ResourceBuilder();
18
20
  class JsonParser {
19
21
  constructor() {
20
22
  this.textGenerator = new TextGenerator_1.TextGenerator();
23
+ this.textParser = new TextParser_1.TextParser();
21
24
  }
22
25
  /**
23
26
  * Convert JSON to AST.
@@ -165,86 +168,51 @@ class JsonParser {
165
168
  // Convert reference to referenceProperty
166
169
  const { reference, referenceProperty } = this.referenceToAst(referenceIn);
167
170
  // Build bit
168
- const bitNode = builder.bit(Object.assign(Object.assign(Object.assign({ bitType, textFormat: format, resourceType: resourceAttachmentType, id,
169
- externalId,
170
- spaceId,
171
- padletId,
172
- jupyterId,
173
- jupyterExecutionCount, aiGenerated: AIGenerated, releaseVersion,
174
- ageRange,
175
- lang,
176
- language,
177
- computerLanguage,
178
- target,
179
- tag,
180
- icon,
181
- iconTag,
182
- colorTag,
183
- flashcardSet,
184
- subtype,
185
- bookAlias,
186
- coverImage,
187
- publisher,
188
- publications,
189
- author,
190
- date,
191
- location,
192
- theme,
193
- kind,
194
- action,
195
- duration,
196
- referenceProperty,
197
- thumbImage,
198
- focusX,
199
- focusY,
200
- deeplink,
201
- externalLink,
202
- externalLinkText,
203
- videoCallLink,
204
- bot,
205
- list,
206
- textReference,
207
- isTracked,
208
- isInfoOnly,
209
- labelTrue,
210
- labelFalse,
211
- content2Buy,
212
- quotedPerson,
213
- reasonableNumOfChars,
214
- maxCreatedBits,
215
- book, title: this.parseText(title), subtitle: this.parseText(subtitle), level,
171
+ const bitNode = builder.bit(Object.assign(Object.assign(Object.assign({ bitType, textFormat: format, resourceType: resourceAttachmentType, id: this.parseText(id), externalId: this.parseText(externalId), spaceId: this.parseText(spaceId), padletId: this.parseText(padletId), jupyterId: this.parseText(jupyterId), jupyterExecutionCount, aiGenerated: AIGenerated, releaseVersion: this.parseText(releaseVersion), ageRange, lang: this.parseText(lang), language: this.parseText(language), computerLanguage: this.parseText(computerLanguage), target: this.parseText(target), tag: this.parseText(tag), icon: this.parseText(icon), iconTag: this.parseText(iconTag), colorTag: this.parseText(colorTag), flashcardSet: this.parseText(flashcardSet), subtype: this.parseText(subtype), bookAlias: this.parseText(bookAlias), coverImage: this.parseText(coverImage), publisher: this.parseText(publisher), publications: this.parseText(publications), author: this.parseText(author), date: this.parseText(date), location: this.parseText(location), theme: this.parseText(theme), kind: this.parseText(kind), action: this.parseText(action), duration: this.parseText(duration), referenceProperty: this.parseText(referenceProperty), thumbImage: this.parseText(thumbImage), focusX,
172
+ focusY, deeplink: this.parseText(deeplink), externalLink: this.parseText(externalLink), externalLinkText: this.parseText(externalLinkText), videoCallLink: this.parseText(videoCallLink), bot: this.parseText(bot), list: this.parseText(list), textReference: this.parseText(textReference), isTracked,
173
+ isInfoOnly, labelTrue: this.parseText(labelTrue), labelFalse: this.parseText(labelFalse), content2Buy: this.parseText(content2Buy), quotedPerson: this.parseText(quotedPerson), reasonableNumOfChars,
174
+ maxCreatedBits, book: this.parseText(book), title: this.parseText(title), subtitle: this.parseText(subtitle), level,
216
175
  toc,
217
- progress,
218
- anchor,
219
- reference,
220
- referenceEnd }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)), { imageSource: imageSourceNode, partner: partnerNode, markConfig: markConfigNode, resources: resourcesNode, body: bodyNode, sampleSolution: sampleSolution, elements, flashcards: flashcardNodes, statements: statementNodes, responses: responseNodes, quizzes: quizNodes, heading: headingNode, pairs: pairsNodes, matrix: matrixNodes, choices: choiceNodes, questions: questionNodes, botResponses: botResponseNodes, footer: footerNode }));
176
+ progress, anchor: this.parseText(anchor), reference: this.parseText(reference), referenceEnd: this.parseText(referenceEnd) }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)), { imageSource: imageSourceNode, partner: partnerNode, markConfig: markConfigNode, resources: resourcesNode, body: bodyNode, sampleSolution: this.parseText(sampleSolution), elements: this.parseText(elements), flashcards: flashcardNodes, statements: statementNodes, responses: responseNodes, quizzes: quizNodes, heading: headingNode, pairs: pairsNodes, matrix: matrixNodes, choices: choiceNodes, questions: questionNodes, botResponses: botResponseNodes, footer: footerNode }));
221
177
  return bitNode;
222
178
  }
223
179
  imageSourceBitToAst(imageSource) {
180
+ var _a, _b;
224
181
  let node;
225
182
  if (imageSource) {
226
183
  const { url, mockupId, format, size, trim } = imageSource;
227
- node = builder.imageSource({ url, mockupId, format, size, trim });
184
+ node = builder.imageSource({
185
+ url: (_a = this.parseText(url)) !== null && _a !== void 0 ? _a : Breakscape_1.Breakscape.EMPTY_STRING,
186
+ mockupId: (_b = this.parseText(mockupId)) !== null && _b !== void 0 ? _b : Breakscape_1.Breakscape.EMPTY_STRING,
187
+ format: this.parseText(format),
188
+ size,
189
+ trim,
190
+ });
228
191
  }
229
192
  return node;
230
193
  }
231
194
  partnerBitToAst(partner) {
195
+ var _a;
232
196
  let node;
233
197
  if (partner) {
234
198
  const avatarImage = this.resourceDataToAst(ResourceTag_1.ResourceTag.image, partner.avatarImage);
235
- node = builder.partner({ name: partner.name, avatarImage });
199
+ node = builder.partner({
200
+ name: (_a = this.parseText(partner.name)) !== null && _a !== void 0 ? _a : Breakscape_1.Breakscape.EMPTY_STRING,
201
+ avatarImage,
202
+ });
236
203
  }
237
204
  return node;
238
205
  }
239
206
  markConfigBitToAst(marks) {
207
+ var _a;
240
208
  const nodes = [];
241
209
  if (Array.isArray(marks)) {
242
210
  for (const m of marks) {
243
211
  const { mark, color, emphasis } = m;
244
212
  const node = builder.markConfig({
245
- mark,
246
- color,
247
- emphasis,
213
+ mark: (_a = this.parseText(mark)) !== null && _a !== void 0 ? _a : Breakscape_1.Breakscape.EMPTY_STRING,
214
+ color: this.parseText(color),
215
+ emphasis: this.parseText(emphasis),
248
216
  });
249
217
  nodes.push(node);
250
218
  }
@@ -254,13 +222,12 @@ class JsonParser {
254
222
  return nodes;
255
223
  }
256
224
  flashcardBitsToAst(flashcards) {
225
+ var _a;
257
226
  const nodes = [];
258
227
  if (Array.isArray(flashcards)) {
259
228
  for (const c of flashcards) {
260
229
  const { question, answer, alternativeAnswers, item, lead, hint, instruction, example } = c;
261
- const node = builder.flashcard(Object.assign(Object.assign({ question,
262
- answer,
263
- alternativeAnswers }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)));
230
+ const node = builder.flashcard(Object.assign(Object.assign({ question: (_a = this.parseText(question)) !== null && _a !== void 0 ? _a : Breakscape_1.Breakscape.EMPTY_STRING, answer: this.parseText(answer), alternativeAnswers: this.parseText(alternativeAnswers) }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)));
264
231
  nodes.push(node);
265
232
  }
266
233
  }
@@ -269,15 +236,16 @@ class JsonParser {
269
236
  return nodes;
270
237
  }
271
238
  statementBitsToAst(statement, isCorrect, statements, example) {
239
+ var _a, _b;
272
240
  const nodes = [];
273
241
  if (statement) {
274
- const node = builder.statement(Object.assign({ text: statement, isCorrect: isCorrect !== null && isCorrect !== void 0 ? isCorrect : false }, this.parseExample(example)));
242
+ const node = builder.statement(Object.assign({ text: (_a = this.parseText(statement)) !== null && _a !== void 0 ? _a : Breakscape_1.Breakscape.EMPTY_STRING, isCorrect: isCorrect !== null && isCorrect !== void 0 ? isCorrect : false }, this.parseExample(example)));
275
243
  nodes.push(node);
276
244
  }
277
245
  if (Array.isArray(statements)) {
278
246
  for (const s of statements) {
279
- const { statement, isCorrect, item, lead, hint, instruction, example, isCaseSensitive } = s;
280
- const node = builder.statement(Object.assign(Object.assign(Object.assign({ text: statement, isCorrect }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)), { isCaseSensitive }));
247
+ const { statement, isCorrect, item, lead, hint, instruction, example } = s;
248
+ const node = builder.statement(Object.assign(Object.assign({ text: (_b = this.parseText(statement)) !== null && _b !== void 0 ? _b : Breakscape_1.Breakscape.EMPTY_STRING, isCorrect }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)));
281
249
  nodes.push(node);
282
250
  }
283
251
  }
@@ -286,11 +254,12 @@ class JsonParser {
286
254
  return nodes;
287
255
  }
288
256
  choiceBitsToAst(choices) {
257
+ var _a;
289
258
  const nodes = [];
290
259
  if (Array.isArray(choices)) {
291
260
  for (const c of choices) {
292
- const { choice, isCorrect, item, lead, hint, instruction, example, isCaseSensitive } = c;
293
- const node = builder.choice(Object.assign(Object.assign(Object.assign({ text: choice, isCorrect }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)), { isCaseSensitive }));
261
+ const { choice, isCorrect, item, lead, hint, instruction, example } = c;
262
+ const node = builder.choice(Object.assign(Object.assign({ text: (_a = this.parseText(choice)) !== null && _a !== void 0 ? _a : Breakscape_1.Breakscape.EMPTY_STRING, isCorrect }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)));
294
263
  nodes.push(node);
295
264
  }
296
265
  }
@@ -299,14 +268,15 @@ class JsonParser {
299
268
  return nodes;
300
269
  }
301
270
  responseBitsToAst(bitType, responses) {
271
+ var _a;
302
272
  const nodes = [];
303
273
  // Return early if bot response as the responses should be interpreted as bot responses
304
274
  if (bitType.root === BitType_1.RootBitType.botActionResponse)
305
275
  return undefined;
306
276
  if (Array.isArray(responses)) {
307
277
  for (const r of responses) {
308
- const { response, isCorrect, item, lead, hint, instruction, example, isCaseSensitive } = r;
309
- const node = builder.response(Object.assign(Object.assign(Object.assign({ text: response, isCorrect }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)), { isCaseSensitive }));
278
+ const { response, isCorrect, item, lead, hint, instruction, example } = r;
279
+ const node = builder.response(Object.assign(Object.assign({ text: (_a = this.parseText(response)) !== null && _a !== void 0 ? _a : Breakscape_1.Breakscape.EMPTY_STRING, isCorrect }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)));
310
280
  nodes.push(node);
311
281
  }
312
282
  }
@@ -315,25 +285,25 @@ class JsonParser {
315
285
  return nodes;
316
286
  }
317
287
  selectOptionBitsToAst(options) {
288
+ var _a;
318
289
  const nodes = [];
319
290
  if (Array.isArray(options)) {
320
291
  for (const o of options) {
321
- const { text, isCorrect, item, lead, hint, instruction, example, isCaseSensitive } = o;
322
- const node = builder.selectOption(Object.assign(Object.assign(Object.assign({ text,
323
- isCorrect }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)), { isCaseSensitive }));
292
+ const { text, isCorrect, item, lead, hint, instruction, example } = o;
293
+ const node = builder.selectOption(Object.assign(Object.assign({ text: (_a = this.parseText(text)) !== null && _a !== void 0 ? _a : Breakscape_1.Breakscape.EMPTY_STRING, isCorrect }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)));
324
294
  nodes.push(node);
325
295
  }
326
296
  }
327
297
  return nodes;
328
298
  }
329
299
  highlightTextBitsToAst(highlightTexts) {
300
+ var _a;
330
301
  const nodes = [];
331
302
  if (Array.isArray(highlightTexts)) {
332
303
  for (const t of highlightTexts) {
333
- const { text, isCorrect, isHighlighted, item, lead, hint, instruction, example, isCaseSensitive } = t;
334
- const node = builder.highlightText(Object.assign(Object.assign(Object.assign({ text,
335
- isCorrect,
336
- isHighlighted }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)), { isCaseSensitive }));
304
+ const { text, isCorrect, isHighlighted, item, lead, hint, instruction, example } = t;
305
+ const node = builder.highlightText(Object.assign(Object.assign({ text: (_a = this.parseText(text)) !== null && _a !== void 0 ? _a : Breakscape_1.Breakscape.EMPTY_STRING, isCorrect,
306
+ isHighlighted }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)));
337
307
  nodes.push(node);
338
308
  }
339
309
  }
@@ -355,20 +325,25 @@ class JsonParser {
355
325
  return nodes;
356
326
  }
357
327
  headingBitToAst(heading) {
328
+ var _a, _b;
358
329
  let node;
359
330
  if (heading) {
360
- node = builder.heading({ forKeys: heading.forKeys, forValues: heading.forValues });
331
+ node = builder.heading({
332
+ forKeys: (_a = this.parseText(heading.forKeys)) !== null && _a !== void 0 ? _a : Breakscape_1.Breakscape.EMPTY_STRING,
333
+ forValues: (_b = this.parseText(heading.forValues)) !== null && _b !== void 0 ? _b : [],
334
+ });
361
335
  }
362
336
  return node;
363
337
  }
364
338
  pairBitsToAst(pairs) {
339
+ var _a;
365
340
  const nodes = [];
366
341
  if (Array.isArray(pairs)) {
367
342
  for (const p of pairs) {
368
- const { key, keyAudio, keyImage, values, item, lead, hint, instruction, example, isCaseSensitive, isLongAnswer, } = p;
343
+ const { key, keyAudio, keyImage, values, item, lead, hint, instruction, example, isCaseSensitive } = p;
369
344
  const audio = this.resourceDataToAst(ResourceTag_1.ResourceTag.audio, keyAudio);
370
345
  const image = this.resourceDataToAst(ResourceTag_1.ResourceTag.image, keyImage);
371
- const node = builder.pair(Object.assign(Object.assign(Object.assign({ key, keyAudio: audio, keyImage: image, values }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)), { isCaseSensitive, isShortAnswer: !isLongAnswer }));
346
+ const node = builder.pair(Object.assign(Object.assign(Object.assign({ key: this.parseText(key), keyAudio: audio, keyImage: image, values: (_a = this.parseText(values)) !== null && _a !== void 0 ? _a : [] }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)), { isCaseSensitive }));
372
347
  nodes.push(node);
373
348
  }
374
349
  }
@@ -377,12 +352,12 @@ class JsonParser {
377
352
  return nodes;
378
353
  }
379
354
  matrixBitsToAst(matrix) {
380
- var _a;
355
+ var _a, _b;
381
356
  const nodes = [];
382
357
  if (Array.isArray(matrix)) {
383
358
  for (const m of matrix) {
384
- const { key, cells, item, lead, hint, instruction, example, isCaseSensitive, isLongAnswer } = m;
385
- const node = builder.matrix(Object.assign(Object.assign(Object.assign({ key, cells: (_a = this.matrixCellsToAst(cells)) !== null && _a !== void 0 ? _a : [] }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)), { isCaseSensitive, isShortAnswer: !isLongAnswer }));
359
+ const { key, cells, item, lead, hint, instruction, example } = m;
360
+ const node = builder.matrix(Object.assign(Object.assign({ key: (_a = this.parseText(key)) !== null && _a !== void 0 ? _a : Breakscape_1.Breakscape.EMPTY_STRING, cells: (_b = this.matrixCellsToAst(cells)) !== null && _b !== void 0 ? _b : [] }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)));
386
361
  nodes.push(node);
387
362
  }
388
363
  }
@@ -391,11 +366,12 @@ class JsonParser {
391
366
  return nodes;
392
367
  }
393
368
  matrixCellsToAst(matrixCells) {
369
+ var _a;
394
370
  const nodes = [];
395
371
  if (Array.isArray(matrixCells)) {
396
372
  for (const mc of matrixCells) {
397
- const { values, item, lead, hint, instruction, example } = mc;
398
- const node = builder.matrixCell(Object.assign(Object.assign({ values }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)));
373
+ const { values, item, lead, hint, instruction, isCaseSensitive, example } = mc;
374
+ const node = builder.matrixCell(Object.assign(Object.assign(Object.assign({ values: (_a = this.parseText(values)) !== null && _a !== void 0 ? _a : [] }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), { isCaseSensitive }), this.parseExample(example)));
399
375
  nodes.push(node);
400
376
  }
401
377
  }
@@ -404,15 +380,12 @@ class JsonParser {
404
380
  return nodes;
405
381
  }
406
382
  questionBitsToAst(questions) {
383
+ var _a;
407
384
  const nodes = [];
408
385
  if (Array.isArray(questions)) {
409
386
  for (const q of questions) {
410
- const { question, partialAnswer, sampleSolution, item, lead, hint, instruction, example, isCaseSensitive, isShortAnswer, reasonableNumOfChars, } = q;
411
- const node = builder.question(Object.assign(Object.assign(Object.assign({ question,
412
- partialAnswer,
413
- sampleSolution }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)), { isCaseSensitive,
414
- isShortAnswer,
415
- reasonableNumOfChars }));
387
+ const { question, partialAnswer, sampleSolution, item, lead, hint, instruction, example, reasonableNumOfChars, } = q;
388
+ const node = builder.question(Object.assign(Object.assign(Object.assign({ question: (_a = this.parseText(question)) !== null && _a !== void 0 ? _a : Breakscape_1.Breakscape.EMPTY_STRING, partialAnswer: this.parseText(partialAnswer), sampleSolution: this.parseText(sampleSolution) }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)), { reasonableNumOfChars }));
416
389
  nodes.push(node);
417
390
  }
418
391
  }
@@ -421,6 +394,7 @@ class JsonParser {
421
394
  return nodes;
422
395
  }
423
396
  botResponseBitsToAst(bitType, responses) {
397
+ var _a, _b, _c;
424
398
  const nodes = [];
425
399
  // Return early if NOT bot response as the responses should be interpreted as standard responses
426
400
  if (bitType.root !== BitType_1.RootBitType.botActionResponse)
@@ -429,9 +403,9 @@ class JsonParser {
429
403
  for (const r of responses) {
430
404
  const { response, reaction, feedback, item, lead, hint } = r;
431
405
  const node = builder.botResponse({
432
- response,
433
- reaction,
434
- feedback,
406
+ response: (_a = this.parseText(response)) !== null && _a !== void 0 ? _a : Breakscape_1.Breakscape.EMPTY_STRING,
407
+ reaction: (_b = this.parseText(reaction)) !== null && _b !== void 0 ? _b : Breakscape_1.Breakscape.EMPTY_STRING,
408
+ feedback: (_c = this.parseText(feedback)) !== null && _c !== void 0 ? _c : Breakscape_1.Breakscape.EMPTY_STRING,
435
409
  item: this.parseText(item),
436
410
  lead: this.parseText(lead),
437
411
  hint: this.parseText(hint),
@@ -509,19 +483,19 @@ class JsonParser {
509
483
  node = resourceBuilder.resource({
510
484
  type,
511
485
  // Generic (except Article / Document)
512
- value: url,
486
+ value: this.parseText(url),
513
487
  // ImageLikeResource / AudioLikeResource / VideoLikeResource / Article / Document
514
- format: data.format,
488
+ format: this.parseText(data.format),
515
489
  // ImageLikeResource
516
- src1x: data.src1x,
517
- src2x: data.src2x,
518
- src3x: data.src3x,
519
- src4x: data.src4x,
490
+ src1x: this.parseText(data.src1x),
491
+ src2x: this.parseText(data.src2x),
492
+ src3x: this.parseText(data.src3x),
493
+ src4x: this.parseText(data.src4x),
520
494
  caption: this.parseText(data.caption),
521
495
  // ImageLikeResource / VideoLikeResource
522
496
  width: (_a = data.width) !== null && _a !== void 0 ? _a : undefined,
523
497
  height: (_b = data.height) !== null && _b !== void 0 ? _b : undefined,
524
- alt: data.alt,
498
+ alt: this.parseText(data.alt),
525
499
  // VideoLikeResource
526
500
  duration: data.duration,
527
501
  mute: data.mute,
@@ -531,10 +505,10 @@ class JsonParser {
531
505
  posterImage,
532
506
  thumbnails,
533
507
  // WebsiteLinkResource
534
- siteName: data.siteName,
508
+ siteName: this.parseText(data.siteName),
535
509
  // Generic Resource
536
- license: data.license,
537
- copyright: data.copyright,
510
+ license: this.parseText(data.license),
511
+ copyright: this.parseText(data.copyright),
538
512
  showInIndex: data.showInIndex,
539
513
  });
540
514
  }
@@ -583,7 +557,8 @@ class JsonParser {
583
557
  return node;
584
558
  }
585
559
  bodyTextToAst(bodyText) {
586
- return builder.bodyText({ text: bodyText });
560
+ var _a;
561
+ return builder.bodyText({ text: (_a = this.parseText(bodyText)) !== null && _a !== void 0 ? _a : Breakscape_1.Breakscape.EMPTY_STRING });
587
562
  }
588
563
  bodyBitToAst(bit) {
589
564
  switch (bit.type) {
@@ -626,16 +601,17 @@ class JsonParser {
626
601
  };
627
602
  }
628
603
  gapBitToAst(bit) {
604
+ var _a;
629
605
  const { item, lead, hint, instruction, example, isCaseSensitive, solutions } = bit;
630
606
  // Build bit
631
- const bitNode = builder.gap(Object.assign(Object.assign(Object.assign({ solutions }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)), { isCaseSensitive }));
607
+ const bitNode = builder.gap(Object.assign(Object.assign(Object.assign({ solutions: (_a = this.parseText(solutions)) !== null && _a !== void 0 ? _a : [] }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)), { isCaseSensitive }));
632
608
  return bitNode;
633
609
  }
634
610
  markBitToAst(bit) {
611
+ var _a;
635
612
  const { solution, mark, item, lead, hint, instruction, example } = bit;
636
613
  // Build bit
637
- const bitNode = builder.mark(Object.assign(Object.assign({ solution,
638
- mark }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)));
614
+ const bitNode = builder.mark(Object.assign(Object.assign({ solution: (_a = this.parseText(solution)) !== null && _a !== void 0 ? _a : Breakscape_1.Breakscape.EMPTY_STRING, mark: this.parseText(mark) }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)));
639
615
  return bitNode;
640
616
  }
641
617
  selectBitToAst(bit) {
@@ -643,8 +619,7 @@ class JsonParser {
643
619
  // Build options bits
644
620
  const selectOptionNodes = this.selectOptionBitsToAst(options);
645
621
  // Build bit
646
- const node = builder.select(Object.assign(Object.assign(Object.assign({ options: selectOptionNodes, prefix,
647
- postfix }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)), { isCaseSensitive: true }));
622
+ const node = builder.select(Object.assign(Object.assign({ options: selectOptionNodes, prefix: this.parseText(prefix), postfix: this.parseText(postfix) }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)));
648
623
  return node;
649
624
  }
650
625
  highlightBitToAst(bit) {
@@ -652,8 +627,7 @@ class JsonParser {
652
627
  // Build options bits
653
628
  const highlightTextNodes = this.highlightTextBitsToAst(texts);
654
629
  // Build bit
655
- const node = builder.highlight(Object.assign(Object.assign(Object.assign({ texts: highlightTextNodes, prefix,
656
- postfix }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)), { isCaseSensitive: true }));
630
+ const node = builder.highlight(Object.assign(Object.assign({ texts: highlightTextNodes, prefix: this.parseText(prefix), postfix: this.parseText(postfix) }, this.parseItemLeadHintInstruction(item, lead, hint, instruction)), this.parseExample(example)));
657
631
  return node;
658
632
  }
659
633
  parseItemLeadHintInstruction(item, lead, hint, instruction) {
@@ -673,15 +647,38 @@ class JsonParser {
673
647
  }
674
648
  return { example: !!example };
675
649
  }
650
+ /**
651
+ * Parse the text from the JSON to convert it to the breakscaped format
652
+ * The text in is either a string or TextAst.
653
+ *
654
+ * @param text string or TextAst or string[] or TextAst[]
655
+ * @param textFormat format of TextAst
656
+ * @returns Breakscaped string or breakscaped string[]
657
+ */
676
658
  parseText(text, textFormat) {
677
659
  if (text == null)
678
660
  return undefined;
679
- if (Array.isArray(text)) {
661
+ if (this.textParser.isAst(text)) {
680
662
  // this.ast.printTree(text, NodeType.textAst);
681
663
  const parsedText = this.textGenerator.generateSync(text, textFormat);
682
664
  return parsedText;
683
665
  }
684
- return text;
666
+ else if (Array.isArray(text)) {
667
+ const strArray = [];
668
+ for (let i = 0, len = text.length; i < len; i++) {
669
+ const t = text[i];
670
+ if (this.textParser.isAst(t)) {
671
+ // this.ast.printTree(text, NodeType.textAst);
672
+ const parsedText = this.textGenerator.generateSync(t, textFormat);
673
+ strArray[i] = parsedText;
674
+ }
675
+ else {
676
+ strArray[i] = Breakscape_1.Breakscape.breakscape(t);
677
+ }
678
+ }
679
+ return strArray;
680
+ }
681
+ return Breakscape_1.Breakscape.breakscape(text);
685
682
  }
686
683
  }
687
684
  exports.JsonParser = JsonParser;
@@ -1 +1 @@
1
- {"version":3,"file":"JsonParser.js","sourceRoot":"","sources":["../../../../src/parser/json/JsonParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonParser.js","sourceRoot":"","sources":["../../../../src/parser/json/JsonParser.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,+DAA4D;AAC5D,8DAA2D;AAC3D,gDAA6C;AAC7C,sEAAmE;AAGnE,sDAAgE;AAChE,8DAA2D;AAC3D,8DAA4E;AAC5E,4DAAyE;AAEzE,yDAAsD;AACtD,mDAAgD;AAqFhD,MAAM,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;AAC9B,MAAM,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;AAE9C;;GAEG;AACH,MAAM,UAAU;IAId;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,6BAAa,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAa;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAsB,EAAE,CAAC;QAExC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;YAE3B,mBAAmB;YACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,QAAQ,EAAE;gBACZ,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC1B;SACF;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7D,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAElC,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,IAAsB;QACnC,MAAM,WAAW,GAAqB,EAAE,CAAC;QAEzC,IAAI,yBAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC9B,MAAM,GAAG,GAAG,IAAc,CAAC;YAC3B,IAAI;gBACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACxB;YAAC,OAAO,CAAC,EAAE;gBACV,2CAA2C;gBAC3C,OAAO,EAAE,CAAC;aACX;SACF;QAED,+GAA+G;QAC/G,MAAM,oBAAoB,GAAG,CAAC,IAAa,EAAQ,EAAE;YACnD,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;gBAC3B,MAAM,CAAC,GAAG,IAAsB,CAAC;gBACjC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACrB;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBAC3B,MAAM,CAAC,GAAG,IAAe,CAAC;gBAC1B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC;QAEF,qGAAqG;QACrG,mBAAmB;QACnB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;gBACvB,oBAAoB,CAAC,IAAI,CAAC,CAAC;aAC5B;SACF;aAAM;YACL,oBAAoB,CAAC,IAAI,CAAC,CAAC;SAC5B;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,UAAmB;QAC9B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;YAC3D,MAAM,CAAC,GAAG,UAA4B,CAAC;YACvC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SAC1B;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAY;QAChB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE;YACrD,MAAM,CAAC,GAAG,GAAc,CAAC;YACzB,OAAO,eAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,qBAAW,CAAC,MAAM,CAAC;SAC9D;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,GAAY;QAC1B,OAAO;YACL,GAAG;SACJ,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,GAAY;;QAC3B,MAAM,EACJ,IAAI,EACJ,MAAM,EACN,EAAE,EACF,UAAU,EACV,OAAO,EACP,QAAQ,EACR,SAAS,EACT,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,MAAM,EACN,GAAG,EACH,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,MAAM,EACN,UAAU,EACV,MAAM,EACN,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,GAAG,EACH,IAAI,EACJ,aAAa,EACb,SAAS,EACT,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,GAAG,EACH,QAAQ,EACR,MAAM,EACN,SAAS,EAAE,WAAW,EACtB,YAAY,EACZ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,OAAO,EACP,WAAW,EACX,OAAO,EACP,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,cAAc,EACd,QAAQ,EACR,SAAS,EACT,SAAS,EACT,KAAK,EACL,UAAU,EACV,SAAS,EACT,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EACN,OAAO,EACP,SAAS,EACT,MAAM,EACN,YAAY,GACb,GAAG,GAAG,CAAC;QAER,WAAW;QACX,MAAM,OAAO,GAAG,eAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAExC,cAAc;QACd,MAAM,UAAU,GAAG,MAAA,uBAAU,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAI,uBAAU,CAAC,iBAAiB,CAAC;QAEhF,4BAA4B;QAC5B,MAAM,sBAAsB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE9D,cAAc;QACd,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAEtD,sBAAsB;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAEhE,cAAc;QACd,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAE9D,UAAU;QACV,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAElD,cAAc;QACd,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEtD,aAAa;QACb,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEtD,aAAa;QACb,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAE1F,YAAY;QACZ,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAA2B,CAAC,CAAC;QAEnF,UAAU;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEvD,UAAU;QACV,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAElD,QAAQ;QACR,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE7C,SAAS;QACT,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAEjD,UAAU;QACV,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAElD,YAAY;QACZ,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAExD,eAAe;QACf,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAA8B,CAAC,CAAC;QAE5F,SAAS;QACT,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAExD,yCAAyC;QACzC,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAE1E,YAAY;QACZ,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,6CACzB,OAAO,EACP,UAAU,EAAE,MAAwB,EACpC,YAAY,EAAE,sBAAsB,EACpC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EACtB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EACtC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAChC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAClC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EACpC,qBAAqB,EACrB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAC9C,QAAQ,EACR,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAC1B,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAClC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAClD,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAC9B,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EACxB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAC1B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAChC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAClC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAC1C,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAChC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EACpC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EACtC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EACpC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAC1C,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAC9B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAC1B,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAClC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAC1B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAC9B,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAClC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EACpD,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EACtC,MAAM;YACN,MAAM,EACN,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAClC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAC1C,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAClD,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAC5C,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EACxB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAC1B,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAC5C,SAAS;YACT,UAAU,EACV,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EACpC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EACtC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EACxC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAC1C,oBAAoB;YACpB,cAAc,EACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAC1B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAC5B,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAClC,KAAK;YACL,GAAG;YACH,QAAQ,EACR,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAC9B,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EACpC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IACvC,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAC7B,WAAW,EAAE,eAAe,EAC5B,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,cAAc,EAC1B,SAAS,EAAE,aAAa,EACxB,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAC9C,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAClC,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,cAAc,EAC1B,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,YAAY,EAAE,gBAAgB,EAC9B,MAAM,EAAE,UAAU,IAClB,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,mBAAmB,CAAC,WAA6B;;QACvD,IAAI,IAA6B,CAAC;QAElC,IAAI,WAAW,EAAE;YACf,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;YAC1D,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;gBACzB,GAAG,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mCAAI,uBAAU,CAAC,YAAY;gBACnD,QAAQ,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mCAAI,uBAAU,CAAC,YAAY;gBAC7D,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC9B,IAAI;gBACJ,IAAI;aACL,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,eAAe,CAAC,OAAqB;;QAC3C,IAAI,IAAyB,CAAC;QAE9B,IAAI,OAAO,EAAE;YACX,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,yBAAW,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAA8B,CAAC;YAChH,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;gBACrB,IAAI,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAI,uBAAU,CAAC,YAAY;gBAC7D,WAAW;aACZ,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,kBAAkB,CAAC,KAAwB;;QACjD,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;gBACrB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;oBAC9B,IAAI,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mCAAI,uBAAU,CAAC,YAAY;oBACrD,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;oBAC5B,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;iBACnC,CAAC,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,kBAAkB,CAAC,UAA4B;;QACrD,MAAM,KAAK,GAAgB,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;gBAC1B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC3F,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,+BAC5B,QAAQ,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mCAAI,uBAAU,CAAC,YAAY,EAC7D,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAC9B,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IACnD,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC7B,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,kBAAkB,CACxB,SAAkB,EAClB,SAAmB,EACnB,UAA4B,EAC5B,OAAqB;;QAErB,MAAM,KAAK,GAAgB,EAAE,CAAC;QAE9B,IAAI,SAAS,EAAE;YACb,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,iBAC5B,IAAI,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,mCAAI,uBAAU,CAAC,YAAY,EAC1D,SAAS,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,KAAK,IAC1B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC7B,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClB;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;gBAC1B,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC3E,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,+BAC5B,IAAI,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,mCAAI,uBAAU,CAAC,YAAY,EAC1D,SAAS,IACN,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC7B,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,eAAe,CAAC,OAAsB;;QAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;gBACvB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBACxE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,+BACzB,IAAI,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAI,uBAAU,CAAC,YAAY,EACvD,SAAS,IACN,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC7B,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iBAAiB,CAAC,OAAgB,EAAE,SAA0B;;QACpE,MAAM,KAAK,GAAe,EAAE,CAAC;QAE7B,uFAAuF;QACvF,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAW,CAAC,iBAAiB;YAAE,OAAO,SAAS,CAAC;QAErE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE;gBACzB,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,+BAC3B,IAAI,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mCAAI,uBAAU,CAAC,YAAY,EACzD,SAAS,IACN,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC7B,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,qBAAqB,CAAC,OAA4B;;QACxD,MAAM,KAAK,GAAmB,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;gBACvB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBACtE,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,+BAC/B,IAAI,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mCAAI,uBAAU,CAAC,YAAY,EACrD,SAAS,IACN,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC7B,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,sBAAsB,CAAC,cAAoC;;QACjE,MAAM,KAAK,GAAoB,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YACjC,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE;gBAC9B,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBACrF,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,+BAChC,IAAI,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mCAAI,uBAAU,CAAC,YAAY,EACrD,SAAS;oBACT,aAAa,IACV,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC7B,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,aAAa,CAAC,OAAgB,EAAE,OAAoB;QAC1D,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;gBACvB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;gBAChE,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAClD,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACjE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,iCACpB,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,KACnE,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,IACxB,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,eAAe,CAAC,OAAqB;;QAC3C,IAAI,IAAyB,CAAC;QAC9B,IAAI,OAAO,EAAE;YACX,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;gBACrB,OAAO,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,mCAAI,uBAAU,CAAC,YAAY;gBACnE,SAAS,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,mCAAI,EAAE;aACnD,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa,CAAC,KAAkB;;QACtC,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;gBACrB,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;gBAEvG,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,yBAAW,CAAC,KAAK,EAAE,QAAQ,CAAkB,CAAC;gBACnF,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,yBAAW,CAAC,KAAK,EAAE,QAAQ,CAAkB,CAAC;gBAEnF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,6CACvB,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EACxB,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,KAAK,EACf,MAAM,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAI,EAAE,IACjC,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAC7B,eAAe,IACf,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,eAAe,CAAC,MAAqB;;QAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;gBACtB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBACjE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,+BACzB,GAAG,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mCAAI,uBAAU,CAAC,YAAY,EACnD,KAAK,EAAE,MAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,mCAAI,EAAE,IACtC,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC7B,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,gBAAgB,CAAC,WAA8B;;QACrD,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC9B,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE;gBAC5B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;gBAE/E,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,6CAC7B,MAAM,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAI,EAAE,IACjC,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,KACnE,eAAe,KACZ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC7B,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iBAAiB,CAAC,SAA0B;;QAClD,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE;gBACzB,MAAM,EACJ,QAAQ,EACR,aAAa,EACb,cAAc,EACd,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,OAAO,EACP,oBAAoB,GACrB,GAAG,CAAC,CAAC;gBACN,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,6CAC3B,QAAQ,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mCAAI,uBAAU,CAAC,YAAY,EAC7D,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAC5C,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAC3C,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAC7B,oBAAoB,IACpB,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,oBAAoB,CAAC,OAAgB,EAAE,SAA6B;;QAC1E,MAAM,KAAK,GAAkB,EAAE,CAAC;QAEhC,gGAAgG;QAChG,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAW,CAAC,iBAAiB;YAAE,OAAO,SAAS,CAAC;QAErE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE;gBACzB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;oBAC/B,QAAQ,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mCAAI,uBAAU,CAAC,YAAY;oBAC7D,QAAQ,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mCAAI,uBAAU,CAAC,YAAY;oBAC7D,QAAQ,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mCAAI,uBAAU,CAAC,YAAY;oBAC7D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;iBAC3B,CAAC,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,eAAe,CAAC,QAAuB;QAC7C,IAAI,QAAQ,EAAE;YACZ,MAAM,WAAW,GAAG,yBAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzD,OAAO,WAAW,CAAC;SACpB;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,gBAAgB,CAAC,QAAuB;;QAC9C,MAAM,KAAK,GAA2B,EAAE,CAAC;QAEzC,IAAI,QAAQ,EAAE;YACZ,MAAM,WAAW,GAAG,MAAA,yBAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,mCAAI,yBAAW,CAAC,OAAO,CAAC;YACnF,IAAI,IAAkC,CAAC;YAEvC,sGAAsG;YAEtG,oFAAoF;YACpF,IAAI,QAAQ,CAAC,IAAI,KAAK,yBAAW,CAAC,eAAe,EAAE;gBACjD,MAAM,CAAC,GAAG,QAAkD,CAAC;gBAC7D,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,yBAAW,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;gBAC7F,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAC/C,yBAAW,CAAC,cAAc,EAC1B,CAAC,CAAC,cAAc,CACA,CAAC;gBACnB,IAAI,iBAAiB;oBAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACrD,IAAI,kBAAkB;oBAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aACxD;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,yBAAW,CAAC,cAAc,EAAE;gBACvD,MAAM,CAAC,GAAG,QAAiD,CAAC;gBAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,yBAAW,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACrE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,yBAAW,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACrE,IAAI,SAAS;oBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrC,IAAI,SAAS;oBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACtC;iBAAM;gBACL,gCAAgC;gBAEhC,8DAA8D;gBAC9D,IAAI,GAAI,QAAgB,CAAC,WAAW,CAAC,CAAC;gBAEtC,IAAI,CAAC,IAAI;oBAAE,OAAO,SAAS,CAAC;gBAE5B,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACzD,IAAI,IAAI;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5B;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iBAAiB,CAAC,IAAqB,EAAE,IAAgC;;QAC/E,IAAI,IAA0B,CAAC;QAE/B,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,IAAI;gBAAE,OAAO,SAAS,CAAC;YAE5B,MAAM,YAAY,GAAuB,yBAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YAEnG,yBAAyB;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC;YAEvF,gBAAgB;YAChB,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,yBAAW,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAkB,CAAC;YACjG,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;gBAChC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,yBAAW,CAAC,KAAK,EAAE,CAAC,CAAkB,CAAC;gBACvE,CAAC,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAC;YAEd,WAAW;YACX,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC;gBAC9B,IAAI;gBAEJ,sCAAsC;gBACtC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;gBAE1B,iFAAiF;gBACjF,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;gBAEnC,oBAAoB;gBACpB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;gBAErC,wCAAwC;gBACxC,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,SAAS;gBAC9B,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,SAAS;gBAChC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;gBAE7B,oBAAoB;gBACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,WAAW;gBACX,UAAU;gBAEV,sBAAsB;gBACtB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAEvC,mBAAmB;gBACnB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;gBACrC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzC,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,SAAS,CAAC,IAAU,EAAE,UAA0B,EAAE,YAA0B;QAClF,IAAI,IAAsB,CAAC;QAC3B,IAAI,OAA2B,CAAC;QAChC,MAAM,gBAAgB,GAElB,EAAE,CAAC;QAEP,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,2CAA2C;YAE3C,wDAAwD;YACxD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAE3C,4CAA4C;YAC5C,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;SACrD;aAAM;YACL,4BAA4B;YAC5B,OAAO,GAAG,IAAI,CAAC;SAChB;QAED,eAAe;QACf,IAAI,YAAY,EAAE;YAChB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBACrD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBACnC,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAc,CAAC;aACxC;SACF;QAED,IAAI,OAAO,EAAE;YACX,oDAAoD;YACpD,MAAM,aAAa,GAAe,EAAE,CAAC;YACrC,MAAM,SAAS,GAAa,yBAAW,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAElG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAE9B,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE;oBAC9B,0BAA0B;oBAC1B,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;iBAChD;qBAAM;oBACL,gBAAgB;oBAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC9C,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC9B;aACF;YAED,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;SACnD;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa,CAAC,QAAgB;;QACpC,OAAO,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mCAAI,uBAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IACzF,CAAC;IAEO,YAAY,CAAC,GAAgB;QACnC,QAAQ,GAAG,CAAC,IAAI,EAAE;YAChB,KAAK,yBAAW,CAAC,GAAG,CAAC,CAAC;gBACpB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAClC,OAAO,GAAG,CAAC;aACZ;YACD,KAAK,yBAAW,CAAC,IAAI,CAAC,CAAC;gBACrB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBACpC,OAAO,IAAI,CAAC;aACb;YACD,KAAK,yBAAW,CAAC,MAAM,CAAC,CAAC;gBACvB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBACxC,OAAO,MAAM,CAAC;aACf;YACD,KAAK,yBAAW,CAAC,SAAS,CAAC,CAAC;gBAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBAC/C,OAAO,UAAU,CAAC;aACnB;SACF;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAEO,WAAW,CAAC,UAAgB,EAAE,UAA0B;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEpD,IAAI,IAAI,EAAE;YACR,OAAO,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACrC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,cAAc,CAAC,SAA4B;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACpD,OAAO;gBACL,SAAS,EAAE,SAAS;gBACpB,iBAAiB,EAAE,SAAS;aAC7B,CAAC;SACH;QAED,OAAO;YACL,SAAS,EAAE,SAAmB;YAC9B,iBAAiB,EAAE,SAAS;SAC7B,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,GAAY;;QAC9B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;QAEnF,YAAY;QACZ,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,6CACzB,SAAS,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,mCAAI,EAAE,IACvC,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAC7B,eAAe,IACf,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,YAAY,CAAC,GAAa;;QAChC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAEvE,YAAY;QACZ,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,+BAC1B,QAAQ,EAAE,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mCAAI,uBAAU,CAAC,YAAY,EAC7D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IACvB,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC7B,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,cAAc,CAAC,GAAe;QACpC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAEjF,qBAAqB;QACrB,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAE9D,YAAY;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,+BACzB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAC9B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAC7B,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC7B,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,iBAAiB,CAAC,GAAkB;QAC1C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAE/E,qBAAqB;QACrB,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAE9D,YAAY;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,+BAC5B,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAC9B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAC7B,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC7B,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,4BAA4B,CAAC,IAAU,EAAE,IAAU,EAAE,IAAU,EAAE,WAAiB;QACxF,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SACzC,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,OAAgC;QACnD,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAiB,CAAC,CAAC;QACrD,IAAI,UAAU,EAAE;YACd,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;SAChC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACK,SAAS,CACf,IAAO,EACP,UAA2B;QAI3B,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC;QACnC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC/B,8CAA8C;YAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAe,EAAE,UAAU,CAAC,CAAC;YAEhF,OAAO,UAAe,CAAC;SACxB;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC9B,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAElB,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBAC5B,8CAA8C;oBAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAY,EAAE,UAAU,CAAC,CAAC;oBAE7E,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;iBAC1B;qBAAM;oBACL,QAAQ,CAAC,CAAC,CAAC,GAAG,uBAAU,CAAC,UAAU,CAAC,CAAW,CAAC,CAAC;iBAClD;aACF;YACD,OAAO,QAAa,CAAC;SACtB;QAED,OAAO,uBAAU,CAAC,UAAU,CAAC,IAAc,CAAM,CAAC;IACpD,CAAC;CACF;AAEQ,gCAAU"}
@@ -21,9 +21,8 @@ import { InfoType } from './model/info/enum/InfoType';
21
21
  import { InfoFormat } from './model/info/enum/InfoFormat';
22
22
  import { Config } from './config/Config';
23
23
  import { TextFormat } from './model/enum/TextFormat';
24
- import { BREAKSCAPE_REGEX, BREAKSCAPE_REGEX_REPLACER, TextGenerator } from './generator/text/TextGenerator';
24
+ import { TextGenerator } from './generator/text/TextGenerator';
25
25
  import { TextParser } from './parser/text/TextParser';
26
- import { unbreakscape } from './generated/parser/text/text-peggy-parser';
27
26
  /*
28
27
  * NOTE:
29
28
  *
@@ -41,6 +40,7 @@ import * as fs from 'fs-extra';
41
40
  import path from 'path';
42
41
  import { BitmarkFileGenerator } from './generator/bitmark/BitmarkFileGenerator';
43
42
  import { JsonFileGenerator } from './generator/json/JsonFileGenerator';
43
+ import { Breakscape } from './breakscaping/Breakscape';
44
44
  /* STRIP:END */
45
45
  STRIP;
46
46
  /**
@@ -606,7 +606,10 @@ class BitmarkParserGenerator {
606
606
  }
607
607
  }
608
608
  // Do the breakscape
609
- const res = inStr.replace(BREAKSCAPE_REGEX, BREAKSCAPE_REGEX_REPLACER);
609
+ const res = Breakscape.breakscape(inStr, {
610
+ // inTag: opts.inTag,
611
+ // textFormat: opts.textFormat,
612
+ });
610
613
  if (opts.outputFile) {
611
614
  const output = opts.outputFile.toString();
612
615
  // Write JSON to file
@@ -655,7 +658,7 @@ class BitmarkParserGenerator {
655
658
  }
656
659
  }
657
660
  // Do the unbreakscape
658
- const res = unbreakscape(inStr);
661
+ const res = Breakscape.unbreakscape(inStr);
659
662
  if (opts.outputFile) {
660
663
  const output = opts.outputFile.toString();
661
664
  // Write JSON to file