bps-mcp-server 0.16.2 → 0.16.4

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 (99) hide show
  1. package/README.md +19 -3
  2. package/dist/client/allstats-client.d.ts +2 -0
  3. package/dist/client/allstats-client.d.ts.map +1 -1
  4. package/dist/client/allstats-client.js +62 -34
  5. package/dist/client/allstats-client.js.map +1 -1
  6. package/dist/client/bps-client.d.ts +14 -5
  7. package/dist/client/bps-client.d.ts.map +1 -1
  8. package/dist/client/bps-client.js +215 -23
  9. package/dist/client/bps-client.js.map +1 -1
  10. package/dist/client/endpoints.d.ts +7 -0
  11. package/dist/client/endpoints.d.ts.map +1 -1
  12. package/dist/client/endpoints.js +43 -5
  13. package/dist/client/endpoints.js.map +1 -1
  14. package/dist/client/fields.d.ts +27 -0
  15. package/dist/client/fields.d.ts.map +1 -0
  16. package/dist/client/fields.js +105 -0
  17. package/dist/client/fields.js.map +1 -0
  18. package/dist/client/types.d.ts +56 -23
  19. package/dist/client/types.d.ts.map +1 -1
  20. package/dist/index.js +19 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/resources/domain.resources.js +2 -2
  23. package/dist/resources/domain.resources.js.map +1 -1
  24. package/dist/server.js +1 -1
  25. package/dist/server.js.map +1 -1
  26. package/dist/services/data-formatter.d.ts +5 -1
  27. package/dist/services/data-formatter.d.ts.map +1 -1
  28. package/dist/services/data-formatter.js +55 -38
  29. package/dist/services/data-formatter.js.map +1 -1
  30. package/dist/services/dynamic-data-utils.d.ts +35 -0
  31. package/dist/services/dynamic-data-utils.d.ts.map +1 -0
  32. package/dist/services/dynamic-data-utils.js +132 -0
  33. package/dist/services/dynamic-data-utils.js.map +1 -0
  34. package/dist/services/file-store.d.ts +5 -1
  35. package/dist/services/file-store.d.ts.map +1 -1
  36. package/dist/services/file-store.js +16 -5
  37. package/dist/services/file-store.js.map +1 -1
  38. package/dist/services/intent-detector.d.ts.map +1 -1
  39. package/dist/services/intent-detector.js +10 -10
  40. package/dist/services/intent-detector.js.map +1 -1
  41. package/dist/services/learning.d.ts +2 -0
  42. package/dist/services/learning.d.ts.map +1 -1
  43. package/dist/services/learning.js +48 -28
  44. package/dist/services/learning.js.map +1 -1
  45. package/dist/services/variable-search.d.ts +50 -0
  46. package/dist/services/variable-search.d.ts.map +1 -0
  47. package/dist/services/variable-search.js +482 -0
  48. package/dist/services/variable-search.js.map +1 -0
  49. package/dist/tools/allstats.tools.d.ts.map +1 -1
  50. package/dist/tools/allstats.tools.js +13 -3
  51. package/dist/tools/allstats.tools.js.map +1 -1
  52. package/dist/tools/analysis.tools.d.ts.map +1 -1
  53. package/dist/tools/analysis.tools.js +291 -549
  54. package/dist/tools/analysis.tools.js.map +1 -1
  55. package/dist/tools/csa.tools.d.ts.map +1 -1
  56. package/dist/tools/csa.tools.js +13 -4
  57. package/dist/tools/csa.tools.js.map +1 -1
  58. package/dist/tools/domain.tools.d.ts.map +1 -1
  59. package/dist/tools/domain.tools.js +9 -0
  60. package/dist/tools/domain.tools.js.map +1 -1
  61. package/dist/tools/dynamic-data.tools.d.ts.map +1 -1
  62. package/dist/tools/dynamic-data.tools.js +66 -22
  63. package/dist/tools/dynamic-data.tools.js.map +1 -1
  64. package/dist/tools/glossary.tools.d.ts +2 -1
  65. package/dist/tools/glossary.tools.d.ts.map +1 -1
  66. package/dist/tools/glossary.tools.js +30 -1
  67. package/dist/tools/glossary.tools.js.map +1 -1
  68. package/dist/tools/infographic.tools.d.ts.map +1 -1
  69. package/dist/tools/infographic.tools.js +7 -9
  70. package/dist/tools/infographic.tools.js.map +1 -1
  71. package/dist/tools/news.tools.d.ts.map +1 -1
  72. package/dist/tools/news.tools.js +2 -7
  73. package/dist/tools/news.tools.js.map +1 -1
  74. package/dist/tools/publication.tools.d.ts.map +1 -1
  75. package/dist/tools/publication.tools.js +12 -4
  76. package/dist/tools/publication.tools.js.map +1 -1
  77. package/dist/tools/reference.tools.d.ts.map +1 -1
  78. package/dist/tools/reference.tools.js +9 -1
  79. package/dist/tools/reference.tools.js.map +1 -1
  80. package/dist/tools/search.tools.d.ts.map +1 -1
  81. package/dist/tools/search.tools.js +71 -7
  82. package/dist/tools/search.tools.js.map +1 -1
  83. package/dist/tools/smart.tools.d.ts.map +1 -1
  84. package/dist/tools/smart.tools.js +352 -415
  85. package/dist/tools/smart.tools.js.map +1 -1
  86. package/dist/tools/static-table.tools.d.ts.map +1 -1
  87. package/dist/tools/static-table.tools.js +4 -3
  88. package/dist/tools/static-table.tools.js.map +1 -1
  89. package/dist/tools/trade.tools.d.ts.map +1 -1
  90. package/dist/tools/trade.tools.js +53 -7
  91. package/dist/tools/trade.tools.js.map +1 -1
  92. package/dist/utils/error.d.ts.map +1 -1
  93. package/dist/utils/error.js +5 -0
  94. package/dist/utils/error.js.map +1 -1
  95. package/dist/utils/html.d.ts +9 -0
  96. package/dist/utils/html.d.ts.map +1 -0
  97. package/dist/utils/html.js +77 -0
  98. package/dist/utils/html.js.map +1 -0
  99. package/package.json +10 -10
@@ -1,6 +1,7 @@
1
- import { buildListUrl, buildViewUrl, buildDomainUrl, buildTradeUrl, buildInteropUrl, MODELS, } from "./endpoints.js";
1
+ import { buildListUrl, buildViewUrl, buildDomainUrl, buildTradeUrl, buildInteropUrl, normalizePathParam, MODELS, } from "./endpoints.js";
2
2
  import { BpsApiError, BpsAuthError, BpsNotFoundError } from "../utils/error.js";
3
3
  import { logger } from "../utils/logger.js";
4
+ import { getPeriodId, getVariableId } from "./fields.js";
4
5
  /** Browser-like User-Agent to avoid BPS Perimeter WAF signature blocks */
5
6
  const USER_AGENT = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36";
6
7
  /** Default fetch timeout in milliseconds */
@@ -9,6 +10,92 @@ const FETCH_TIMEOUT_MS = 30_000;
9
10
  const MAX_RETRIES = 3;
10
11
  /** Base delay for exponential backoff in milliseconds */
11
12
  const RETRY_BASE_DELAY_MS = 500;
13
+ /** BPS rejects requests with more than 3 periods in one call. */
14
+ const MAX_PERIODS_PER_REQUEST = 3;
15
+ /** Read a Response body as text, with a JSON fallback for lightweight mocks. */
16
+ async function readResponseText(res) {
17
+ if (typeof res.text === "function")
18
+ return res.text();
19
+ if (typeof res.json === "function") {
20
+ try {
21
+ return JSON.stringify(await res.json());
22
+ }
23
+ catch {
24
+ return "";
25
+ }
26
+ }
27
+ return "";
28
+ }
29
+ /** Extract a useful message from a BPS error body (JSON or HTML). */
30
+ function extractApiError(body) {
31
+ if (!body)
32
+ return undefined;
33
+ try {
34
+ const parsed = JSON.parse(body);
35
+ if (typeof parsed.message === "string" && parsed.message.trim()) {
36
+ return parsed.message.trim();
37
+ }
38
+ const errors = parsed.errors;
39
+ if (Array.isArray(errors) && errors.length > 0) {
40
+ const first = errors[0];
41
+ if (typeof first.detail === "string" && first.detail.trim())
42
+ return first.detail.trim();
43
+ }
44
+ if (typeof parsed.error === "string" && parsed.error.trim())
45
+ return parsed.error.trim();
46
+ }
47
+ catch {
48
+ // BPS sometimes returns an HTML WAF page instead of JSON.
49
+ }
50
+ const text = body.replace(/<[^>]+>/g, " ").replace(/\s+/g, " ").trim();
51
+ return text ? text.slice(0, 300) : undefined;
52
+ }
53
+ function dedupeBy(items, keyOf) {
54
+ const seen = new Set();
55
+ const result = [];
56
+ for (const item of items) {
57
+ const key = keyOf(item);
58
+ if (!key || seen.has(key))
59
+ continue;
60
+ seen.add(key);
61
+ result.push(item);
62
+ }
63
+ return result;
64
+ }
65
+ function mergeUnique(target, source, keyOf) {
66
+ if (!source)
67
+ return;
68
+ const seen = new Set(target.map(keyOf));
69
+ for (const item of source) {
70
+ const key = keyOf(item);
71
+ if (!key || seen.has(key))
72
+ continue;
73
+ seen.add(key);
74
+ target.push(item);
75
+ }
76
+ }
77
+ function mergeDynamicData(target, source) {
78
+ if (!target.datacontent)
79
+ target.datacontent = {};
80
+ Object.assign(target.datacontent, source.datacontent ?? {});
81
+ target.var = target.var ?? [];
82
+ target.vervar = target.vervar ?? [];
83
+ target.tahun = target.tahun ?? [];
84
+ target.turvar = target.turvar ?? [];
85
+ target.turtahun = target.turtahun ?? [];
86
+ mergeUnique(target.var, source.var, (v) => String(v.var_id ?? v.val ?? ""));
87
+ mergeUnique(target.vervar, source.vervar, (v) => String(v.kode_vervar ?? v.kode_ver_id ?? v.val ?? ""));
88
+ mergeUnique(target.tahun, source.tahun, (v) => String(v.th_id ?? v.val ?? v.th_name ?? v.label ?? ""));
89
+ mergeUnique(target.turvar, source.turvar, (v) => String(v.kode_turvar ?? v.kode_tur_id ?? v.val ?? ""));
90
+ mergeUnique(target.turtahun, source.turtahun, (v) => String(v.turth_id ?? v.val ?? v.turth_name ?? v.label ?? ""));
91
+ target.labelvervar = target.labelvervar ?? source.labelvervar;
92
+ target.turvar_label = target.turvar_label ?? source.turvar_label;
93
+ if (source["data-availability"] === "available") {
94
+ target["data-availability"] = "available";
95
+ }
96
+ if (!target.message && source.message)
97
+ target.message = source.message;
98
+ }
12
99
  export class BpsClient {
13
100
  auth;
14
101
  cache;
@@ -29,8 +116,14 @@ export class BpsClient {
29
116
  if (this.cache && ttl) {
30
117
  const cached = await this.cache.get(cacheKey);
31
118
  if (cached) {
32
- logger.debug(`Cache hit: ${cacheKey}`);
33
- return JSON.parse(cached);
119
+ try {
120
+ logger.debug(`Cache hit: ${cacheKey}`);
121
+ return JSON.parse(cached);
122
+ }
123
+ catch {
124
+ logger.warn(`Ignoring corrupt cache entry: ${cacheKey}`);
125
+ await this.cache.delete(cacheKey);
126
+ }
34
127
  }
35
128
  }
36
129
  // Deduplicate concurrent requests for the same cache key
@@ -56,14 +149,15 @@ export class BpsClient {
56
149
  }
57
150
  catch (error) {
58
151
  lastError = error;
59
- // Only retry on transient server errors (5xx)
60
- const isRetryable = error instanceof BpsApiError &&
61
- error.statusCode !== undefined &&
62
- error.statusCode >= 500;
152
+ // Retry transient server errors and BPS rate limiting (429/408).
153
+ const status = error instanceof BpsApiError ? error.statusCode : undefined;
154
+ const isRetryable = status !== undefined && (status >= 500 || status === 429 || status === 408);
63
155
  if (!isRetryable || attempt === MAX_RETRIES - 1) {
64
156
  throw error;
65
157
  }
66
- const delay = RETRY_BASE_DELAY_MS * Math.pow(2, attempt);
158
+ const delay = status === 429
159
+ ? 2_000 * Math.pow(2, attempt)
160
+ : RETRY_BASE_DELAY_MS * Math.pow(2, attempt);
67
161
  logger.warn(`Retrying (${attempt + 1}/${MAX_RETRIES}) after ${delay}ms: ${url}`);
68
162
  await new Promise((resolve) => setTimeout(resolve, delay));
69
163
  }
@@ -144,7 +238,8 @@ export class BpsClient {
144
238
  throw new BpsAuthError();
145
239
  }
146
240
  if (!retryRes.ok) {
147
- throw new BpsApiError(`BPS API error (proxied): ${retryRes.status} ${retryRes.statusText}`, retryRes.status, rewrittenUrl);
241
+ const detail = extractApiError(await readResponseText(retryRes));
242
+ throw new BpsApiError(detail ?? `HTTP ${retryRes.status} ${retryRes.statusText} (proxied)`, retryRes.status, rewrittenUrl);
148
243
  }
149
244
  res = retryRes;
150
245
  }
@@ -156,11 +251,12 @@ export class BpsClient {
156
251
  throw new BpsAuthError();
157
252
  }
158
253
  if (!res.ok) {
159
- throw new BpsApiError(`BPS API error: ${res.status} ${res.statusText}`, res.status, url);
254
+ const detail = extractApiError(await readResponseText(res));
255
+ throw new BpsApiError(detail ?? `HTTP ${res.status} ${res.statusText}`, res.status, url);
160
256
  }
161
257
  let json;
162
258
  try {
163
- json = await res.json();
259
+ json = JSON.parse(await readResponseText(res));
164
260
  }
165
261
  catch (parseError) {
166
262
  if (url.includes("https://webapi.bps.go.id/v1")) {
@@ -183,10 +279,11 @@ export class BpsClient {
183
279
  signal: controller.signal,
184
280
  });
185
281
  if (!retryRes.ok) {
186
- throw new BpsApiError(`BPS API error (proxied after parse failure): ${retryRes.status} ${retryRes.statusText}`, retryRes.status, rewrittenUrl);
282
+ const detail = extractApiError(await readResponseText(retryRes));
283
+ throw new BpsApiError(detail ?? `HTTP ${retryRes.status} ${retryRes.statusText} (proxied after parse failure)`, retryRes.status, rewrittenUrl);
187
284
  }
188
285
  try {
189
- json = await retryRes.json();
286
+ json = JSON.parse(await readResponseText(retryRes));
190
287
  }
191
288
  catch (retryParseError) {
192
289
  throw new BpsApiError(`Failed to parse proxied BPS response as JSON: ${retryParseError instanceof Error ? retryParseError.message : String(retryParseError)}`, retryRes.status, rewrittenUrl);
@@ -198,6 +295,9 @@ export class BpsClient {
198
295
  }
199
296
  // BPS API returns status field - check for errors
200
297
  const apiResponse = json;
298
+ if (typeof apiResponse.status === "string" && /^error$/i.test(apiResponse.status)) {
299
+ throw new BpsApiError(String(apiResponse.message ?? "BPS API returned an error"), res.status, url);
300
+ }
201
301
  if (apiResponse.status === "400" || apiResponse["data-availability"] === "list-not-available") {
202
302
  throw new BpsNotFoundError(cacheKey);
203
303
  }
@@ -261,10 +361,26 @@ export class BpsClient {
261
361
  return this.extractPaginated(res);
262
362
  }
263
363
  // ========== Subjects ==========
264
- async listSubjects(domain, subcat) {
265
- const res = await this.listRequest(MODELS.SUBJECT, { domain, subcat }, 24 * 60 * 60);
364
+ async listSubjects(domain, subcat, page) {
365
+ const res = await this.listRequest(MODELS.SUBJECT, { domain, subcat, page }, 24 * 60 * 60);
266
366
  return this.extractPaginated(res);
267
367
  }
368
+ /**
369
+ * Fetch every subject page. The API returns 10 items per page, so a single
370
+ * `listSubjects()` call only exposes a fraction of the national subjects.
371
+ */
372
+ async listAllSubjects(domain, subcat) {
373
+ const first = await this.listSubjects(domain, subcat, 1);
374
+ const all = [...first.data];
375
+ const pages = Math.min(first.page?.pages ?? 1, 20);
376
+ for (let page = 2; page <= pages; page++) {
377
+ const next = await this.listSubjects(domain, subcat, page);
378
+ if (next.data.length === 0)
379
+ break;
380
+ all.push(...next.data);
381
+ }
382
+ return dedupeBy(all, (s) => String(s.sub_id));
383
+ }
268
384
  async listSubjectCategories(domain) {
269
385
  const res = await this.listRequest(MODELS.SUBJECT_CATEGORY, { domain }, 24 * 60 * 60);
270
386
  const result = this.extractPaginated(res);
@@ -275,6 +391,19 @@ export class BpsClient {
275
391
  const res = await this.listRequest(MODELS.VARIABLE, { domain, subject, year, page, perpage: perPage }, 12 * 60 * 60);
276
392
  return this.extractPaginated(res);
277
393
  }
394
+ /** Fetch up to `maxPages` variable pages for one subject (API caps at 10/page). */
395
+ async listAllVariables(domain, subject, year, maxPages = 10) {
396
+ const first = await this.listVariables(domain, subject, year, 1, 100);
397
+ const all = [...first.data];
398
+ const pages = Math.min(first.page?.pages ?? 1, maxPages);
399
+ for (let page = 2; page <= pages; page++) {
400
+ const next = await this.listVariables(domain, subject, year, page, 100);
401
+ if (next.data.length === 0)
402
+ break;
403
+ all.push(...next.data);
404
+ }
405
+ return dedupeBy(all, (v) => String(v.var_id));
406
+ }
278
407
  async listVerticalVariables(domain, varId) {
279
408
  const res = await this.listRequest(MODELS.VERTICAL_VARIABLE, { domain, var: varId }, 12 * 60 * 60);
280
409
  return this.extractPaginated(res).data;
@@ -283,21 +412,71 @@ export class BpsClient {
283
412
  const res = await this.listRequest(MODELS.DERIVED_VARIABLE, { domain, var: varId }, 12 * 60 * 60);
284
413
  return this.extractPaginated(res).data;
285
414
  }
286
- async listPeriods(domain, varId) {
287
- const res = await this.listRequest(MODELS.PERIOD, { domain, var: varId }, 12 * 60 * 60);
415
+ async listPeriods(domain, varId, page) {
416
+ const res = await this.listRequest(MODELS.PERIOD, { domain, var: varId, page }, 12 * 60 * 60);
288
417
  return this.extractPaginated(res).data;
289
418
  }
419
+ /** Fetch every period page (important for long historical ranges). */
420
+ async listAllPeriods(domain, varId, maxPages = 10) {
421
+ const firstPage = await this.listRequest(MODELS.PERIOD, { domain, var: varId, page: 1 }, 12 * 60 * 60);
422
+ const first = this.extractPaginated(firstPage);
423
+ const all = [...first.data];
424
+ if (all.length === 0)
425
+ return all;
426
+ const pages = Math.min(first.page?.pages ?? 1, maxPages);
427
+ for (let page = 2; page <= pages; page++) {
428
+ const next = await this.listPeriods(domain, varId, page);
429
+ if (next.length === 0)
430
+ break;
431
+ all.push(...next);
432
+ }
433
+ return dedupeBy(all, (p) => String(p.th_id ?? p.val ?? p.th ?? p.label ?? ""));
434
+ }
290
435
  async listDerivedPeriods(domain, varId) {
291
436
  const res = await this.listRequest(MODELS.DERIVED_PERIOD, { domain, var: varId }, 12 * 60 * 60);
292
437
  return this.extractPaginated(res).data;
293
438
  }
294
- async listUnits(domain) {
295
- const res = await this.listRequest(MODELS.UNIT, { domain }, 24 * 60 * 60);
439
+ async listUnits(domain, page) {
440
+ const res = await this.listRequest(MODELS.UNIT, { domain, page }, 24 * 60 * 60);
296
441
  return this.extractPaginated(res).data;
297
442
  }
298
443
  // ========== Dynamic Data ==========
299
444
  async getDynamicData(domain, varId, th, turvar, vervar, turth) {
300
- return this.listRequest(MODELS.DATA, { domain, var: varId, th, turvar, vervar, turth }, 60 * 60);
445
+ const normalizedVar = normalizePathParam("var", varId);
446
+ const normalizedTh = th ? normalizePathParam("th", th) : undefined;
447
+ const periods = normalizedTh ? normalizedTh.split(";").filter(Boolean) : [];
448
+ // The API rejects more than 3 periods in one request. Split and merge.
449
+ if (periods.length <= MAX_PERIODS_PER_REQUEST) {
450
+ return this.listRequest(MODELS.DATA, { domain, var: normalizedVar, th: normalizedTh, turvar, vervar, turth }, 60 * 60);
451
+ }
452
+ let merged = null;
453
+ let lastError = null;
454
+ for (let index = 0; index < periods.length; index += MAX_PERIODS_PER_REQUEST) {
455
+ const chunk = periods.slice(index, index + MAX_PERIODS_PER_REQUEST).join(";");
456
+ try {
457
+ const response = await this.listRequest(MODELS.DATA, { domain, var: normalizedVar, th: chunk, turvar, vervar, turth }, 60 * 60);
458
+ if (!merged) {
459
+ merged = response;
460
+ }
461
+ else {
462
+ mergeDynamicData(merged, response);
463
+ }
464
+ }
465
+ catch (error) {
466
+ // A missing period should not discard the other chunks.
467
+ if (error instanceof BpsNotFoundError) {
468
+ lastError = error;
469
+ continue;
470
+ }
471
+ throw error;
472
+ }
473
+ }
474
+ if (!merged) {
475
+ if (lastError instanceof Error)
476
+ throw lastError;
477
+ throw new BpsNotFoundError(`data:${domain}:${normalizedVar}`);
478
+ }
479
+ return merged;
301
480
  }
302
481
  // ========== Static Tables ==========
303
482
  async listStaticTables(domain, keyword, year, month, page) {
@@ -375,8 +554,8 @@ export class BpsClient {
375
554
  const res = await this.listRequest(MODELS.CSA_SUBJECT_CATEGORY, { domain }, 24 * 60 * 60);
376
555
  return this.extractPaginated(res).data;
377
556
  }
378
- async listCsaSubjects(domain, subcat) {
379
- const res = await this.listRequest(MODELS.CSA_SUBJECT, { domain, subcat }, 24 * 60 * 60);
557
+ async listCsaSubjects(domain, subcat, page) {
558
+ const res = await this.listRequest(MODELS.CSA_SUBJECT, { domain, subcat, page }, 24 * 60 * 60);
380
559
  return this.extractPaginated(res);
381
560
  }
382
561
  async listCsaTables(domain, subject, page) {
@@ -385,7 +564,20 @@ export class BpsClient {
385
564
  }
386
565
  async getCsaTable(domain, id) {
387
566
  const res = await this.viewRequest(MODELS.CSA_TABLE, { domain, id }, 6 * 60 * 60);
388
- return res.data;
567
+ // Older responses expose a pre-rendered HTML table.
568
+ if (res.data)
569
+ return res.data;
570
+ // Current CSA view returns a dynamic table (metadata + empty datacontent).
571
+ // Resolve its variable, pick the latest period, then use the data endpoint.
572
+ const varId = getVariableId(res.var?.[0]);
573
+ if (!varId) {
574
+ throw new BpsApiError("Tabel CSA tidak memiliki metadata variabel yang bisa dibaca", 502, id);
575
+ }
576
+ const periods = await this.listPeriods(domain, Number(varId), 1);
577
+ const periodId = periods[0] ? getPeriodId(periods[0]) : undefined;
578
+ const data = await this.getDynamicData(domain, varId, periodId || undefined);
579
+ data.var = data.var ?? res.var;
580
+ return data;
389
581
  }
390
582
  // ========== Census (Sensus) via Interoperabilitas ==========
391
583
  async listCensusEvents() {
@@ -1 +1 @@
1
- {"version":3,"file":"bps-client.js","sourceRoot":"","sources":["../../src/client/bps-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bps-client.js","sourceRoot":"","sources":["../../src/client/bps-client.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,MAAM,GACP,MAAM,gBAAgB,CAAC;AA8BxB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzD,0EAA0E;AAC1E,MAAM,UAAU,GACd,uGAAuG,CAAC;AAE1G,4CAA4C;AAC5C,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC,kDAAkD;AAClD,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,yDAAyD;AACzD,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,iEAAiE;AACjE,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAElC,gFAAgF;AAChF,KAAK,UAAU,gBAAgB,CAAC,GAAa;IAC3C,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACtD,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,qEAAqE;AACrE,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;QAC3D,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAChE,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAA4B,CAAC;YACnD,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;gBAAE,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC1F,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACvE,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED,SAAS,QAAQ,CAAI,KAAU,EAAE,KAA0B;IACzD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QACpC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAClB,MAAW,EACX,MAAuB,EACvB,KAA0B;IAE1B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QACpC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,MAA8B,EAC9B,MAA8B;IAE9B,IAAI,CAAC,MAAM,CAAC,WAAW;QAAE,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;IACjD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IAE5D,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IAC9B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACpC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IAClC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACpC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IAExC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAK,CAAwC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IACpH,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IACxG,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IACvG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IACxG,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAEnH,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC;IAC9D,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC;IACjE,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,WAAW,EAAE,CAAC;QAChD,MAAM,CAAC,mBAAmB,CAAC,GAAG,WAAW,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO;QAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AACzE,CAAC;AAED,MAAM,OAAO,SAAS;IASD;IACA;IATF,OAAO,CAAS;IAChB,WAAW,CAAS;IACpB,aAAa,CAAS;IAEvC,sEAAsE;IACrD,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEhE,YACmB,IAAmB,EACnB,KAA4B,EAC7C,MAAc;QAFG,SAAI,GAAJ,IAAI,CAAe;QACnB,UAAK,GAAL,KAAK,CAAuB;QAG7C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,SAAS,CAAI,GAAW,EAAE,QAAgB,EAAE,GAAY;QACpE,cAAc;QACd,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC;oBACH,MAAM,CAAC,KAAK,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;oBACvC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAM,CAAC;gBACjC,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,IAAI,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;oBACzD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAED,yDAAyD;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YACvC,OAAO,QAAsB,CAAC;QAChC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAI,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAI,GAAW,EAAE,QAAgB,EAAE,GAAY;QACzE,IAAI,SAAkB,CAAC;QAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAI,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,CAAC;gBAElB,iEAAiE;gBACjE,MAAM,MAAM,GAAG,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3E,MAAM,WAAW,GACf,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC;gBAE9E,IAAI,CAAC,WAAW,IAAI,OAAO,KAAK,WAAW,GAAG,CAAC,EAAE,CAAC;oBAChD,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,KAAK,GAAG;oBAC1B,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC;oBAC9B,CAAC,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,aAAa,OAAO,GAAG,CAAC,IAAI,WAAW,WAAW,KAAK,OAAO,GAAG,EAAE,CAAC,CAAC;gBACjF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,MAAM,SAAS,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,OAAO,CAAI,GAAW,EAAE,QAAgB,EAAE,GAAY;QAClE,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;QAEjC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAEjD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAEvE,IAAI,GAAa,CAAC;QAClB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBACrB,OAAO,EAAE;oBACP,MAAM,EAAE,kBAAkB;oBAC1B,YAAY,EAAE,UAAU;oBACxB,GAAG,WAAW;iBACf;gBACD,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACjE,MAAM,IAAI,WAAW,CAAC,yBAAyB,gBAAgB,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACjF,CAAC;YAED,+CAA+C;YAC/C,IAAI,GAAG,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;oBAC7E,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,MAAM,SAAS,GAAG,iCAAiC,CAAC;gBACpD,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;gBAC3E,MAAM,CAAC,IAAI,CAAC,gCAAgC,KAAK,0BAA0B,YAAY,EAAE,CAAC,CAAC;gBAE3F,GAAG,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE;oBAC9B,OAAO,EAAE;wBACP,MAAM,EAAE,kBAAkB;wBAC1B,YAAY,EAAE,UAAU;wBACxB,GAAG,WAAW;qBACf;oBACD,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACnI,IAAI,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC;oBACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;oBAC7E,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,MAAM,SAAS,GAAG,iCAAiC,CAAC;gBACpD,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;gBAC3E,MAAM,CAAC,IAAI,CAAC,4CAA4C,GAAG,CAAC,MAAM,0BAA0B,YAAY,EAAE,CAAC,CAAC;gBAE5G,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE;oBACzC,OAAO,EAAE;wBACP,MAAM,EAAE,kBAAkB;wBAC1B,YAAY,EAAE,UAAU;wBACxB,GAAG,WAAW;qBACf;oBACD,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACvD,MAAM,IAAI,YAAY,EAAE,CAAC;gBAC3B,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACjE,MAAM,IAAI,WAAW,CACnB,MAAM,IAAI,QAAQ,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,YAAY,EACpE,QAAQ,CAAC,MAAM,EACf,YAAY,CACb,CAAC;gBACJ,CAAC;gBACD,GAAG,GAAG,QAAQ,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,YAAY,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC9B,MAAM,IAAI,YAAY,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5D,MAAM,IAAI,WAAW,CACnB,MAAM,IAAI,QAAQ,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,EAChD,GAAG,CAAC,MAAM,EACV,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,IAAI,IAAO,CAAC;QACZ,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAM,CAAC;QACtD,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,IAAI,GAAG,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;oBAC7E,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,MAAM,SAAS,GAAG,iCAAiC,CAAC;gBACpD,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;gBAC3E,MAAM,CAAC,IAAI,CAAC,sFAAsF,YAAY,EAAE,CAAC,CAAC;gBAElH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE;oBACzC,OAAO,EAAE;wBACP,MAAM,EAAE,kBAAkB;wBAC1B,YAAY,EAAE,UAAU;wBACxB,GAAG,WAAW;qBACf;oBACD,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACjE,MAAM,IAAI,WAAW,CACnB,MAAM,IAAI,QAAQ,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,gCAAgC,EACxF,QAAQ,CAAC,MAAM,EACf,YAAY,CACb,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC;oBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAM,CAAC;gBAC3D,CAAC;gBAAC,OAAO,eAAe,EAAE,CAAC;oBACzB,MAAM,IAAI,WAAW,CACnB,iDAAiD,eAAe,YAAY,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,EACvI,QAAQ,CAAC,MAAM,EACf,YAAY,CACb,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,WAAW,CACnB,6CAA6C,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EACpH,GAAG,CAAC,MAAM,EACV,GAAG,CACJ,CAAC;YACJ,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,MAAM,WAAW,GAAG,IAA+B,CAAC;QACpD,IAAI,OAAO,WAAW,CAAC,MAAM,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAClF,MAAM,IAAI,WAAW,CACnB,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,2BAA2B,CAAC,EAC1D,GAAG,CAAC,MAAM,EACV,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,KAAK,KAAK,IAAI,WAAW,CAAC,mBAAmB,CAAC,KAAK,oBAAoB,EAAE,CAAC;YAC9F,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,eAAe;QACf,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CACvB,KAAa,EACb,MAAmD,EACnD,GAAY;QAEZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,UAAU,GAAgD;YAC9D,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa;YAC3C,GAAG,MAAM;YACT,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW;SACtC,CAAC;QACF,MAAM,SAAS,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,EAAE,CAAC;QAE7C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,QAAQ,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC,SAAS,CAAI,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CACvB,KAAa,EACb,MAAmD,EACnD,GAAY;QAEZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,UAAU,GAAgD;YAC9D,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa;YAC3C,GAAG,MAAM;YACT,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW;SACtC,CAAC;QACF,MAAM,SAAS,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,EAAE,CAAC;QAE7C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,QAAQ,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC,SAAS,CAAI,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAEO,gBAAgB,CAAI,GAA8B;QACxD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACjH,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,CAAC;QACD,0DAA0D;QAC1D,OAAO,EAAE,IAAI,EAAG,GAAG,CAAC,IAAuB,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC;IAED,+BAA+B;IAE/B,KAAK,CAAC,WAAW,CACf,OAA6C,KAAK,EAClD,MAAe;QAEf,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QAClE,MAAM,MAAM,GAAgD;YAC1D,GAAG,UAAU;YACb,GAAG,IAAI;SACR,CAAC;QAEF,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,UAAU,IAAI,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACrD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAoC,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACjG,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,iCAAiC;IAEjC,KAAK,CAAC,YAAY,CAChB,MAAe,EACf,MAAe,EACf,IAAa;QAEb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,OAAO,EACd,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EACxB,EAAE,GAAG,EAAE,GAAG,EAAE,CACb,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,MAAe,EAAE,MAAe;QACpD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACnD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAC3D,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAClC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAAe;QACzC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,gBAAgB,EACvB,EAAE,MAAM,EAAE,EACV,EAAE,GAAG,EAAE,GAAG,EAAE,CACb,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,kCAAkC;IAElC,KAAK,CAAC,aAAa,CACjB,MAAe,EACf,OAAgB,EAChB,IAAa,EACb,IAAa,EACb,OAAgB;QAEhB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,QAAQ,EACf,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EACjD,EAAE,GAAG,EAAE,GAAG,EAAE,CACb,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,gBAAgB,CACpB,MAAe,EACf,OAAgB,EAChB,IAAa,EACb,QAAQ,GAAG,EAAE;QAEb,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACtE,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;QACzD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACxE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAClC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAAe,EAAE,KAAc;QACzD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,iBAAiB,EACxB,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EACtB,EAAE,GAAG,EAAE,GAAG,EAAE,CACb,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAAe,EAAE,KAAc;QACxD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,gBAAgB,EACvB,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EACtB,EAAE,GAAG,EAAE,GAAG,EAAE,CACb,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAe,EAAE,KAAc,EAAE,IAAa;QAC9D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,MAAM,EACb,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAC5B,EAAE,GAAG,EAAE,GAAG,EAAE,CACb,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,sEAAsE;IACtE,KAAK,CAAC,cAAc,CAAC,MAAe,EAAE,KAAc,EAAE,QAAQ,GAAG,EAAE;QACjE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CACtC,MAAM,CAAC,MAAM,EACb,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,EAC/B,EAAE,GAAG,EAAE,GAAG,EAAE,CACb,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC;QAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;QACzD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAC7B,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAe,EAAE,KAAc;QACtD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,cAAc,EACrB,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EACtB,EAAE,GAAG,EAAE,GAAG,EAAE,CACb,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAe,EAAE,IAAa;QAC5C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,IAAI,EACX,EAAE,MAAM,EAAE,IAAI,EAAE,EAChB,EAAE,GAAG,EAAE,GAAG,EAAE,CACb,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,qCAAqC;IAErC,KAAK,CAAC,cAAc,CAClB,MAAc,EACd,KAAa,EACb,EAAW,EACX,MAAe,EACf,MAAe,EACf,KAAc;QAEd,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5E,uEAAuE;QACvE,IAAI,OAAO,CAAC,MAAM,IAAI,uBAAuB,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,WAAW,CACrB,MAAM,CAAC,IAAI,EACX,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EACvE,EAAE,GAAG,EAAE,CACR,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,GAAkC,IAAI,CAAC;QACjD,IAAI,SAAS,GAAY,IAAI,CAAC;QAE9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,uBAAuB,EAAE,CAAC;YAC7E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,uBAAuB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9E,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,CAAC,IAAI,EACX,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAChE,EAAE,GAAG,EAAE,CACR,CAAC;gBACF,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,GAAG,QAAQ,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACN,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wDAAwD;gBACxD,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;oBACtC,SAAS,GAAG,KAAK,CAAC;oBAClB,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,SAAS,YAAY,KAAK;gBAAE,MAAM,SAAS,CAAC;YAChD,MAAM,IAAI,gBAAgB,CAAC,QAAQ,MAAM,IAAI,aAAa,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sCAAsC;IAEtC,KAAK,CAAC,gBAAgB,CACpB,MAAe,EACf,OAAgB,EAChB,IAAa,EACb,KAAc,EACd,IAAa;QAEb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,YAAY,EACnB,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EACtC,CAAC,GAAG,EAAE,GAAG,EAAE,CACZ,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,EAAU;QAC7C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,YAAY,EACnB,EAAE,MAAM,EAAE,EAAE,EAAE,EACd,CAAC,GAAG,EAAE,GAAG,EAAE,CACZ,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,uCAAuC;IAEvC,KAAK,CAAC,iBAAiB,CACrB,MAAe,EACf,OAAgB,EAChB,IAAa,EACb,KAAc,EACd,IAAa;QAEb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,aAAa,EACpB,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EACtC,EAAE,GAAG,EAAE,CACR,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,EAAU;QAC9C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,aAAa,EACpB,EAAE,MAAM,EAAE,EAAE,EAAE,EACd,EAAE,GAAG,EAAE,CACR,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,qCAAqC;IAErC,KAAK,CAAC,gBAAgB,CACpB,MAAe,EACf,OAAgB,EAChB,IAAa,EACb,KAAc,EACd,IAAa;QAEb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,WAAW,EAClB,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EACtC,CAAC,GAAG,EAAE,GAAG,EAAE,CACZ,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,EAAU;QAC7C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,WAAW,EAClB,EAAE,MAAM,EAAE,EAAE,EAAE,EACd,CAAC,GAAG,EAAE,GAAG,EAAE,CACZ,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,6CAA6C;IAE7C,KAAK,CAAC,uBAAuB,CAC3B,MAAe,EACf,KAAc,EACd,IAAa;QAEb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,mBAAmB,EAC1B,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAC5B,EAAE,GAAG,EAAE,CACR,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,8BAA8B;IAE9B,KAAK,CAAC,YAAY,CAChB,MAAa,EACb,MAAc,EACd,MAAc,EACd,IAAY,EACZ,MAAc;QAEd,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,MAAM,GAAgD;YAC1D,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,GAAG,IAAI;SACR,CAAC;QAEF,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,SAAS,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,qCAAqC;IAErC,KAAK,CAAC,gBAAgB,CACpB,MAAe,EACf,OAAgB,EAChB,IAAa;QAEb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,WAAW,EAClB,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EACzB,CAAC,GAAG,EAAE,GAAG,EAAE,CACZ,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,EAAU;QAC7C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,WAAW,EAClB,EAAE,MAAM,EAAE,EAAE,EAAE,EACd,CAAC,GAAG,EAAE,GAAG,EAAE,CACZ,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,6BAA6B;IAE7B,KAAK,CAAC,QAAQ,CACZ,MAAe,EACf,OAAgB,EAChB,IAAa;QAEb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,IAAI,EACX,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EACzB,EAAE,GAAG,EAAE,CACR,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,EAAU;QACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,IAAI,EACX,EAAE,MAAM,EAAE,EAAE,EAAE,EACd,EAAE,GAAG,EAAE,CACR,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,6CAA6C;IAE7C,KAAK,CAAC,YAAY,CAChB,MAAe,EACf,OAAgB,EAChB,IAAa;QAEb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,QAAQ,EACf,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EACzB,EAAE,GAAG,EAAE,GAAG,EAAE,CACb,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,uEAAuE;IAEvE,KAAK,CAAC,wBAAwB,CAAC,MAAe;QAC5C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,oBAAoB,EAC3B,EAAE,MAAM,EAAE,EACV,EAAE,GAAG,EAAE,GAAG,EAAE,CACb,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAAe,EACf,MAAe,EACf,IAAa;QAEb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,WAAW,EAClB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EACxB,EAAE,GAAG,EAAE,GAAG,EAAE,CACb,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,MAAe,EACf,OAAgB,EAChB,IAAa;QAEb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,MAAM,CAAC,SAAS,EAChB,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EACzB,CAAC,GAAG,EAAE,GAAG,EAAE,CACZ,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAAc,EACd,EAAU;QAEV,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAKhC,MAAM,CAAC,SAAS,EAChB,EAAE,MAAM,EAAE,EAAE,EAAE,EACd,CAAC,GAAG,EAAE,GAAG,EAAE,CACZ,CAAC;QAEF,oDAAoD;QACpD,IAAI,GAAG,CAAC,IAAI;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC;QAE9B,2EAA2E;QAC3E,4EAA4E;QAC5E,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,WAAW,CAAC,6DAA6D,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,IAAI,SAAS,CAAC,CAAC;QAC7E,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8DAA8D;IAE9D,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,eAAe,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAyC,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACtG,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QACnF,MAAM,QAAQ,GAAG,iBAAiB,QAAQ,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAyC,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACtG,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,+BAA+B;IAE/B,KAAK,CAAC,MAAM,CACV,MAAc,EACd,OAAe,EACf,KAAc,EACd,IAAa;QAEb,MAAM,SAAS,GAAG,KAAK,IAAI,MAAM,CAAC,YAAY,CAAC;QAC/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,SAAS,EACT,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EACzB,EAAE,GAAG,EAAE,CACR,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;CACF"}
@@ -12,6 +12,13 @@
12
12
  * Path params are inserted into the URL path. Remaining params (page, keyword, etc.)
13
13
  * become query string parameters.
14
14
  */
15
+ export declare function normalizePathParam(key: string, value: string | number): string;
16
+ /**
17
+ * Encode a path segment while leaving the BPS multi-value (`;`) and range (`:`)
18
+ * separators intact. `encodeURIComponent` would turn them into `%3B`/`%3A`,
19
+ * which the API does not accept.
20
+ */
21
+ export declare function encodePathValue(value: string | number): string;
15
22
  /**
16
23
  * Build a list URL: /api/list/model/{model}/param1/val1/.../key/{key}/?queryparams
17
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../src/client/endpoints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GAClD,MAAM,CAsBR;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GAClD,MAAM,CAqBR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GAClD,MAAM,CAUR;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GAClD,MAAM,CAqBR;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GAClD,MAAM,CAqBR;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;CA4CT,CAAC"}
1
+ {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../src/client/endpoints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA8BH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAS9E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAI9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GAClD,MAAM,CAsBR;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GAClD,MAAM,CAqBR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GAClD,MAAM,CAUR;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GAClD,MAAM,CAqBR;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GAClD,MAAM,CAqBR;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;CA4CT,CAAC"}
@@ -18,6 +18,44 @@ const PATH_PARAMS = new Set(["domain", "key", "lang", "id", "var", "th", "turvar
18
18
  const TRADE_PATH_PARAMS = new Set(["sumber", "kodehs", "jenishs", "tahun", "periode", "lang", "key"]);
19
19
  /** Parameters that go into the URL path for interoperabilitas endpoints */
20
20
  const INTEROP_PATH_PARAMS = new Set(["datasource", "id", "kegiatan", "topik", "wilayah", "key"]);
21
+ /**
22
+ * BPS accepts multiple values separated by semicolons (not commas) and ranges
23
+ * with colons. Users naturally type commas, so normalize them before building
24
+ * the path. See the API error: "'th' parameter is required (integer),
25
+ * separated by colon (:) for range or semicolon (;) for multiple values".
26
+ */
27
+ const MULTI_VALUE_PARAMS = new Set([
28
+ "var",
29
+ "th",
30
+ "turvar",
31
+ "vervar",
32
+ "turth",
33
+ "subject",
34
+ "subcat",
35
+ "kegiatan",
36
+ "topik",
37
+ "wilayah",
38
+ ]);
39
+ export function normalizePathParam(key, value) {
40
+ let normalized = String(value).trim();
41
+ if (MULTI_VALUE_PARAMS.has(key)) {
42
+ normalized = normalized
43
+ .replace(/\s*[,;]\s*/g, ";")
44
+ .replace(/;+/g, ";")
45
+ .replace(/^;|;$/g, "");
46
+ }
47
+ return normalized;
48
+ }
49
+ /**
50
+ * Encode a path segment while leaving the BPS multi-value (`;`) and range (`:`)
51
+ * separators intact. `encodeURIComponent` would turn them into `%3B`/`%3A`,
52
+ * which the API does not accept.
53
+ */
54
+ export function encodePathValue(value) {
55
+ return encodeURIComponent(String(value))
56
+ .replace(/%3B/gi, ";")
57
+ .replace(/%3A/gi, ":");
58
+ }
21
59
  /**
22
60
  * Build a list URL: /api/list/model/{model}/param1/val1/.../key/{key}/?queryparams
23
61
  */
@@ -28,7 +66,7 @@ export function buildListUrl(baseUrl, model, params) {
28
66
  if (value === undefined || value === "")
29
67
  continue;
30
68
  if (PATH_PARAMS.has(key)) {
31
- path += `/${key}/${encodeURIComponent(String(value))}`;
69
+ path += `/${key}/${encodePathValue(normalizePathParam(key, value))}`;
32
70
  }
33
71
  else {
34
72
  queryParams[key] = String(value);
@@ -53,7 +91,7 @@ export function buildViewUrl(baseUrl, model, params) {
53
91
  if (value === undefined || value === "")
54
92
  continue;
55
93
  if (PATH_PARAMS.has(key)) {
56
- path += `/${key}/${encodeURIComponent(String(value))}`;
94
+ path += `/${key}/${encodePathValue(normalizePathParam(key, value))}`;
57
95
  }
58
96
  else {
59
97
  queryParams[key] = String(value);
@@ -75,7 +113,7 @@ export function buildDomainUrl(baseUrl, params) {
75
113
  for (const [key, value] of Object.entries(params)) {
76
114
  if (value === undefined || value === "")
77
115
  continue;
78
- path += `/${key}/${encodeURIComponent(String(value))}`;
116
+ path += `/${key}/${encodePathValue(normalizePathParam(key, value))}`;
79
117
  }
80
118
  if (!path.endsWith("/"))
81
119
  path += "/";
@@ -91,7 +129,7 @@ export function buildTradeUrl(baseUrl, params) {
91
129
  if (value === undefined || value === "")
92
130
  continue;
93
131
  if (TRADE_PATH_PARAMS.has(key)) {
94
- path += `/${key}/${encodeURIComponent(String(value))}`;
132
+ path += `/${key}/${encodePathValue(normalizePathParam(key, value))}`;
95
133
  }
96
134
  else {
97
135
  queryParams[key] = String(value);
@@ -115,7 +153,7 @@ export function buildInteropUrl(baseUrl, datasource, params) {
115
153
  if (value === undefined || value === "")
116
154
  continue;
117
155
  if (INTEROP_PATH_PARAMS.has(key)) {
118
- path += `/${key}/${encodeURIComponent(String(value))}`;
156
+ path += `/${key}/${encodePathValue(normalizePathParam(key, value))}`;
119
157
  }
120
158
  else {
121
159
  queryParams[key] = String(value);
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../src/client/endpoints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../src/client/endpoints.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * BPS WebAPI returns two different metadata shapes:
3
+ *
4
+ * - List endpoints (var, vervar, th, turth, ...) use fields such as
5
+ * `th_id`/`th`, `kode_ver_id`/`vervar`, `turth_id`/`turth`.
6
+ * - The dynamic-data endpoint returns the same metadata as `{ val, label }`.
7
+ *
8
+ * These helpers normalize both shapes so tools and formatters don't have to
9
+ * guess (and don't print "undefined" when the schema differs).
10
+ */
11
+ export declare function getVariableId(variable: unknown): string;
12
+ export declare function getVariableTitle(variable: unknown): string;
13
+ export declare function getVariableUnit(variable: unknown): string | undefined;
14
+ export declare function getVervarId(vervar: unknown): string;
15
+ export declare function getVervarLabel(vervar: unknown): string;
16
+ export declare function getVervarGroup(vervar: unknown): string;
17
+ export declare function getTurvarId(turvar: unknown): string;
18
+ export declare function getTurvarLabel(turvar: unknown): string;
19
+ export declare function getTurvarGroup(turvar: unknown): string;
20
+ export declare function getPeriodId(period: unknown): string;
21
+ export declare function getPeriodLabel(period: unknown): string;
22
+ export declare function getTurthId(turth: unknown): string;
23
+ export declare function getTurthLabel(turth: unknown): string;
24
+ export declare function isNeutralPeriodLabel(label: string | undefined): boolean;
25
+ /** Format an indicator unit for display, hiding BPS' literal "null". */
26
+ export declare function formatUnit(unit: string | null | undefined): string;
27
+ //# sourceMappingURL=fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/client/fields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAiBH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAGvD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAG1D;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CASrE;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGnD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGtD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGtD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGnD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGtD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGtD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGnD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGtD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGjD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGpD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAUvE;AAED,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAKlE"}