hledger-lsp 0.1.6 → 0.1.7
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.
- package/README.md +5 -0
- package/out/features/codeActions.d.ts.map +1 -1
- package/out/features/codeActions.js +4 -2
- package/out/features/codeActions.js.map +1 -1
- package/out/features/codeLens.d.ts.map +1 -1
- package/out/features/codeLens.js +4 -1
- package/out/features/codeLens.js.map +1 -1
- package/out/features/completion.d.ts.map +1 -1
- package/out/features/completion.js +2 -3
- package/out/features/completion.js.map +1 -1
- package/out/features/foldingRanges.d.ts.map +1 -1
- package/out/features/foldingRanges.js +4 -1
- package/out/features/foldingRanges.js.map +1 -1
- package/out/features/formatter.d.ts +2 -0
- package/out/features/formatter.d.ts.map +1 -1
- package/out/features/formatter.js +36 -7
- package/out/features/formatter.js.map +1 -1
- package/out/features/hover.d.ts +2 -1
- package/out/features/hover.d.ts.map +1 -1
- package/out/features/hover.js +54 -21
- package/out/features/hover.js.map +1 -1
- package/out/features/inlayHints.d.ts +2 -1
- package/out/features/inlayHints.d.ts.map +1 -1
- package/out/features/inlayHints.js +15 -12
- package/out/features/inlayHints.js.map +1 -1
- package/out/features/semanticTokens.d.ts.map +1 -1
- package/out/features/semanticTokens.js +22 -1
- package/out/features/semanticTokens.js.map +1 -1
- package/out/features/symbols.d.ts.map +1 -1
- package/out/features/symbols.js +5 -2
- package/out/features/symbols.js.map +1 -1
- package/out/features/validator.d.ts +0 -4
- package/out/features/validator.d.ts.map +1 -1
- package/out/features/validator.js +269 -81
- package/out/features/validator.js.map +1 -1
- package/out/parser/ast.js +2 -2
- package/out/parser/ast.js.map +1 -1
- package/out/server/settings.d.ts +1 -0
- package/out/server/settings.d.ts.map +1 -1
- package/out/server/settings.js +1 -0
- package/out/server/settings.js.map +1 -1
- package/out/server/workspace.d.ts.map +1 -1
- package/out/server/workspace.js +12 -6
- package/out/server/workspace.js.map +1 -1
- package/out/server.js +7 -6
- package/out/server.js.map +1 -1
- package/out/utils/amountFormatter.d.ts +13 -1
- package/out/utils/amountFormatter.d.ts.map +1 -1
- package/out/utils/amountFormatter.js +39 -3
- package/out/utils/amountFormatter.js.map +1 -1
- package/out/utils/index.d.ts.map +1 -1
- package/out/utils/index.js +2 -1
- package/out/utils/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -32,11 +32,13 @@ class Validator {
|
|
|
32
32
|
// Otherwise use defaults
|
|
33
33
|
return settings_1.defaultSettings.validation?.[key] ?? true;
|
|
34
34
|
};
|
|
35
|
+
// Normalize document URI for consistent comparison
|
|
36
|
+
const normalizedDocUri = (0, uri_1.toFileUri)((0, uri_1.toFilePath)(document.uri));
|
|
35
37
|
// Validate each transaction
|
|
36
38
|
for (const transaction of parsedDoc.transactions) {
|
|
37
39
|
// Only validate transactions in the current document
|
|
38
40
|
// (workspace parsing may include transactions from other files)
|
|
39
|
-
if (transaction.sourceUri !==
|
|
41
|
+
if (transaction.sourceUri !== normalizedDocUri) {
|
|
40
42
|
continue;
|
|
41
43
|
}
|
|
42
44
|
// Check balance
|
|
@@ -147,6 +149,8 @@ class Validator {
|
|
|
147
149
|
*/
|
|
148
150
|
validateUndeclaredItems(document, parsedDoc, settings, checkAccounts = true, checkPayees = true, checkCommodities = true, checkTags = true) {
|
|
149
151
|
const diagnostics = [];
|
|
152
|
+
// Normalize document URI for consistent comparison
|
|
153
|
+
const normalizedDocUri = (0, uri_1.toFileUri)((0, uri_1.toFilePath)(document.uri));
|
|
150
154
|
// Helper to convert severity string to DiagnosticSeverity
|
|
151
155
|
const getSeverity = (severityStr) => {
|
|
152
156
|
switch (severityStr) {
|
|
@@ -161,77 +165,281 @@ class Validator {
|
|
|
161
165
|
const markAllInstances = settings?.validation?.markAllUndeclaredInstances ?? settings_1.defaultSettings.validation?.markAllUndeclaredInstances ?? true;
|
|
162
166
|
// Check undeclared accounts (if enabled)
|
|
163
167
|
if (checkAccounts) {
|
|
164
|
-
const undeclaredAccounts = Array.from(parsedDoc.accounts.values()).filter(a => !a.declared);
|
|
165
|
-
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
168
|
+
const undeclaredAccounts = new Set(Array.from(parsedDoc.accounts.values()).filter(a => !a.declared).map(a => a.name));
|
|
169
|
+
if (undeclaredAccounts.size > 0) {
|
|
170
|
+
const text = document.getText();
|
|
171
|
+
const lines = text.split('\n');
|
|
172
|
+
const processedAccounts = new Set();
|
|
173
|
+
// Iterate through transactions to find account usage locations
|
|
174
|
+
for (const transaction of parsedDoc.transactions) {
|
|
175
|
+
// Only process transactions from the current document
|
|
176
|
+
if (transaction.sourceUri && transaction.sourceUri !== normalizedDocUri) {
|
|
177
|
+
continue;
|
|
178
|
+
}
|
|
179
|
+
if (transaction.line !== undefined) {
|
|
180
|
+
let postingLineOffset = 1;
|
|
181
|
+
for (const posting of transaction.postings) {
|
|
182
|
+
const accountName = posting.account;
|
|
183
|
+
if (undeclaredAccounts.has(accountName)) {
|
|
184
|
+
if (!markAllInstances && processedAccounts.has(accountName)) {
|
|
185
|
+
postingLineOffset++;
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
// Find the posting line
|
|
189
|
+
const postingLine = transaction.line + postingLineOffset;
|
|
190
|
+
if (postingLine < lines.length) {
|
|
191
|
+
const line = lines[postingLine];
|
|
192
|
+
// Account name is after indentation, before amount/comment
|
|
193
|
+
const accountIndex = line.indexOf(accountName);
|
|
194
|
+
if (accountIndex !== -1) {
|
|
195
|
+
diagnostics.push({
|
|
196
|
+
severity: getSeverity(settings?.severity?.undeclaredAccounts),
|
|
197
|
+
range: {
|
|
198
|
+
start: { line: postingLine, character: accountIndex },
|
|
199
|
+
end: { line: postingLine, character: accountIndex + accountName.length }
|
|
200
|
+
},
|
|
201
|
+
message: `Account "${accountName}" is used but not declared with 'account' directive`,
|
|
202
|
+
source: 'hledger',
|
|
203
|
+
code: 'undeclared-account',
|
|
204
|
+
data: { accountName }
|
|
205
|
+
});
|
|
206
|
+
processedAccounts.add(accountName);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
postingLineOffset++;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
178
213
|
}
|
|
179
214
|
}
|
|
180
215
|
}
|
|
181
216
|
// Check undeclared payees (if enabled)
|
|
182
217
|
if (checkPayees) {
|
|
183
|
-
const undeclaredPayees = Array.from(parsedDoc.payees.values()).filter(p => !p.declared);
|
|
184
|
-
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
218
|
+
const undeclaredPayees = new Set(Array.from(parsedDoc.payees.values()).filter(p => !p.declared).map(p => p.name));
|
|
219
|
+
if (undeclaredPayees.size > 0) {
|
|
220
|
+
const text = document.getText();
|
|
221
|
+
const lines = text.split('\n');
|
|
222
|
+
const processedPayees = new Set();
|
|
223
|
+
// Iterate through transactions to find payee usage locations
|
|
224
|
+
for (const transaction of parsedDoc.transactions) {
|
|
225
|
+
// Only process transactions from the current document
|
|
226
|
+
if (transaction.sourceUri && transaction.sourceUri !== normalizedDocUri) {
|
|
227
|
+
continue;
|
|
228
|
+
}
|
|
229
|
+
const payeeName = transaction.payee;
|
|
230
|
+
if (undeclaredPayees.has(payeeName) && transaction.line !== undefined) {
|
|
231
|
+
if (!markAllInstances && processedPayees.has(payeeName)) {
|
|
232
|
+
continue;
|
|
233
|
+
}
|
|
234
|
+
const line = lines[transaction.line];
|
|
235
|
+
// Payee is in the transaction header after date, status, and code
|
|
236
|
+
const payeeIndex = line.indexOf(payeeName);
|
|
237
|
+
if (payeeIndex !== -1) {
|
|
238
|
+
diagnostics.push({
|
|
239
|
+
severity: getSeverity(settings?.severity?.undeclaredPayees),
|
|
240
|
+
range: {
|
|
241
|
+
start: { line: transaction.line, character: payeeIndex },
|
|
242
|
+
end: { line: transaction.line, character: payeeIndex + payeeName.length }
|
|
243
|
+
},
|
|
244
|
+
message: `Payee "${payeeName}" is used but not declared with 'payee' directive`,
|
|
245
|
+
source: 'hledger',
|
|
246
|
+
code: 'undeclared-payee',
|
|
247
|
+
data: { payeeName }
|
|
248
|
+
});
|
|
249
|
+
processedPayees.add(payeeName);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
197
252
|
}
|
|
198
253
|
}
|
|
199
254
|
}
|
|
200
255
|
// Check undeclared commodities (if enabled)
|
|
201
256
|
if (checkCommodities) {
|
|
202
|
-
const undeclaredCommodities = Array.from(parsedDoc.commodities.values()).filter(c => !c.declared);
|
|
203
|
-
|
|
204
|
-
const
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
257
|
+
const undeclaredCommodities = new Set(Array.from(parsedDoc.commodities.values()).filter(c => !c.declared).map(c => c.name));
|
|
258
|
+
if (undeclaredCommodities.size > 0) {
|
|
259
|
+
const text = document.getText();
|
|
260
|
+
const lines = text.split('\n');
|
|
261
|
+
const processedCommodities = new Set();
|
|
262
|
+
// Iterate through transactions to find commodity usage locations
|
|
263
|
+
for (const transaction of parsedDoc.transactions) {
|
|
264
|
+
// Only process transactions from the current document
|
|
265
|
+
if (transaction.sourceUri && transaction.sourceUri !== normalizedDocUri) {
|
|
266
|
+
continue;
|
|
267
|
+
}
|
|
268
|
+
if (transaction.line !== undefined) {
|
|
269
|
+
let postingLineOffset = 1;
|
|
270
|
+
for (const posting of transaction.postings) {
|
|
271
|
+
const postingLine = transaction.line + postingLineOffset;
|
|
272
|
+
if (postingLine < lines.length) {
|
|
273
|
+
const line = lines[postingLine];
|
|
274
|
+
// Check commodity in posting amount
|
|
275
|
+
if (posting.amount?.commodity && undeclaredCommodities.has(posting.amount.commodity)) {
|
|
276
|
+
const commodityName = posting.amount.commodity;
|
|
277
|
+
if (!markAllInstances && processedCommodities.has(commodityName)) {
|
|
278
|
+
postingLineOffset++;
|
|
279
|
+
continue;
|
|
280
|
+
}
|
|
281
|
+
const commodityIndex = line.indexOf(commodityName);
|
|
282
|
+
if (commodityIndex !== -1) {
|
|
283
|
+
diagnostics.push({
|
|
284
|
+
severity: getSeverity(settings?.severity?.undeclaredCommodities),
|
|
285
|
+
range: {
|
|
286
|
+
start: { line: postingLine, character: commodityIndex },
|
|
287
|
+
end: { line: postingLine, character: commodityIndex + commodityName.length }
|
|
288
|
+
},
|
|
289
|
+
message: `Commodity "${commodityName}" is used but not declared with 'commodity' directive`,
|
|
290
|
+
source: 'hledger',
|
|
291
|
+
code: 'undeclared-commodity',
|
|
292
|
+
data: { commodityName }
|
|
293
|
+
});
|
|
294
|
+
processedCommodities.add(commodityName);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
// Check commodity in cost notation
|
|
298
|
+
if (posting.cost?.amount?.commodity && undeclaredCommodities.has(posting.cost.amount.commodity)) {
|
|
299
|
+
const commodityName = posting.cost.amount.commodity;
|
|
300
|
+
if (!markAllInstances && processedCommodities.has(commodityName)) {
|
|
301
|
+
postingLineOffset++;
|
|
302
|
+
continue;
|
|
303
|
+
}
|
|
304
|
+
// Cost appears after @ or @@
|
|
305
|
+
const atIndex = line.indexOf('@');
|
|
306
|
+
if (atIndex !== -1) {
|
|
307
|
+
const afterAt = line.substring(atIndex);
|
|
308
|
+
const commodityIndex = afterAt.indexOf(commodityName);
|
|
309
|
+
if (commodityIndex !== -1) {
|
|
310
|
+
const absoluteIndex = atIndex + commodityIndex;
|
|
311
|
+
diagnostics.push({
|
|
312
|
+
severity: getSeverity(settings?.severity?.undeclaredCommodities),
|
|
313
|
+
range: {
|
|
314
|
+
start: { line: postingLine, character: absoluteIndex },
|
|
315
|
+
end: { line: postingLine, character: absoluteIndex + commodityName.length }
|
|
316
|
+
},
|
|
317
|
+
message: `Commodity "${commodityName}" is used but not declared with 'commodity' directive`,
|
|
318
|
+
source: 'hledger',
|
|
319
|
+
code: 'undeclared-commodity',
|
|
320
|
+
data: { commodityName }
|
|
321
|
+
});
|
|
322
|
+
processedCommodities.add(commodityName);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
// Check commodity in balance assertion
|
|
327
|
+
if (posting.assertion?.commodity && undeclaredCommodities.has(posting.assertion.commodity)) {
|
|
328
|
+
const commodityName = posting.assertion.commodity;
|
|
329
|
+
if (!markAllInstances && processedCommodities.has(commodityName)) {
|
|
330
|
+
postingLineOffset++;
|
|
331
|
+
continue;
|
|
332
|
+
}
|
|
333
|
+
// Assertion appears after =
|
|
334
|
+
const equalsIndex = line.indexOf('=');
|
|
335
|
+
if (equalsIndex !== -1) {
|
|
336
|
+
const afterEquals = line.substring(equalsIndex);
|
|
337
|
+
const commodityIndex = afterEquals.indexOf(commodityName);
|
|
338
|
+
if (commodityIndex !== -1) {
|
|
339
|
+
const absoluteIndex = equalsIndex + commodityIndex;
|
|
340
|
+
diagnostics.push({
|
|
341
|
+
severity: getSeverity(settings?.severity?.undeclaredCommodities),
|
|
342
|
+
range: {
|
|
343
|
+
start: { line: postingLine, character: absoluteIndex },
|
|
344
|
+
end: { line: postingLine, character: absoluteIndex + commodityName.length }
|
|
345
|
+
},
|
|
346
|
+
message: `Commodity "${commodityName}" is used but not declared with 'commodity' directive`,
|
|
347
|
+
source: 'hledger',
|
|
348
|
+
code: 'undeclared-commodity',
|
|
349
|
+
data: { commodityName }
|
|
350
|
+
});
|
|
351
|
+
processedCommodities.add(commodityName);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
postingLineOffset++;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
216
359
|
}
|
|
217
360
|
}
|
|
218
361
|
}
|
|
219
362
|
// Check undeclared tags (if enabled)
|
|
220
363
|
if (checkTags) {
|
|
221
|
-
const undeclaredTags = Array.from(parsedDoc.tags.values()).filter(t => !t.declared);
|
|
222
|
-
|
|
223
|
-
const
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
364
|
+
const undeclaredTags = new Set(Array.from(parsedDoc.tags.values()).filter(t => !t.declared).map(t => t.name));
|
|
365
|
+
if (undeclaredTags.size > 0) {
|
|
366
|
+
const text = document.getText();
|
|
367
|
+
const lines = text.split('\n');
|
|
368
|
+
const processedTags = new Set();
|
|
369
|
+
// Iterate through transactions to find tag usage locations
|
|
370
|
+
for (const transaction of parsedDoc.transactions) {
|
|
371
|
+
// Only process transactions from the current document
|
|
372
|
+
if (transaction.sourceUri && transaction.sourceUri !== normalizedDocUri) {
|
|
373
|
+
continue;
|
|
374
|
+
}
|
|
375
|
+
// Check transaction-level tags
|
|
376
|
+
if (transaction.tags) {
|
|
377
|
+
for (const tagName of Object.keys(transaction.tags)) {
|
|
378
|
+
if (undeclaredTags.has(tagName) && transaction.line !== undefined) {
|
|
379
|
+
if (!markAllInstances && processedTags.has(tagName)) {
|
|
380
|
+
continue; // Skip if we already reported this tag
|
|
381
|
+
}
|
|
382
|
+
const line = lines[transaction.line];
|
|
383
|
+
const commentIndex = line.indexOf(';');
|
|
384
|
+
if (commentIndex !== -1) {
|
|
385
|
+
const tagIndex = line.indexOf(tagName + ':', commentIndex);
|
|
386
|
+
if (tagIndex !== -1) {
|
|
387
|
+
diagnostics.push({
|
|
388
|
+
severity: getSeverity(settings?.severity?.undeclaredTags || 'information'),
|
|
389
|
+
range: {
|
|
390
|
+
start: { line: transaction.line, character: tagIndex },
|
|
391
|
+
end: { line: transaction.line, character: tagIndex + tagName.length + 1 }
|
|
392
|
+
},
|
|
393
|
+
message: `Tag "${tagName}" is used but not declared with 'tag' directive`,
|
|
394
|
+
source: 'hledger',
|
|
395
|
+
code: 'undeclared-tag',
|
|
396
|
+
data: { tagName }
|
|
397
|
+
});
|
|
398
|
+
processedTags.add(tagName);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
// Check posting-level tags
|
|
405
|
+
if (transaction.line !== undefined) {
|
|
406
|
+
let postingLineOffset = 1;
|
|
407
|
+
for (const posting of transaction.postings) {
|
|
408
|
+
if (posting.tags) {
|
|
409
|
+
for (const tagName of Object.keys(posting.tags)) {
|
|
410
|
+
if (undeclaredTags.has(tagName)) {
|
|
411
|
+
if (!markAllInstances && processedTags.has(tagName)) {
|
|
412
|
+
continue;
|
|
413
|
+
}
|
|
414
|
+
// Find the posting line
|
|
415
|
+
const postingLine = transaction.line + postingLineOffset;
|
|
416
|
+
if (postingLine < lines.length) {
|
|
417
|
+
const line = lines[postingLine];
|
|
418
|
+
const commentIndex = line.indexOf(';');
|
|
419
|
+
if (commentIndex !== -1) {
|
|
420
|
+
const tagIndex = line.indexOf(tagName + ':', commentIndex);
|
|
421
|
+
if (tagIndex !== -1) {
|
|
422
|
+
diagnostics.push({
|
|
423
|
+
severity: getSeverity(settings?.severity?.undeclaredTags || 'information'),
|
|
424
|
+
range: {
|
|
425
|
+
start: { line: postingLine, character: tagIndex },
|
|
426
|
+
end: { line: postingLine, character: tagIndex + tagName.length + 1 }
|
|
427
|
+
},
|
|
428
|
+
message: `Tag "${tagName}" is used but not declared with 'tag' directive`,
|
|
429
|
+
source: 'hledger',
|
|
430
|
+
code: 'undeclared-tag',
|
|
431
|
+
data: { tagName }
|
|
432
|
+
});
|
|
433
|
+
processedTags.add(tagName);
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
postingLineOffset++;
|
|
441
|
+
}
|
|
442
|
+
}
|
|
235
443
|
}
|
|
236
444
|
}
|
|
237
445
|
}
|
|
@@ -277,28 +485,6 @@ class Validator {
|
|
|
277
485
|
}
|
|
278
486
|
return null;
|
|
279
487
|
}
|
|
280
|
-
/**
|
|
281
|
-
* Find all occurrences of a string in the document
|
|
282
|
-
*/
|
|
283
|
-
findAllOccurrences(document, searchStr) {
|
|
284
|
-
const text = document.getText();
|
|
285
|
-
const lines = text.split('\n');
|
|
286
|
-
const ranges = [];
|
|
287
|
-
for (let i = 0; i < lines.length; i++) {
|
|
288
|
-
const line = lines[i];
|
|
289
|
-
let startIndex = 0;
|
|
290
|
-
let index;
|
|
291
|
-
// Find all occurrences in this line
|
|
292
|
-
while ((index = line.indexOf(searchStr, startIndex)) !== -1) {
|
|
293
|
-
ranges.push({
|
|
294
|
-
start: { line: i, character: index },
|
|
295
|
-
end: { line: i, character: index + searchStr.length }
|
|
296
|
-
});
|
|
297
|
-
startIndex = index + 1; // Move past this occurrence to find next
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
return ranges;
|
|
301
|
-
}
|
|
302
488
|
/**
|
|
303
489
|
* Validate date ordering
|
|
304
490
|
* Warn if transactions are not in chronological order
|
|
@@ -306,7 +492,8 @@ class Validator {
|
|
|
306
492
|
validateDateOrdering(transactions, document) {
|
|
307
493
|
const diagnostics = [];
|
|
308
494
|
// Only validate transactions in the current document
|
|
309
|
-
const
|
|
495
|
+
const normalizedDocUri = (0, uri_1.toFileUri)((0, uri_1.toFilePath)(document.uri));
|
|
496
|
+
const documentTransactions = transactions.filter(t => t.sourceUri === normalizedDocUri);
|
|
310
497
|
for (let i = 1; i < documentTransactions.length; i++) {
|
|
311
498
|
const prevDate = this.parseDate(documentTransactions[i - 1].date);
|
|
312
499
|
const currDate = this.parseDate(documentTransactions[i].date);
|
|
@@ -347,7 +534,8 @@ class Validator {
|
|
|
347
534
|
balances.set(posting.account, accountBalances);
|
|
348
535
|
}
|
|
349
536
|
// Check assertion - but only create diagnostics for assertions in the current document
|
|
350
|
-
|
|
537
|
+
const normalizedDocUri = (0, uri_1.toFileUri)((0, uri_1.toFilePath)(document.uri));
|
|
538
|
+
if (posting.assertion && transaction.sourceUri === normalizedDocUri) {
|
|
351
539
|
const accountBalances = balances.get(posting.account);
|
|
352
540
|
const commodity = posting.assertion.commodity || '';
|
|
353
541
|
const expectedBalance = posting.assertion.quantity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/features/validator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/features/validator.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,qDAA4E;AAI5E,sCAA8F;AAC9F,iDAAqD;AACrD,kEAAyE;AACzE,8DAAwD;AAuDxD,MAAa,SAAS;IACpB;;OAEG;IACH,QAAQ,CAAC,QAAsB,EAAE,SAAyB,EAAE,OAA2B;QACrF,MAAM,WAAW,GAAiB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;QAEnC,2CAA2C;QAC3C,4DAA4D;QAC5D,MAAM,SAAS,GAAG,CAAC,GAAwD,EAAW,EAAE;YACtF,qCAAqC;YACrC,IAAI,QAAQ,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC9C,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;YAC3C,CAAC;YACD,yBAAyB;YACzB,OAAO,0BAAe,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACnD,CAAC,CAAC;QAEF,mDAAmD;QACnD,MAAM,gBAAgB,GAAG,IAAA,eAAS,EAAC,IAAA,gBAAU,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAE7D,4BAA4B;QAC5B,KAAK,MAAM,WAAW,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YACjD,qDAAqD;YACrD,gEAAgE;YAChE,IAAI,WAAW,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;gBAC/C,SAAS;YACX,CAAC;YAED,gBAAgB;YAChB,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzB,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC7E,WAAW,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;YACrC,CAAC;YAED,wBAAwB;YACxB,IAAI,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAChC,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACxE,WAAW,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;YACpC,CAAC;YAED,2BAA2B;YAC3B,IAAI,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACnC,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAC5E,WAAW,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;YACtC,CAAC;YAED,6BAA6B;YAC7B,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC9B,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACzE,WAAW,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;YACzC,CAAC;YAED,qBAAqB;YACrB,IAAI,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACxE,WAAW,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;YACxC,CAAC;YAED,2BAA2B;YAC3B,IAAI,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACnC,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAC7E,WAAW,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CACnD,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,CAAC,oBAAoB,CAAC,EAC/B,SAAS,CAAC,kBAAkB,CAAC,EAC7B,SAAS,CAAC,uBAAuB,CAAC,EAClC,SAAS,CAAC,gBAAgB,CAAC,CAC5B,CAAC;QACF,WAAW,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;QAEtC,sBAAsB;QACtB,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACpF,WAAW,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QACvC,CAAC;QAED,2BAA2B;QAC3B,IAAI,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACnC,MAAM,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACpG,WAAW,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QACvC,CAAC;QAED,2BAA2B;QAC3B,IAAI,OAAO,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC;YACxF,MAAM,aAAa,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC7I,WAAW,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,WAAwB,EAAE,QAAsB,EAAE,SAAyB;QACjG,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,IAAA,+CAA2B,EAAC,WAAW,CAAC,CAAC;QAE1D,uCAAuC;QACvC,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAC5B,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC3C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,mBAAmB,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,IAAI,mBAAmB,KAAK,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxD,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBACtD,wCAAwC;gBACxC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,CAAC;oBAC9B,MAAM,gBAAgB,GAAG,SAAS;wBAChC,CAAC,CAAC,IAAA,8BAAY,EAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;wBAC7C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACvB,WAAW,CAAC,IAAI,CAAC;wBACf,QAAQ,EAAE,yBAAkB,CAAC,KAAK;wBAClC,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC;wBACtD,OAAO,EAAE,iCAAiC,gBAAgB,MAAM;wBAChE,MAAM,EAAE,SAAS;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,WAAwB,EAAE,QAAsB;QAC7E,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,MAAM,sBAAsB,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAE3E,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,yBAAkB,CAAC,KAAK;gBAClC,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC;gBACtD,OAAO,EAAE,mBAAmB,sBAAsB,CAAC,MAAM,+CAA+C;gBACxG,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,uBAAuB,CAC7B,QAAsB,EACtB,SAAyB,EACzB,QAAwC,EACxC,gBAAyB,IAAI,EAC7B,cAAuB,IAAI,EAC3B,mBAA4B,IAAI,EAChC,YAAqB,IAAI;QAEzB,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,mDAAmD;QACnD,MAAM,gBAAgB,GAAG,IAAA,eAAS,EAAC,IAAA,gBAAU,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAE7D,0DAA0D;QAC1D,MAAM,WAAW,GAAG,CAAC,WAAoB,EAAsB,EAAE;YAC/D,QAAQ,WAAW,EAAE,CAAC;gBACpB,KAAK,OAAO,CAAC,CAAC,OAAO,yBAAkB,CAAC,KAAK,CAAC;gBAC9C,KAAK,SAAS,CAAC,CAAC,OAAO,yBAAkB,CAAC,OAAO,CAAC;gBAClD,KAAK,aAAa,CAAC,CAAC,OAAO,yBAAkB,CAAC,WAAW,CAAC;gBAC1D,KAAK,MAAM,CAAC,CAAC,OAAO,yBAAkB,CAAC,IAAI,CAAC;gBAC5C,OAAO,CAAC,CAAC,OAAO,yBAAkB,CAAC,OAAO,CAAC,CAAC,UAAU;YACxD,CAAC;QACH,CAAC,CAAC;QAEF,8DAA8D;QAC9D,MAAM,gBAAgB,GAAG,QAAQ,EAAE,UAAU,EAAE,0BAA0B,IAAI,0BAAe,CAAC,UAAU,EAAE,0BAA0B,IAAI,IAAI,CAAC;QAE5I,yCAAyC;QACzC,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAChC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAClF,CAAC;YAEF,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;gBAE5C,+DAA+D;gBAC/D,KAAK,MAAM,WAAW,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;oBACjD,sDAAsD;oBACtD,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;wBACxE,SAAS;oBACX,CAAC;oBAED,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBACnC,IAAI,iBAAiB,GAAG,CAAC,CAAC;wBAC1B,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;4BAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;4BACpC,IAAI,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gCACxC,IAAI,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;oCAC5D,iBAAiB,EAAE,CAAC;oCACpB,SAAS;gCACX,CAAC;gCAED,wBAAwB;gCACxB,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,GAAG,iBAAiB,CAAC;gCACzD,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oCAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;oCAChC,2DAA2D;oCAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oCAC/C,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;wCACxB,WAAW,CAAC,IAAI,CAAC;4CACf,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,CAAC;4CAC7D,KAAK,EAAE;gDACL,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE;gDACrD,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE;6CACzE;4CACD,OAAO,EAAE,YAAY,WAAW,qDAAqD;4CACrF,MAAM,EAAE,SAAS;4CACjB,IAAI,EAAE,oBAAoB;4CAC1B,IAAI,EAAE,EAAE,WAAW,EAAE;yCACtB,CAAC,CAAC;wCACH,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oCACrC,CAAC;gCACH,CAAC;4BACH,CAAC;4BACD,iBAAiB,EAAE,CAAC;wBACtB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAChF,CAAC;YAEF,IAAI,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;gBAE1C,6DAA6D;gBAC7D,KAAK,MAAM,WAAW,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;oBACjD,sDAAsD;oBACtD,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;wBACxE,SAAS;oBACX,CAAC;oBAED,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC;oBACpC,IAAI,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBACtE,IAAI,CAAC,gBAAgB,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;4BACxD,SAAS;wBACX,CAAC;wBAED,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBACrC,kEAAkE;wBAClE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBAC3C,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;4BACtB,WAAW,CAAC,IAAI,CAAC;gCACf,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,CAAC;gCAC3D,KAAK,EAAE;oCACL,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE;oCACxD,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE;iCAC1E;gCACD,OAAO,EAAE,UAAU,SAAS,mDAAmD;gCAC/E,MAAM,EAAE,SAAS;gCACjB,IAAI,EAAE,kBAAkB;gCACxB,IAAI,EAAE,EAAE,SAAS,EAAE;6BACpB,CAAC,CAAC;4BACH,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBACjC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,qBAAqB,GAAG,IAAI,GAAG,CACnC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACrF,CAAC;YAEF,IAAI,qBAAqB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;gBAE/C,iEAAiE;gBACjE,KAAK,MAAM,WAAW,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;oBACjD,sDAAsD;oBACtD,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;wBACxE,SAAS;oBACX,CAAC;oBAED,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBACnC,IAAI,iBAAiB,GAAG,CAAC,CAAC;wBAC1B,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;4BAC3C,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,GAAG,iBAAiB,CAAC;4BACzD,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gCAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;gCAEhC,oCAAoC;gCACpC,IAAI,OAAO,CAAC,MAAM,EAAE,SAAS,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oCACrF,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;oCAC/C,IAAI,CAAC,gBAAgB,IAAI,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;wCACjE,iBAAiB,EAAE,CAAC;wCACpB,SAAS;oCACX,CAAC;oCAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;oCACnD,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;wCAC1B,WAAW,CAAC,IAAI,CAAC;4CACf,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,CAAC;4CAChE,KAAK,EAAE;gDACL,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE;gDACvD,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,GAAG,aAAa,CAAC,MAAM,EAAE;6CAC7E;4CACD,OAAO,EAAE,cAAc,aAAa,uDAAuD;4CAC3F,MAAM,EAAE,SAAS;4CACjB,IAAI,EAAE,sBAAsB;4CAC5B,IAAI,EAAE,EAAE,aAAa,EAAE;yCACxB,CAAC,CAAC;wCACH,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oCAC1C,CAAC;gCACH,CAAC;gCAED,mCAAmC;gCACnC,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oCAChG,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;oCACpD,IAAI,CAAC,gBAAgB,IAAI,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;wCACjE,iBAAiB,EAAE,CAAC;wCACpB,SAAS;oCACX,CAAC;oCAED,6BAA6B;oCAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oCAClC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;wCACnB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;wCACxC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;wCACtD,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;4CAC1B,MAAM,aAAa,GAAG,OAAO,GAAG,cAAc,CAAC;4CAC/C,WAAW,CAAC,IAAI,CAAC;gDACf,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,CAAC;gDAChE,KAAK,EAAE;oDACL,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE;oDACtD,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,GAAG,aAAa,CAAC,MAAM,EAAE;iDAC5E;gDACD,OAAO,EAAE,cAAc,aAAa,uDAAuD;gDAC3F,MAAM,EAAE,SAAS;gDACjB,IAAI,EAAE,sBAAsB;gDAC5B,IAAI,EAAE,EAAE,aAAa,EAAE;6CACxB,CAAC,CAAC;4CACH,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wCAC1C,CAAC;oCACH,CAAC;gCACH,CAAC;gCAED,uCAAuC;gCACvC,IAAI,OAAO,CAAC,SAAS,EAAE,SAAS,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;oCAC3F,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC;oCAClD,IAAI,CAAC,gBAAgB,IAAI,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;wCACjE,iBAAiB,EAAE,CAAC;wCACpB,SAAS;oCACX,CAAC;oCAED,4BAA4B;oCAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oCACtC,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;wCACvB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;wCAChD,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;wCAC1D,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;4CAC1B,MAAM,aAAa,GAAG,WAAW,GAAG,cAAc,CAAC;4CACnD,WAAW,CAAC,IAAI,CAAC;gDACf,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,CAAC;gDAChE,KAAK,EAAE;oDACL,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE;oDACtD,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,GAAG,aAAa,CAAC,MAAM,EAAE;iDAC5E;gDACD,OAAO,EAAE,cAAc,aAAa,uDAAuD;gDAC3F,MAAM,EAAE,SAAS;gDACjB,IAAI,EAAE,sBAAsB;gDAC5B,IAAI,EAAE,EAAE,aAAa,EAAE;6CACxB,CAAC,CAAC;4CACH,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wCAC1C,CAAC;oCACH,CAAC;gCACH,CAAC;4BACH,CAAC;4BACD,iBAAiB,EAAE,CAAC;wBACtB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC9E,CAAC;YAEF,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;gBAExC,2DAA2D;gBAC3D,KAAK,MAAM,WAAW,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;oBACjD,sDAAsD;oBACtD,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;wBACxE,SAAS;oBACX,CAAC;oBAED,+BAA+B;oBAC/B,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;wBACrB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;4BACpD,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gCAClE,IAAI,CAAC,gBAAgB,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oCACpD,SAAS,CAAC,uCAAuC;gCACnD,CAAC;gCAED,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gCACrC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gCACvC,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;oCACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE,YAAY,CAAC,CAAC;oCAC3D,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;wCACpB,WAAW,CAAC,IAAI,CAAC;4CACf,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,IAAI,aAAa,CAAC;4CAC1E,KAAK,EAAE;gDACL,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE;gDACtD,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;6CAC1E;4CACD,OAAO,EAAE,QAAQ,OAAO,iDAAiD;4CACzE,MAAM,EAAE,SAAS;4CACjB,IAAI,EAAE,gBAAgB;4CACtB,IAAI,EAAE,EAAE,OAAO,EAAE;yCAClB,CAAC,CAAC;wCACH,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oCAC7B,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,2BAA2B;oBAC3B,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBACnC,IAAI,iBAAiB,GAAG,CAAC,CAAC;wBAC1B,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;4BAC3C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gCACjB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oCAChD,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;wCAChC,IAAI,CAAC,gBAAgB,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;4CACpD,SAAS;wCACX,CAAC;wCAED,wBAAwB;wCACxB,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,GAAG,iBAAiB,CAAC;wCACzD,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;4CAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;4CAChC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;4CACvC,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;gDACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE,YAAY,CAAC,CAAC;gDAC3D,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;oDACpB,WAAW,CAAC,IAAI,CAAC;wDACf,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,IAAI,aAAa,CAAC;wDAC1E,KAAK,EAAE;4DACL,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE;4DACjD,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;yDACrE;wDACD,OAAO,EAAE,QAAQ,OAAO,iDAAiD;wDACzE,MAAM,EAAE,SAAS;wDACjB,IAAI,EAAE,gBAAgB;wDACtB,IAAI,EAAE,EAAE,OAAO,EAAE;qDAClB,CAAC,CAAC;oDACH,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gDAC7B,CAAC;4CACH,CAAC;wCACH,CAAC;oCACH,CAAC;gCACH,CAAC;4BACH,CAAC;4BACD,iBAAiB,EAAE,CAAC;wBACtB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,WAAwB,EAAE,QAAsB;QAC1E,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/B,uCAAuC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9E,OAAO;oBACL,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;oBAChC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;iBACzC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,OAAO;YACL,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;SAC/B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,QAAsB,EAAE,SAAiB;QACnE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,OAAO;oBACL,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;oBACpC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE;iBACtD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,YAA2B,EAAE,QAAsB;QAC9E,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,qDAAqD;QACrD,MAAM,gBAAgB,GAAG,IAAA,eAAS,EAAC,IAAA,gBAAU,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7D,MAAM,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,gBAAgB,CAAC,CAAC;QAExF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE9D,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC1E,WAAW,CAAC,IAAI,CAAC;oBACf,QAAQ,EAAE,yBAAkB,CAAC,OAAO;oBACpC,KAAK;oBACL,OAAO,EAAE,oBAAoB,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,wCAAwC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;oBACnI,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,yBAAyB,CAC/B,YAA2B,EAC3B,QAAsB,EACtB,SAAyB;QAEzB,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,mDAAmD;QACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;QAExD,mEAAmE;QACnE,2DAA2D;QAC3D,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC3C,yBAAyB;gBACzB,4EAA4E;gBAC5E,iFAAiF;gBACjF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACnB,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAC;oBACnF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;oBACjD,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC3D,gEAAgE;oBAChE,gDAAgD;oBAChD,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACzE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBACjD,CAAC;gBAED,uFAAuF;gBACvF,MAAM,gBAAgB,GAAG,IAAA,eAAS,EAAC,IAAA,gBAAU,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7D,IAAI,OAAO,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;oBACpE,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACtD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC;oBACpD,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;oBACnD,MAAM,aAAa,GAAG,eAAe,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAE3D,wCAAwC;oBACxC,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,eAAe,CAAC,GAAG,KAAK,EAAE,CAAC;wBACtD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;wBACpE,MAAM,iBAAiB,GAAG,IAAA,8BAAY,EAAC,eAAe,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;wBAC9E,MAAM,eAAe,GAAG,IAAA,8BAAY,EAAC,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;wBAE1E,WAAW,CAAC,IAAI,CAAC;4BACf,QAAQ,EAAE,yBAAkB,CAAC,KAAK;4BAClC,KAAK;4BACL,OAAO,EAAE,gCAAgC,OAAO,CAAC,OAAO,cAAc,iBAAiB,oBAAoB,eAAe,EAAE;4BAC5H,MAAM,EAAE,SAAS;yBAClB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,OAAe;QAC/B,gDAAgD;QAChD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,WAAwB,EAAE,OAAgB,EAAE,QAAsB;QACzF,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/B,8CAA8C;QAC9C,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,mCAAmC;YACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9E,aAAa,GAAG,IAAI,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,oDAAoD;YACpD,IAAI,aAAa,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7D,OAAO;oBACL,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;oBAChC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;iBACzC,CAAC;YACJ,CAAC;YAED,gFAAgF;YAChF,IAAI,aAAa,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC;gBAC9E,MAAM;YACR,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,OAAO,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACK,wBAAwB,CAAC,WAAwB,EAAE,QAAsB;QAC/E,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC9D,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,yBAAkB,CAAC,KAAK;gBAClC,KAAK;gBACL,OAAO,EAAE,wBAAwB,WAAW,CAAC,QAAQ,CAAC,MAAM,iCAAiC;gBAC7F,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,WAAwB,EAAE,QAAsB;QACzE,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC9D,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,yBAAkB,CAAC,KAAK;gBAClC,KAAK;gBACL,OAAO,EAAE,wBAAwB,WAAW,CAAC,IAAI,EAAE;gBACnD,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YACH,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEnC,sCAAsC;QACtC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC9D,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,yBAAkB,CAAC,KAAK;gBAClC,KAAK;gBACL,OAAO,EAAE,0BAA0B,WAAW,CAAC,IAAI,uBAAuB;gBAC1E,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YACH,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC9D,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,yBAAkB,CAAC,KAAK;gBAClC,KAAK;gBACL,OAAO,EAAE,wBAAwB,WAAW,CAAC,IAAI,qBAAqB;gBACtE,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YACH,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,4BAA4B;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC9D,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,yBAAkB,CAAC,KAAK;gBAClC,KAAK;gBACL,OAAO,EAAE,wBAAwB,WAAW,CAAC,IAAI,EAAE;gBACnD,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YACH,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,qDAAqD;QACrD,8DAA8D;QAC9D,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,IAAI;YACnC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,KAAK;YACnC,UAAU,CAAC,OAAO,EAAE,KAAK,GAAG,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC9D,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,yBAAkB,CAAC,KAAK;gBAClC,KAAK;gBACL,OAAO,EAAE,iBAAiB,WAAW,CAAC,IAAI,oCAAoC;gBAC9E,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,WAAwB,EAAE,QAAsB;QACzE,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,WAAW,CAAC,CAAC,wCAAwC;QAC9D,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,8CAA8C;QAE1E,IAAI,UAAU,GAAG,KAAK,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC9D,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,yBAAkB,CAAC,OAAO;gBACpC,KAAK;gBACL,OAAO,EAAE,oBAAoB,WAAW,CAAC,IAAI,mBAAmB;gBAChE,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,wBAAwB,CAAC,WAAwB,EAAE,QAAsB;QAC/E,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACtE,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC9D,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,yBAAkB,CAAC,OAAO;gBACpC,KAAK;gBACL,OAAO,EAAE,gCAAgC;gBACzC,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,yBAAyB,CAC/B,QAAsB,EACtB,SAAyB,EACzB,OAA0B,EAC1B,oBAA6B,IAAI,EACjC,wBAAiC,IAAI;QAErC,MAAM,WAAW,GAAiB,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC;QAChD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAW,CAAC;QAEvC,8CAA8C;QAC9C,MAAM,iBAAiB,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAEjF,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;YAC1C,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC;YAEpC,kCAAkC;YAClC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAE9C,IAAI,MAAM,EAAE,CAAC;gBACX,kDAAkD;gBAClD,MAAM,aAAa,GAAG,IAAA,yBAAmB,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBAEhE,+CAA+C;gBAC/C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,iBAAiB,EAAE,CAAC;oBACpD,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;oBAC9D,IAAI,KAAK,EAAE,CAAC;wBACV,WAAW,CAAC,IAAI,CAAC;4BACf,QAAQ,EAAE,yBAAkB,CAAC,KAAK;4BAClC,KAAK;4BACL,OAAO,EAAE,0CAA0C,WAAW,EAAE;4BAChE,MAAM,EAAE,SAAS;yBAClB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,oDAAoD;gBACpD,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;wBACzC,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;wBAC5C,IAAI,UAAU,EAAE,CAAC;4BACf,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;4BACxH,IAAI,aAAa,EAAE,CAAC;gCAClB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gCAC9D,IAAI,KAAK,EAAE,CAAC;oCACV,WAAW,CAAC,IAAI,CAAC;wCACf,QAAQ,EAAE,yBAAkB,CAAC,KAAK;wCAClC,KAAK;wCACL,OAAO,EAAE,sCAAsC,WAAW,SAAS,YAAY,GAAG;wCAClF,MAAM,EAAE,SAAS;qCAClB,CAAC,CAAC;oCACH,MAAM,CAAC,oCAAoC;gCAC7C,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,uCAAuC;gBACvC,MAAM,YAAY,GAAG,IAAA,wBAAkB,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBAE9D,oDAAoD;gBACpD,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;oBAC9D,IAAI,KAAK,EAAE,CAAC;wBACV,WAAW,CAAC,IAAI,CAAC;4BACf,QAAQ,EAAE,yBAAkB,CAAC,OAAO;4BACpC,KAAK;4BACL,OAAO,EAAE,sBAAsB,WAAW,EAAE;4BAC5C,MAAM,EAAE,SAAS;yBAClB,CAAC,CAAC;oBACL,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAE1B,oCAAoC;gBACpC,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;gBAE5C,IAAI,CAAC,UAAU,IAAI,iBAAiB,EAAE,CAAC;oBACrC,qBAAqB;oBACrB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;oBAC9D,IAAI,KAAK,EAAE,CAAC;wBACV,WAAW,CAAC,IAAI,CAAC;4BACf,QAAQ,EAAE,yBAAkB,CAAC,KAAK;4BAClC,KAAK;4BACL,OAAO,EAAE,2BAA2B,WAAW,EAAE;4BACjD,MAAM,EAAE,SAAS;yBAClB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,2DAA2D;gBAC3D,IAAI,UAAU,IAAI,qBAAqB,EAAE,CAAC;oBACxC,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;oBACxH,IAAI,aAAa,EAAE,CAAC;wBAClB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;wBAC9D,IAAI,KAAK,EAAE,CAAC;4BACV,WAAW,CAAC,IAAI,CAAC;gCACf,QAAQ,EAAE,yBAAkB,CAAC,KAAK;gCAClC,KAAK;gCACL,OAAO,EAAE,8BAA8B,WAAW,EAAE;gCACpD,MAAM,EAAE,SAAS;6BAClB,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,SAAiB,EAAE,QAAsB,EAAE,UAAsB,EAAE,OAAoB;QAClH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpD,MAAM,YAAY,GAAG,IAAA,wBAAkB,EAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAEnE,kDAAkD;gBAClD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,2BAA2B;gBAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC9B,SAAS;gBACX,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAE1B,8BAA8B;gBAC9B,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;gBAC5C,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;wBAC1E,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CAEF;AAn+BD,8BAm+BC;AAEY,QAAA,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC"}
|
package/out/parser/ast.js
CHANGED
|
@@ -409,8 +409,8 @@ function parseAmount(amountStr, decimalMark) {
|
|
|
409
409
|
// But spaces are tricky. For now let's assume space separates commodity if symbol is on left/right
|
|
410
410
|
const patterns = [
|
|
411
411
|
{
|
|
412
|
-
// Symbol on left, negative
|
|
413
|
-
pattern:
|
|
412
|
+
// Symbol on left, negative (e.g. -$100 or - $100)
|
|
413
|
+
pattern: /^-\s*([^\d\s-]+)\s*([-]?\d[\d.,\s]*)$/,
|
|
414
414
|
handler: (m) => {
|
|
415
415
|
const rawAmount = m[2];
|
|
416
416
|
const { decimalMark: mark } = detectNumberFormat(rawAmount, decimalMark);
|